环境:两台Centos 6.5 ,一台做主另一台做从 主IP:192.168.217.128 从IP:192.168.217.134
部署软件:mysql 5.6.30
准备工作:1、登陆主上mysql创建一个测试库,即搭建主从完毕针对主liuye库进行测试

2、将主上liuye库拷贝到从库,这里我用的是scp(速度比较快,但要注意修改文件属主)
进入到mysql 日志目录:cd /data/mysql/
将主上liuye库拷贝到从库:scp -r liuye 192.168.217.134:/data/mysql/
登陆从主机:修改主同步过来的liuye文件,属主chown -R mysql:mysql liuye
3、看下从库是否存在liuye库

到此准备工作完成。
主上配置工作:vim /etc/my.cnf
添加
server-id=1
log-bin=mysql-bin
binlog-do-db=liuye (需要同步的库,支持写多个库中间用逗号隔开;没有该条代表全部库进行同步)
配置完成,重启mysql
登陆主上mysql,创建从服务器同步账户
grant replication slave on *.* to 'yonghu'@'192.168.217.134' identified by 'mima123';
将主库限制只有读权限:flush tables with read lock; (防止配置主从期间有数据写入需要同步的库)
查看主库状态:show master status\G

到此主上配置工作完成
从上配置工作:
vim /etc/my.cnf
server-id=2
重启mysql:/etc/init.d/mysqld restart
登陆从上mysql
查看mysql从状态,下图表示同步从slave没有启动

设置slave同步主的参数(重要),上面说的master两个参数在这里用到。账户密码为主库授权同步账户密码
change master to master_host='192.168.217.128', master_port=3306, master_user='yonghu', master_password='mima123', master_log_file='mysql-bin.000001', master_log_pos=334;

启动slave:start slave
查看slave状态:
-
mysql> start slave;
-
Query OK, 0 rows affected (0.04 sec)
-
-
mysql> show slave status\G
-
*************************** 1. row ***************************
-
Slave_IO_State: Waiting for master to send event
-
Master_Host: 192.168.217.128
-
Master_User: yonghu
-
Master_Port: 3306
-
Connect_Retry: 60
-
Master_Log_File: mysql-bin.000001
-
Read_Master_Log_Pos: 334
-
Relay_Log_File: 134-relay-bin.000002
-
Relay_Log_Pos: 283
-
Relay_Master_Log_File: mysql-bin.000001
-
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: 334
-
Relay_Log_Space: 454
-
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
-
Master_UUID: f0175039-1685-11e6-a5ba-000c29105ffc
-
Master_Info_File: /data/mysql/master.info
-
SQL_Delay: 0
-
SQL_Remaining_Delay: NULL
-
Slave_SQL_Running_State: Slave has read all relay log; waiting for the sla ve I/O thread to update it
-
Master_Retry_Count: 86400
-
Master_Bind:
-
Last_IO_Error_Timestamp:
-
Last_SQL_Error_Timestamp:
-
Master_SSL_Crl:
-
Master_SSL_Crlpath:
-
Retrieved_Gtid_Set:
-
Executed_Gtid_Set:
-
Auto_Position: 0
-
1 row in set (0.00 sec)
观察:slave_IO_Running : Yes
Slave_SQL_Running : Yes
以上两个为Yes 说明主从已经成功。
Second_behind_master = 0 这是从库落后主库的秒数。
到此从上配置完成。
测试主从:
先登陆主mysql,将主的mysql只读权限取消:unlock tables
登陆主mysql并创建表t1

到从上查看库liuye是否存在表t1,结果一致。主从配置成功
阅读(1711) | 评论(0) | 转发(0) |