月度归档:2001年01月

MySQL5.6下主从配置

未了数据安全,主从配置双机最好能在一个独立的lan里面,如果没有独立lan,就做VPN
关于MySQL5.6安装就不再重复了,直接开始配置部分
开始之前,必须保持两台机器的数据库内容版本一致,同时所有bin-log日志都已经清空,以免出错

1.修改主服务器/etc/my.cnf ,添加以下部分到[mysqld]段里面

bind_address=192.168.1.1
log-bin=mysql-bin
expire_logs_days=2
binlog_format=MIXED
server-id=1

2.启动主服务器MySQL,并且建立账户授权从服务器进行连接
mysql -uroot -p password
mysql>GRANT REPLICATION SLAVE ON *.* to "mysync"@"192.168.1.2" identified by "YYCCEEDLF";
表示授权给ip为192.168.1.2的客户端进行连接,用户名为mysync,密码为YYCCEEDLF

3.修改从服务器的/etc/my.cnf,添加一下部分到[mysqld]段里面
binlog_format=MIXED
log-bin=slave-bin
server-id=2
expire_logs_days=2
slave-skip-errors = 1062,1194,1032

4.启动从服务器MySQL,连接主服务器读取log进行复制
mysql>change master to master_host="192.168.1.1",master_user="mysync",master_password="YYCCEEDLF";
mysql>start slave;

5.检查一下复制是否成功
mysql> show slave status\G

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.1 //主服务器地址
Master_User: mysync //授权帐户名,尽量避免使用root
Master_Port: 3306 //数据库端口,部分版本没有此行
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 13055363 //#同步读取二进制日志的位置,大于等于Exec_Master_Log_Pos
Relay_Log_File: lc2-relay-bin.000002
Relay_Log_Pos: 251
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes //此状态必须YES
Slave_SQL_Running: Yes //此状态必须YES
......

注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。

以上操作过程,主从服务器配置完成。