一、环境要求
-
两台服务器(主机master,从机slave),这两台服务器间网络互通。
-
数据库版本要求:两台服务器数据库mysql版本都必须在3.2以上,且从机slave的版本一般要求>=主机master的版本。(注:slave的版本不可低于master版本,否则备份配置失败)
二、配置步骤
(前提两台机子都已按照要求安装完数据库)
-
停master主机的数据库服务,将slave从库的数据先与master主库同步一致。
-
配置master主服务器参数
2.1 创建同步用户,所谓同步用户其实就是指该用户要拥有REPLICATIONSLAVE权限。
查看用户权限执行命令:show grants for 用户名。
没有权限则授予权限,执行命令:grant replication slave on *.* to ‘用户’@IP indentified by password;
2.2 修改配置参数,Windows下文件为my.ini,linux下文件为my.cnf;
打开该文件,在[mysqld]下添加参数:
server-id = 1
log-bin=mysql-bin
binlog-do-db = test_backup #要执行同步的数据库名
2.3 修改完配置文件后,保存重启mysql服务。
2.4 查看主服务器状态,通过执行名称showmaster status\G;
注意:里面的参数,前面两个file和position在从服务器slave配置主从关系会用到。
-
配置slave从服务器参数
3.1 修改配置参数,Windows下文件为my.ini,linux下文件为my.cnf;
打开该文件,在[mysqld]下添加参数:
server-id = 2
log-bin=mysql-bin
replicate-do-db =test_backup #要执行同步的数据库名
3.2 修改完配置文件后,保存重启mysql服务。
3.3 配置指定同步位置(mysql 5.x以上版本已经不支持在配置文件中指定主服务器相关 选项)
先执行命令stop slave; 停止slave服务线程,这个很重要,如果不这样会以下操作不成 功。
然后执行命令:
change master tomaster_host='10.0.0.244',master_user='root',master_pass
word='root', master_log_file='mysql-bin.000001',master_log_pos=106;
注:master_host主机IP,master_user主机同步用户名,master_pass_word主机同步用 户密码,master_log_file对应主机状态参数中的file,master_log_pos对应主机状态 参数中的position。
如果执行上述语句失败,则重新设置slave,命名如下:
Stop slave;
Reset slave;
执行完重新开始设置即可。
成功后则开启slave线程,start slave;
3.3 查看从服务器状态,通过执行名称showslave status\G;
查看下面两项值均为yes,即表示设置从服务器成功。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes