西风古道

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

本例使用MySQL多实例进行配置。http://www.cnblogs.com/g120992880/p/mysqld_multi.html

一、修改my.cnf

在相应的[mysqldN]下添加server-id与 log-bin,从节点可以不启用二进制日志。

此处设定3307为主库,3308为从库。

[root@localhost ~]# cat /etc/my.cnf

[mysqld_multi]
mysqld     = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user       = multi_admin
password   = my_password
log        = /var/log/mysqld_multi.log

[mysqld3307]
port       = 3307
datadir    = /var/lib/mysql/3307
socket     = /var/lib/mysql/3307/mysql.sock
pid-file   = /var/lib/mysql/3307/mysqld.pid
server-id  = 1
log-bin    = mysql-bin
#user       = unix_user1

[mysqld3308]
port       = 3308
datadir    = /var/lib/mysql/3308
socket     = /var/lib/mysql/3308/mysql.sock
pid-file   = /var/lib/mysql/3308/mysqld.pid
server-id  = 2
log-bin    = mysql-bin
#user       = unix_user1

[mysqld_safe]
log-error=/var/log/mysqld.log

 二、主库中添加一个用户,专门用来从库连接主库进行复制操作

[root@localhost ~]# mysql -u root -P 3307 -h 127.0.0.1 -p
mysql> grant replication slave on *.* to 'replication'@'127.0.0.1' identified by 'replication_pwd';
mysql> flush privileges;

三、查看主库二进制日志与定位点

[root@localhost ~]# mysql -u root -P 3307 -h 127.0.0.1 -p
mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000004 |      106 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

从上述可确定二进制文件名mysql-bin.000004,定位点106

四、进入从库,添加连接主库信息

[root@localhost 3307]# mysql -u root -P 3308 -h 127.0.0.1 -p
mysql> CHANGE MASTER TO
    -> MASTER_HOST='127.0.0.1',
    -> MASTER_PORT=3307
    -> MASTER_USER='replication',
    -> MASTER_PASSWORD='replication_pwd',
    -> MASTER_LOG_FILE='mysql-bin.000004',
    -> MASTER_LOG_POS=106;

mysql> start slave;

mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 127.0.0.1
Master_User: replication
Master_Port: 3307
Connect_Retry: 60
Master_Log_File: mysql-bin.000004
Read_Master_Log_Pos: 106
Relay_Log_File: mysqld-relay-bin.000009
Relay_Log_Pos: 251
Relay_Master_Log_File: mysql-bin.000004
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: 552
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)

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

这二项必要是运行状态,如未能正常运行查看日志/val/log/mysqld.log。

最后进入主库进行测试。

 

posted on 2017-01-13 11:22  西风古道  阅读(167)  评论(0编辑  收藏  举报