MySQL8二进制方式部署主从模式
系统及MySQL版本:
- Centos7.5
- MySQL 8.0.35
下载安装包
先去官网下载二进制安装包,进入官网下载页面 mysql下载页面,点击下载 5.7.34二进制64位版本
环境准备
1. 安装linux依赖包
查看安装文档
在下载页面上面有安装指南
翻译大概是,mysql依赖libaio这个library。如果没有安装,那么安装会失败。
安装命令:yum install libaio numactl ncurses-devel autoconf
2.删除自带的mariadb
3.创建用户以及用户组
4.配置 ulimit
我们一般使用 mysql 用户启动数据库,如果不设置文件打开数和进程数,后期会有问题
打开 /etc/security/limits.conf
文件,在文件末尾写上
mysql soft nproc 65536
mysql hard nproc 65536
mysql soft nofile 131072
mysql hard nofile 131072
打开 /etc/security/limits.d/20-nproc.conf
把参数调整为
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
5.关闭 selinux
selinux 可能会造成无法写入数据,如果对它不熟悉,建议关掉
查看 selinux 状态
getenforce
临时关闭
setenforce 0
永久关闭
打开 /etc/sysconfig/selinux
SELINUX=enforcing` 改为 `SELINUX=disabled
安装配置
配置mysql
上传文件,在当前目录解压
将配置文件复制到 /etc/init.d 目录下
编辑移动后的配置文件
在配置文件中修改参数路径
创建my.cnf文件
/AppHome/mysql/my.cnf
master配置
salve配置
上面配置的server-id = 001
改为002
创建目录授权
初始化MySQL
/AppHome/mysql/bin/mysqld --initialize-insecure --basedir=/AppHome/mysql --datadir=/AppHome/mysql/data/ --user=mysql --log-error=/AppHome/mysql/logs/error.log --lower-case-table-names=1
初始化SSL
可忽略执行
/AppHome/mysql/bin/mysql_ssl_rsa_setup --datadir=/AppHome/mysql/data/ -S /tmp/mysql.sock
启动MySQL
/etc/init.d/mysqld8 start
命令行方式启动
/AppHome/mysql/bin/mysqld_safe --defaults-file=/AppHome/mysql/my.cnf --user=mysql &
查看MySQL进程
ps axu|grep mysql
部署MySQL主从
登录主节点,创建主从同步账号
登录主节点,查询binlog文件名与偏移量
show master status;
登录从节点,配置主节点信息
在从服务器启动同步并查看状态
检查输出中的 Slave_IO_Running 和 Slave_SQL_Running 字段,确保两个字段的值都是 Yes,表示主从复制已经成功配置。
修改root密码
默认root密码是空的
设置从库只读
确保主从复制已经正常配置并运行,主库和从库之间可以正常同步数据。在从库的配置文件中,添加以下配置项:
重启从库的 MySQL 服务,使配置项生效。/etc/init.d/mysql8 restart