Centos7.9安装mysql5.7并配置一主二从

Centos7.9安装mysql5.7并配置一主二从

1.前提依赖
sudo yum remove mysql-libs
sudo yum install libaio
sudo yum -y install autoconf
2. 安装mysql依赖
sudo rpm -ivh 01_mysql-community-common-5.7.16-1.el7.x86_64.rpm
sudo rpm -ivh 02_mysql-community-libs-5.7.16-1.el7.x86_64.rpm
sudo rpm -ivh 03_mysql-community-libs-compat-5.7.16-1.el7.x86_64.rpm
sudo rpm -ivh 04_mysql-community-client-5.7.16-1.el7.x86_64.rpm
sudo rpm -ivh 05_mysql-community-server-5.7.16-1.el7.x86_64.rpm
3. 启动mysql及配置密码
sudo systemctl start mysqld
sudo cat /var/log/mysqld.log | grep password
mysql -uroot -p'password'
set password=password("****");
use mysql;
select user, host from user;
update user set host="%" where user="root";
flush privileges;
quit;
4. 一主二从配置
4.1 修改datadir路径需关闭SELINUX
vim /etc/selinux/config 
SELINUX=disabled

重启

reboot
4.2 创建数据存储文件夹
mkdir -p /home/mysql/data
4.3 node201
vim /etc/my.cnf
[mysqld]
datadir = /home/mysql/data
port=3306
## 设置server_id,同一局域网中需要唯一
server_id=201
## 指定不需要同步的数据库名称
binlog-ignore-db=mysql
## 开启二进制日志功能
log-bin=mall-mysql-bin
## 设置二进制日志使用内存大小(事务)
binlog_cache_size=1M
## 设置使用的二进制日志格式(mixed,statement,row)
binlog_format=mixed
## 二进制日志过期清理时间。默认值为0,表示不自动清理。
expire_logs_days=7
## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
slave_skip_errors=1062

创建从数据库所需的账户

set global validate_password_length=4;
CREATE USER 'slave'@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';

查看master状态确定slave配置时所需要的master_log_pos(861)值

show master status;
+-----------------------+----------+--------------+------------------+-------------------+
| File                  | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-----------------------+----------+--------------+------------------+-------------------+
| mall-mysql-bin.000001 |      861 |              | mysql            |                   |
+-----------------------+----------+--------------+------------------+-------------------+
4.4 node202
vim /etc/my.cnf
[mysqld]
## 设置server_id,同一局域网中需要唯一
server_id=202
## 指定不需要同步的数据库名称
binlog-ignore-db=mysql
## 开启二进制日志功能,以备Slave作为其它数据库实例的Master时使用
log-bin=mall-mysql-slave1-bin
## 设置二进制日志使用内存大小(事务)
binlog_cache_size=1M
## 设置使用的二进制日志格式(mixed,statement,row)
binlog_format=mixed
## 二进制日志过期清理时间。默认值为0,表示不自动清理。
expire_logs_days=7
## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
slave_skip_errors=1062
## relay_log配置中继日志
relay_log=mall-mysql-relay-bin
## log_slave_updates表示slave将复制事件写进自己的二进制日志
log_slave_updates=1
## slave设置为只读(具有super权限的用户除外)
read_only=1

添加从数据库

change master to master_host='node201', master_user='slave', master_password='123456', master_port=3306, master_log_file='mall-mysql-bin.000001', master_log_pos=861, master_connect_retry=30;
start slave;

查看主从同步状态

show slave status \G;

下列值必须为yes

Slave_IO_Running: Yes
Slave_SQL_Running: Yes
4.5 node203
vim /etc/my.cnf
[mysqld]
## 设置server_id,同一局域网中需要唯一
server_id=203
## 指定不需要同步的数据库名称
binlog-ignore-db=mysql
## 开启二进制日志功能,以备Slave作为其它数据库实例的Master时使用
log-bin=mall-mysql-slave1-bin
## 设置二进制日志使用内存大小(事务)
binlog_cache_size=1M
## 设置使用的二进制日志格式(mixed,statement,row)
binlog_format=mixed
## 二进制日志过期清理时间。默认值为0,表示不自动清理。
expire_logs_days=7
## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
slave_skip_errors=1062
## relay_log配置中继日志
relay_log=mall-mysql-relay-bin
## log_slave_updates表示slave将复制事件写进自己的二进制日志
log_slave_updates=1
## slave设置为只读(具有super权限的用户除外)
read_only=1

添加从数据库

change master to master_host='node201', master_user='slave', master_password='123456', master_port=3306, master_log_file='mall-mysql-bin.000001', master_log_pos=861, master_connect_retry=30;
start slave;

查看主从同步状态

show slave status \G;

下列值必须为yes

Slave_IO_Running: Yes
Slave_SQL_Running: Yes
5.同步测试

1)在node201登录mysql创建test数据库

create database test;

2)在node202、node203查看是否存在test数据库

show databases;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值