环境 主服务器ip:192.168.136.131 从服务器ip:192.168.136.132 先将两台服务器的my.cnf配置下
vi /usr/local/mysql/my.cnf #编辑my.cnf主服务器配置
log-bin=mysql-bin #[必须] server-id=131 #[必须]服务器唯一ID,一般取IP最后一段从服务器配置
log-bin=mysql-bin #[必须] server-id=132 #[必须]服务器唯一ID,一般取IP最后一段接着重启两台服务器的mysql
[root@localhost ~]# service mysql restart #重启mysql,如果不行就执行/etc/init.d/mysqld restart接着在主服务器(192.168.136.131)mysql数据库下用GRANT创建用户并授权远程登录权
mysql> GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO 'backup'@'%' IDENTIFIED BY '123456'; #创建账号backup,允许所有ip连接,密码为123456 mysql> show master status;#查询主服务器的状态进入从服务器(192.168.136.132)的mysql下执行命令
mysql> change master to master_host='192.168.136.131',master_user='backup',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=446; start slave; #master_host=主服务器IP #master_user=在主服务器上创建的备份用户名 #master_password=备份用户密码 #master_log_file=查询master(主服务器)的状态得到的File列的值 #master_log_pos=Position列的值 #start slave:启动从服务器复制功能 mysql> show slave status\G;注意输出的信息,主要注意下Slave_IO_Running和Slave_SQL_Running是否是yes
Slave_IO_Running: Yes Slave_SQL_Running: Yes最后就是测试了,随便在主服务器下创建数据库或者是表 ,看看从服务器上有没有同样出现 测试结果 从服务器复制功能启动后,配置好后立刻测试:成功 从服务器复制功能启动后,两台服务器系统重新启动:失败 两台服务器系统重新启动,重新启动从服务器复制功能:成功 从服务器复制功能启动后,重启从服务器的mysql服务:成功 从服务器复制功能启动后,重启主服务器的mysql服务:失败 主服务器系统不重启,从服务器系统重启:成功 最后结论,每次因为意外导致主服务器系统重启,必须启动从服务器复制功能(仅供参考)