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

云掣YunChe7个月前技术文章699

一、脚本环境说明

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


相关文章

ES组件集成nlpSQL模块

ES组件集成nlpSQL模块

查看sql插件github https://github.com/NLPchina/elasticsearch-sql 安装cd elasticsearch #进入目录可以先去下载...

使用clickhouse-backup备份和恢复数据

使用clickhouse-backup备份和恢复数据

介绍clickhouse-backup是altinity提供的一个clickhouse数据库备份和恢复的工具,开源项目地址:https://github.com/Altinity/clickhouse...

Linux系统调优参数应用实践

Linux系统调优参数应用实践

1 基于内存方面的性能参数调优1.1 cache与buffer解读1.1.1 cache出现的原因与功能计算机硬件中CPU、内存、磁盘是最主要的三大部分,其中,CPU发展到今天,执行速度最快,而内存相...

手动模拟 CNI 网络中 host-gw 模式互通

手动模拟 CNI 网络中 host-gw 模式互通

在Kubernetes中,CNI的作用就是让两台Node节点之间的Pod能够互相通信,其中有封包的方式,也有路由转发的方式,host-gw就是路由转发的方式。host-gw 模式介绍host-gw模式...

Kubernetes源码解读(二)--DeltaFIFO源码分析

Kubernetes源码解读(二)--DeltaFIFO源码分析

1、Queue接口与DeltaFIFO的实现1.1、Queue和Store接口接口和结构体先相关代码类似 workqueue 里的队列概念,这里也有一个队列,Queue 接口定义在 client-go...

发表评论    

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