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

云掣YunChe9个月前技术文章1144

一、脚本环境说明

系统: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


相关文章

Python 识别 MySQL 中的冗余索引

前言最近在搞标准化巡检平台,通过 MySQL 的元数据分析一些潜在的问题。冗余索引也是一个非常重要的巡检目,表中索引过多,会导致表空间占用较大,索引的数量与表的写入速度与索引数成线性关系(微秒级),如...

TCP短连接和长连接

TCP短连接和长连接

     当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立是需要三次握手的,...

TDengine集群部署

TDengine集群部署

1、基础环境操作系统:centos7.9内核版本:3.10下载地址:https://docs.taosdata.com/releases/tdengine/#3110架构设置:3 dnode,3 mn...

CDP实操--集群配置Auto-TLS

CDP实操--集群配置Auto-TLS

1.1手动创建CA证书# mkdir -p /tls/ca # ls /tls # cd /tls/ca # openssl genrsa -out ca.key 2048 # cat ca....

MySQL运维实战之ProxySQL(9.5)proxysql和MySQL Group Replication配合使用

如果后端MySQL使用了Group Replication,可通过配置mysql_group_replication_hostgroups表来实现高可用mysql_group_replication_...

MySQL Group Replication(二)监控篇

MySQL Group Replication(二)监控篇

说明组复制搭建成功后,为保证其正常运行,用户需要对组复制进行监控。MySQL 的 performance_schema 库中提供一些表,用于监控组复制的复制过程。[performance_schema...

发表评论    

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