MySQL 自动化部署( 5.7 & 8.0版)
一、脚本环境说明
系统: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 自动化脚本
安装依赖包
yum install libaio
服务器上创建一个 /myinstall 临时文件夹
mkdir /myinstall
将本地的 MySQL 安装包 和 mysql_install.py 上传到服务器:
运行脚本执行即可:
python mysql_install.py -p=mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz
此时脚本已经执行完成,登陆数据库的命令已经打印出来,回车退出程序,使用命令登陆数据:
使用自动生成的密码登陆数据库什么也做不了,需要修改密码:
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:
如果有需求,可以添加开机自启:
chkconfig --add mysqld