您的位置:首页 > 数据库 > MySQL

Mysql主从复制配置

2017-06-24 21:55 417 查看
博主: haitianisgood

原博客网址:

http://blog.csdn.net/haitianisgood/article/details/73695146

Mysql主从复制配置

以下给简单配置

1、主从服务器分别作以下操作:

1.1、版本一致

1.2、初始化表,并在后台启动mysql

2、修改主服务器master

vim /etc/my.cnf

[mysqld]
log-bin=mysql-bin   //[必须]启用二进制日志
server-id=851      //[必须]服务器唯一ID,默认是1,一般取IP最后二段
expire_logs_days = 30
relay_log_purge = 0
relay-log=relay-bin
log_slave_updates = 1


3、修改从服务器slave

vim /etc/my.cnf

[mysqld]
log-bin=mysql-bin   //[不是必须]启用二进制日志
server-id=852      //[必须]服务器唯一ID,默认是1,一般取IP最后二段
expire_logs_days = 30
relay_log_purge = 0
relay-log=relay-bin
log_slave_updates = 1
read_only=1


4、重启两台服务器的mysql

service mysql restart


5、在主服务器上建立帐户并授权slave

mysql>GRANT REPLICATION SLAVE ON *.* to 'repl852'@'%' identified by 'repl852';


6、登录主服务器的mysql,查询master的状态

mysql> show master status;




7、配置从服务器Slave并启动复制功能

change master to master_host='172.16.85.1',master_user='repl852',master_password='repl852',master_log_file='mysql-bin.000001',master_log_pos=1381;


注意不要断开,1308数字前后无单引号

启动复制功能

mysql>start slave;    //启动从服务器复制功能


8、检查从服务器复制功能状态:

mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 172.16.85.1
Master_User: repl852
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 1381
Relay_Log_File: relay-bin.000002
Relay_Log_Pos: 253
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
R eplicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 1381
Relay_Log_Space: 403
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
1 row in set (0.00 sec)


注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态

到此主从服务器配置完成!!!

my.cnf参数说明:

expire_logs_days 设置日志过期时间并自动删除日志,包括log-bin和relay-log日志
relay_log_purge = 0 设置relay log 保留一段时间
log_slave_updates = 1 从库通过I0线程读取主库二进制日志文件,然后通过SQL线程写入的数据时候,写入从库自身的binlog日志
relay-log 设置relay日志
read_only=1设置数据库为只读模式,只对普通用户起作用。对root或拥有super权限的无效果。


注意:

不能复制主数据现有的数据库数据,只能复制新的数据库数据。

如果从数据库中没有主数据库中的某个数据库,而这个又更新,将导致整个主从无法复制。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息