首先,准备主数据库,从数据库,假设两个服务器上已装好数据库。
master:192.168.1.10
slave:192.168.1.11
1.配置数据库文件:vim /etc/my.cnf
3.保存后,重启数据库
service mysql restart 或 service mysqld restart(centos下)
ps:重启方式随意(其他环境自行搜索)
4.查看主数据库配置状态
mysql> SHOW MASTER STATUS;
5.配置从数据库(同理)
6.重启从数据库服务器
同上
7.接下来配置两数据库的关联
切换到主数据库:
mysql> create user repl;
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'从xxx.xxx.xxx.xx' IDENTIFIED BY 'mysql';
mysql> flush privileges;
这个配置就是配置主数据用户,用于配置从数据库连接到主数据库的权限。(*.*操作所有表,@前为用户名,后为从数据库ip地址,BY后通过什么密码)
切换到从数据库:
mysql> change master to master_host='主xxx.xxx.xxx.xx',master_port=3306,master_user='repl',master_password='mysql',master_log_file='master-bin.000001'(需要与主配置相同),master_log_pos=0(需要与主配置相同);
这里面的xxx是主服务器ip,同时配置端口,repl代表访问主数据库的用户,上述步骤执行完毕后执行start slave启动配置:
mysql> start slave;
停止主从同步的命令为:
mysql> stop slave;
查看从数据库状态
mysql> show slave status \G;
看到两个yes即成功同步;
个人遇坑问题:Slave_IO_running: connecting to master
解决方案:1.互ping服务器,看是否联通;
2.主数据库对对repl用户访问,是否有远程权限;
如无就自己百度搜索解决方案。
其他代码:
mysql -u 用户(repl) -p 密码(mysql) -h 主数据库ip -P 3306 -D 数据库(从数据测试连接主数据库)
show grants for repl@'从数据库ip'(展示权限)
update db set host = '%' where user = 'repl';(修改用户远程权限)
有问题私信:1095709422@qq.com