1:在主库上创建用来复制数据的用户
1)创建用户
//用户名:repl;密码root
create user 'repl'@'192.168.2.%' identified with mysql_native_password by 'root';
2)开启权限
//赋予replication slave权限;*.*表示可以访问任意数据库的任意表;192.168.2.%表示此用户可以从ip开头为192.168.2的机器上访问主库。
grant replication slave on *.* to 'repl'@'192.168.2.%';
2:更改主库配置信息
vim /etc/my.cnf
添加以下信息
server-id要放到最上边
3:重启主库mysql
service mysql restart
4:登录主库,查看master状态
show master status;
5:更改从库配置信息
vim /etc/my.cnf
添加以下信息
6:重启从库
service mysql restart
7:登录从库,启动slave
1)登录从库
2)执行命令
CHANGE MASTER TO master_host = '主库IP',
master_port = 主库端口,
master_user = '主库数据传输用户用户名',
master_password = '密码',
master_log_file = '查看主库时,file字段内容',
master_log_pos = 0;
8:启动从节点
start slave;
9:查看状态
show slave status\G;
1)发现问题:
问题为server-id相同,配置的明明不一样,不知道什么原因
2)解决问题
查看server-id: show variables like 'server_id'
更改server-id的值:set global server_id=2;
执行:start slave;
10:测试主从功能
在主库中添加数据,看从库中是否有更新