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

云掣YunChe5个月前技术文章482

一、脚本环境说明

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


相关文章

keycloak部署和使用

keycloak部署和使用

简介Keycloak是一个开源软件产品,旨在为现代的应用程序和服务,提供包含身份管理和访问管理功能的单点登录工具。截至2018年3月,红帽公司负责管理这一JBoss社区项目,并将其作为他们RH-SSO...

企业级大数据安全架构(十一)

企业级大数据安全架构(十一)

一、Kerberos接入dophinscheduler建议将dophinscheduler集成到Ambari安装部署,在Ambari上面开启kerberos1.安装准备编译从GitHub获取dolph...

配置跨集群互信

1.源集群修改项创建跨域krbtgt Principal进入kadmin命令行,执行以下2条命令:(如有加密算法需要添加加密算法部分)addprinc krbtgt/源集群realm@目标集群real...

Kubernetes源码解读(五)--Reflector源码分析

Reflector 的任务就是向 apiserver watch 特定类型的资源,拿到变更通知后将其丢到 DeltaFIFO 队列中。1、Reflector的启动过程Reflector定义在k8s.i...

kafka优选副本切换办法

      1. 以topic test为例,假设test的分布为以下状态。Topic:test PartitionCount:3 Replicati...

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

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

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

发表评论    

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