主从配置比较简单,简单记录一下。
设定两台服务器的ip分别为192.168.16.211和212。
为了实验方便,Mysql的root密码都是空的。
分别为mysql添加slave用户,密码为slave,可以任意主机登录,拥有所有权限。
添加用户请参考:Linux下mysql创建用户并赋予权限
首先安装mysql-server。
yum groupinstall mysql
修改mysql配置文件。
修改/etc/my.cnf
两台MySQL均如要开启binlog日志功能,开启方法:在MySQL配置文件[MySQLd]段中加上log-bin=mysql-bin选项。
两台MySQL的server-ID不能一样,默认情况下两台MySQL的serverID都是1,需将其中一台修改为2即可
在[mysqld]下添加:
server-id=2
log_bin=mysql-bin
启动mysqld。
service mysqld restart
登录mysql控制台,设定主从关系。
mysql -u root
211查看:
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000002 | 187 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
在212上机器上配置
change master to master_host='192.168.16.211',master_user='slave',master_password='slave',master_log_file='mysql-bin.000002',master_log_pos=187;
211配置方法同上,先查看212的master status,然后设置参数。
设置好以后,执行下面命令以启动slave:
start slave;
查看状态:
mysql> show slave statusG
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.16.212
Master_User: slave
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000002
Read_Master_Log_Pos: 106
Relay_Log_File: mysqld-relay-bin.000002
Relay_Log_Pos: 251
Relay_Master_Log_File: mysql-bin.000002
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 106
Relay_Log_Space: 407
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:
1 row in set (0.00 sec)
至此,双机互为主从配置完毕。