当前位置:嗨网首页>书籍在线阅读

09-复制的过程

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

13.2.2 复制的过程

Master服务器启动MySQL,代码如下。

C:\Users\salonshi>mysql -uroot -p Enter password: *** mysql> show variables like '%datadir%'; +---------------+------------------------------+ |Variable_name|Value | +---------------+------------------------------+ |datadir |E:\mysql-5.6.22-winx64\data| +---------------+------------------------------+ 1 row in set (0.06 sec)

在主服务器上开启二进制日志,开启方法详见第14章。开启完成后通过以下命令查看是否开启成功。

mysql> show variables like '%log_bin%'\G 1.row Variable_name: log_bin Value: ON 2.row Variable_name: log_bin_basename Value: E:\mysql-5.6.22-winx64\data\binary_log 3.row Variable_name: log_bin_index Value: E:\mysql-5.6.22-winx64\data\binary_log.index 4.row Variable_name: log_bin_trust_function_creators Value: OFF 5.row Variable_name: log_bin_use_v1_row_events Value: OFF 6.row Variable_name: sql_log_bin Value: ON 6 rows in set (0.00 sec)

如果Bin_log的值为ON,说明二进制日志已经成功开启。

修改mysql的配置文件my.ini,设置server-id,代码如下。

Server-id=1 Binlog-do-db=xscj Binlog-ignore-db=mysql Server-id:每一个数据库服务器都要指定一个唯一的server-id,通常主服务器指定为1,master和slave的server-id不能相同。 Binlog-do-db:表示需要复制的数据库,这里以xscj数据库为例。 Binlog-ignore-db:表示不需要复制的数据库。 在master上创建复制所需要的账户。 mysql> grant replication slave on . to rep_user@'%’ 'dentified by '123456'; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.03 sec)

其中,“%”表示任何远程地址的rep_user用户都可以连接Master主机,密码为123456。

重启Master主机的MySQL服务,然后输入“show master status\G”命令查看Master主机的信息。

mysql> show master status\G 1.row File: binary_log.000067 Position: 120 Binlog_Do_DB: xscj Binlog_Ignore_DB:mysql Executed_Gtid_Set: row in set (0.00 sec) 其中binary_log.000067和120两个值将是slave与master的同步点。

将Master主机的数据xscj备份出来,保存到C盘根目录下的xscj _dump.txt文本文件中,然后导入到Slave从机中去,具体执行语句如下。

C:\Users\salonshi>mysqldump -uroot -p -h localhostxscj>c:\xscj_dump.txt Enter password: ***

提示 常情况下Master和Slave的server-id是不一样的,如果一样的话会出现报错,用户可以手动进行修改,如下所示。

Mysql>set global server_id=2