MySQL 自动化部署( 5.7 & 8.0版)

云掣YunChe2个月前技术文章174

一、脚本环境说明

系统:CentOS

MySQL:仅支持 5.7 & 8.0

脚本默认安装路径 /usr/local/mysql

脚本默认数据路径 /data/mysql*(脚本会根据版本确定安装名 5.7 就是 mysql57)

参数相关:脚本会根据系统配置自适应部分重要参数 连接数默认 1000

参数相关:默认双一、GTID、Slowlog、binlog 保存 10 天

环境依赖:CentOS 默认会有 Python 2.7 不需要第三方模块

注意事项:脚本需要通过二进制压缩包的名称来判断是 5.7 or 8.0 所以不要自行修改压缩包的名称

二、脚本参数说明

脚本可以指定 安装路径、数据路径、默认端口 三个比较重要的参数,如果有需要可以自行指定,也可以选择不指定,将会按照脚本的默认路径安装。

[root@172-16-104-56 test01]# python mysql_install.py -h
usage: mysql_install.py [-h] [--path PATH] [--port PORT] [--datadir DATADIR]
                        [--basedir BASEDIR]

optional arguments:
  -h, --help            show this help message and exit
  --path PATH, -p PATH  MySQL binary installation package path.
  --port PORT           Install the port specified by MySQL, Default: 3306
  --datadir DATADIR, -d DATADIR
                        Data directory, default to /data
  --basedir BASEDIR, -b BASEDIR
                        Base directory, default to /usr/local
-h: 输出 help
-path & -p 就是 MySQL 安装包的路径(必须输入)
-datadir & -d 就是 MySQL 数据路径 默认:/data
-basedir & -b 就是 MySQL 安装路径 默认:/usr/local
-port 就是 MySQL 的端口 默认:3306

安装示例:

python MySQL_install.py --datadir=/data/mysql_db --basedir=/usr/local --path=mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz

三、安装步骤

第一步需要从官方文档下载标准 MySQL GA 版本安装包 MySQL 官方安装包存档

👉 点击链接 👈 下载 mysql_install.py 自动化脚本

Snipaste_2021-01-12_17-41-18.png

安装依赖包

yum install libaio

服务器上创建一个 /myinstall 临时文件夹

mkdir /myinstall

将本地的 MySQL 安装包 和 mysql_install.py 上传到服务器:

截屏2021-01-12 下午5.47.34.png

运行脚本执行即可:

 python mysql_install.py -p=mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz

Snipaste_2021-02-07_11-34-45.png

此时脚本已经执行完成,登陆数据库的命令已经打印出来,回车退出程序,使用命令登陆数据:

Snipaste_2021-02-07_11-35-51.png

使用自动生成的密码登陆数据库什么也做不了,需要修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'YouPassword';


添加环境变量:

-- 如果安装目录不在 /usr/local/mysql 先建一个软连接 
-- ln -s /安装目录 /usr/local/mysql
export PATH=$PATH:/usr/local/mysql/bin/
echo 'PATH=$PATH:/usr/local/mysql/bin/' >> /etc/profile


四、常用命令

mysql 关闭

mysqladmin -uroot -pYouPassword shutdown

mysql 启动

/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &

五、MySQL 启停配置

cp -ar /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld

MySQL 有自带启动脚本,在 mysql/support-files 下的 mysql.server 我们只需要将它拷贝到 /etc/init.d 就可以使用 service 命令启停 MySQL:

carbon.png

如果有需求,可以添加开机自启:

chkconfig --add mysqld


相关文章

Datanode节点坏卷处理

Datanode节点坏卷处理

1、告知客户故障信息,确定是否有备用磁盘更换2、停止故障节点的所有角色服务3、卸载故障磁盘umount -vl /data64、等待硬件厂商更换好磁盘5、对新磁盘分区和格式化#1.磁盘分区 mkfs...

OSS bucket权限设置

OSS bucket权限设置

问题描述调用oss的bucket资源,开始的时候可以访问,过几分钟再访问的时候,就提示拒绝访问问题原因是因为相应的bucket权限为私有,私有权限在访问文件对象时,是存在鉴权URL,存在时间有效性,所...

GET和POST请求的区别

GET和POST请求的区别GET请求GET /books/?sex=man&name=Professional HTTP/1.1 Host: www.wrox.com User-Agent...

Python 类型注解和参数类型检查

1、类型注解1.1 函数定义的弊端Python 是动态语言,变量随时可以被赋值,且能赋值为不同的类型。Python 不是静态编译型语言,变量类型是在运行期决定的。动态语言很灵活,但是这种特性也是弊端。...

CDH配置impala自动同步HMS元数据

CDH配置impala自动同步HMS元数据

1、进入CM界面 > Hive > 配置 > 搜索 启用数据库中的存储通知(英文界面搜索:Enable Stored Notifications in Database),并且勾选,...

一条sql 在MySQL中是如何执行的

在 MySQL 中,SQL 查询的执行涉及多个内存区域和处理步骤,以确保查询能够高效地执行和返回结果。以下是 SQL 查询在 MySQL 中执行时通常会经过的内存路径:    &n...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。