视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
MySql主从复制配置示例_MySQL
2020-11-09 20:06:40 责编:小采
文档


最近研究mysql,从oracle官网下了一个最新的5.6的mysql,压缩版的。今天尝试一下Mysql的复制功能,花了好久才整出来,把心得分享出来。

用的是我们开发用的库,部署在测试环境,测试环境的mysql版本居然是5.1的。

1.主服务器配置

cd /etc,找到my.cnf,然后再这个配置文件加上复制要用的配置

server-id = 1
log-bin=mysql-bin
binlog-do-db=wx

主服务器需要一个独一无二的server id,log-bin表示启用二进制日志,binlog-do-db表示选择记录日志的数据库

2.从机配置

打开my.ini,加上和服务器类似的配置

server-id=2
log-bin=mysql-bin 
replicate-do-db=wx

3.将主机上的wx数据库拷给从机。这步一定要执行,不然后面一定会报错。我就是忽略了这一步,导致试了好几次都没有成功!当然,这一步可以用任何方法做,用工具,用mysqldump后从机执行都可以。

4.主机上建复制账号

主机的mysql命令行下执行如下命令,建一个用来复制的账号,和密码

grant replication slave 
on *.* 
to 'replication'@'%' identified by '123'; 

然后查主机的状态
mysql> show master status\G
*************************** 1. row ***************************
 File: mysql-bin.000003
 Position: 256
 Binlog_Do_DB: wx
Binlog_Ignore_DB: 
1 row in set (0.00 sec)

Position和File都是后面有用的

5.从机关联主机操作

从机上执行关联主机的命令,并重启从机。

change master to 
master_host = '192.168.146.120', 
master_user = 'replication', 
master_password = '123', 
master_log_file = 'mysql-bin.000003', 
master_log_pos = 256; 
start slave; 

6.验证操作

主机上wx库找张表,插入一条语句,从机立刻复制过来。

查看从机状态。

mysql> show slave status\G
*************************** 1. row ***************************
 Slave_IO_State: Waiting for master to send event
 Master_Host: 192.168.146.120
 Master_User: replication
 Master_Port: 3306
 Connect_Retry: 60
 Master_Log_File: mysql-bin.000003
 Read_Master_Log_Pos: 708
 Relay_Log_File: CDYJY-LVSHENG1-relay-bin.000004
 Relay_Log_Pos: 265
 Relay_Master_Log_File: mysql-bin.000003
 Slave_IO_Running: Yes
 Slave_SQL_Running: Yes
 Replicate_Do_DB: wx
 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: 708
 Relay_Log_Space: 588
 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:
 Master_Info_File: D:\DevelopTools\DB\mysql-5.6.26-winx\data\master.info
 SQL_Delay: 0
 SQL_Remaining_Delay: NULL
 Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
 Master_Retry_Count: 800
 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)

下载本文
显示全文
专题