MySQL主从设置方法介绍
主MySQL设置
1、编辑主MYSQL 服务器的MySQL配置文件my.cnf,在[mysqld]下面添加以下参数:
- log-bin=mysql-bin//开启MYSQL二进制日志
- server-id=1//服务器ID不能重复
- binlog-do-db=dzx2//需要做主从备份的数据库名字
- expire-logs-days=7//只保留7天的二进制日志,以防磁盘被日志占满
2、在 A 服务器添加一个用于主从复制的帐号,登陆mysql命令行,执行:
GRANT REPLICATION SLAVE ON *.* TO ‘帐号’@’从服务器IP’ IDENTIFIED BY ‘密码’;
例如:帐号是 rep,密码是 123,IP 是 192.168.1.3,则执行代码为:
GRANT REPLICATION SLAVE ON *.* TO ‘rep’@’192.168.1.3′ IDENTIFIED BY ’123′;
3、重启MySQL,让配置生效
关闭论坛访问,复制数据库备份到从库服务器.
1、登录论坛后台,“全局—站点信息”,关闭论坛访问
2、登录MySQL命令行,例如:mysql -uroot –p
3、在主MySQL服务器上执行命令,把数据库设置成只读状态:
FLUSH TABLES WITH READ LOCK;
4、执行命令,并且记下file及position的值:show master status;
5、备份需要做主从备份的数据库,用导出成SQL或者直接复制数据库文件方式都可以
6、回到MYSQL命令行窗口,解封数据库只读状态,执行:UNLOCK TABLES;
7、登录论坛后台,“全局—站点信息”,开放论坛访问
8、将刚才备份出来的数据复制到从库服务器
从MySQL服务器设置
1、编辑 从MYSQL服务器的MySQL配置文件my.cnf,在[mysqld]下面添加以下参数:
server-id=2 //服务器ID不能重复
master-port=3306 //主库的端口
replicate-do-db=dzx2 //需要做复制的数据库名
replicate-ignore-table=dzx2.pre_common_session //自动跳过的表,session表没必要做复制
slave-skip-errors = 1032,1062,126,1114,1146,1048,1396 //自动跳过的错误代码,以防复制出错被中断
2、将主库上备份的数据库恢复到从库
3、重启从库MYSQL
4、登录从库的MySQL命令行,执行:
- changemastertomaster_host=’192.168.1.2′,master_user=’rep’,master_password=’123′,master_log_file=’file的值’,master_log_pos=position的值;
- //开源代码phpfensi.com
- //设置连接信息,file及position的值是之前记录下来,position的值没有单引号,其他的值要单引号
5、执行:start slave; //启动从库连接
6、查看从库状态:
show slave statusG; //查看连接情况,是不是两个YES,两个YES为成功
7、编辑从MYSQL服务器的MySQL配置文件my.cnf,在[mysqld]下面添加以下参数:
- master-host=192.168.1.2//主库A的IP
- master-user=rep//刚才在主库创建的帐号
- master-password=123//密码
热门评论