MySQL :: MySQL Community Downloads
下载 mysql80-community-release-el7-7.noarch.rpm
rpm -ivh mysql80-community-release-el7-7.noarch.rpm
yum install -y mysql mysql-server
vi /etc/my.cnf
主库配置:IP:192.168.32.101
#增加一下配置#
log-bin=mysql-bin
server_id=101
##选择增加的参数
#binlog-do-db=schoolpay #需要同步的数据库
#binlog-ignore-db =mysql #不需要同步的数据库
binlog-ignore-db=mysql,sys,performance_schema,information_schema
lower_case_table_names=1
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
systemctl restart mysqld
grep password /var/log/mysqld.log
set global validate_password.check_user_name=0;
set global validate_password.policy=0;
set global validate_password.length=1;
alter user 'root'@'localhost' identified by 'root';
use mysql;
update user set host = '%' where user = 'root';
FLUSH PRIVILEGES;
主服务建立账号 IP:192.168.32.101
create user repl identified with mysql_native_password by 'repl';
授权
grant replication slave on *.* to repl;
刷新
flush privileges;
查看主库master
show master status;
alert user repl identified by '1111';
从库配置:IP:192.168.32.102
vi /etc/my.cnf
#增加一下配置#
#log-bin=mysql-bin
relay-log=relay-bin
server_id=102
read-only=1
##选择增加的参数
#binlog-do-db=schoolpay #需要同步的数据库
#binlog-ignore-db =mysql #不需要同步的数据库
lower_case_table_names=1
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
systemctl restart mysqld
查询主库 show master status; 得到 mysql-bin.000003', master_log_pos=3442
stop slave ;
change master to master_host='192.168.32.101',master_port=3306,master_user='repl',master_password='1111',master_log_file=' mysql-bin.000003', master_log_pos=3442;
start slave ;
show slave status;
show slave status G;
报错重新指定
stop slave ;
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=2870;
start slave ;
3双主配置
server_id=101
log-bin=mysql-bin
log-slave-updates
max_binlog_size =512M
expire_logs_days=100
##选择增加的参数
#binlog-do-db=schoolpay #需要同步的数据库
#binlog-ignore-db =mysql #不需要同步的数据库
binlog-ignore-db=mysql,sys,performance_schema,information_schema
lower_case_table_names=1
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
# 实现数据库宕机恢复后,自动同步缺少的数据
relay_log = mysql-relay-bin
auto-increment-increment=2
auto-increment-offset=1
relay-log=relay-bin
server_id=102
log-slave-updates
max_binlog_size =512M
expire_logs_days=100
#read-only=1
##选择增加的参数
#binlog-do-db=schoolpay #需要同步的数据库
#binlog-ignore-db =mysql #不需要同步的数据库
binlog-ignore-db=mysql,sys,performance_schema,information_schema
lower_case_table_names=1
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
# 实现数据库宕机恢复后,自动同步缺少的数据
relay_log = mysql-relay-bin
auto-increment-increment=2
auto-increment-offset=2
create user repl@'%' identified with mysql_native_password by 'Admin123!';
grant replication slave on *.* to repl@'%';
101主机:
stop slave ;
change master to master_host='192.168.32.102',master_port=3306,master_user='repl',master_password='Admin123!',master_log_file='binlog.000008', master_log_pos=951;
start slave ;
show slave status;
show slave status\G;
102主机:
stop slave ;
change master to master_host='192.168.32.101',master_port=3306,master_user='repl',master_password='1111',master_log_file='mysql-bin.000005', master_log_pos=157;
start slave ;
ERROR 1872 (HY000): Replica failed to initialize applier metadata structure from the repository
reset slave;
start slave;
show slave status\G;
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000005',MASTER_LOG_POS=157;
报错后修改 101服务器: log-bin=mysql101-bin 102 服务器log-bin=mysql102-bin
stop slave ;
change master to master_host='192.168.32.102',master_port=3306,master_user='repl',master_password='Admin123!',master_log_file='mysql102-bin.000001', master_log_pos=157;
start slave ;
show slave status;
stop slave ;
change master to master_host='192.168.32.102',master_port=3306,master_user='repl',master_password='Admin123!',master_log_file='mysql102-bin.000001', master_log_pos=157;
start slave ;
show slave status;