环境
centos 7.5 minal x86_64
mysql 5.7 wget http://repo.mysql.com/mysql57-community-release-el7.rpm
安装
yum install mysql-server -y
启动服务并初始化
systemctl start mysqld && systemctl enable mysqld
查看密码
grep password /var/log/mysqld.log
mysql_secure_installation
fdaqtjmxb4)S 这是我设置的密码 这个版本对于密码检测要求比较高的
配置主库:
vim /etc/my.cnf
[mysqld]
server-id=4 ## #服务器id
log-bin=mysql-bin ##开启二进制日志
binlog-do-db=merry ##需要同步的数据库名
binlog-ignore-db=mysql ## ##禁止同步的数据库名
enforce_gtid_consistency=on ## #强制gtid一致性,开启后对于特定create table不被支持
重启服务
systemctl restart mysqld
主库上配置授权账户 用于同步数据
create user 'merry'@'%' identified by 'fdaqtjmxb4)S';
grant replication slave on *.* to 'merry'@'%' identified by 'fdaqtjmxb4)S';
flush privileges;
查看是否开启二进制日志
show variables like 'log_%';
查看主库状态:
show master status;
配置从库
vim /etc/my.cnf
[mysqld]
server-id=4
log-bin=mysql-bin
enforce_gtid_consistency=on
重启服务
systemctl restart mysqld
配置同步的数据库
change master to master_host='192.168.101.114',master_user='merry',master_password='fdaqtjmxb4)S',master_log_file='mysql-bin.000001',master_log_pos=836;
查看从库状态
show slave status\G;
此时显示no 需要开启 start slave;
再次查看状态 就可以看动主从复制开启了
此时就可以在主库测试
创建数据库merry
create database merry;
在从库show databases; 就可以看到读取到了
主库创建数据表user;
use merry;
create table user(id int primary key AUTO_INCREMENT, username varchar(255), password varchar(255));
insert into user(username, password) values ('admin', 'admin');
insert into user(username, password) values ('abc', 'linux');
select * from user;
从库查询:
use merry;
show tables;
至此 主从复制搭建完成!