mysql数据库主从同步过程详述(二)

续mysql数据库主从同步过程详述(一)

3从库上执行操作

3.1 设置server-id值并关闭binlog设置

数据库的server-id一般在LAN内是唯一的,这里的server-id要和主库及其他从库不同,并注释掉从库的binlog参数配置;

执行vi  /etc/my.cnf  编辑my.cnf配置文件,按如下两个参数内容修改;

[mysqld]

server-id = 2

#log-bin = mysql-bin

检查配置后的结果

grep  -E  "server-id|log-bin"  /etc/my.cnf

#log-bin = mysql-bin   log-bin后面也可以不带等号内容,mysql会使用默认日志。

server-id  = 2

重启从数据库

/etc/init.d/mysql  restart

3.2还原主库导出的数据到从库

cd  /server/backup/ &&  ls -l

然后解压刚才备份的

gzip  -d  mysql_bak.2012-05-22.sql

恢复命令

mysql  -uroot  -p"123123"  <  mysql_bak.2012-05-22.sql

3.2登陆从库配置同步参数

mysql  -uroot  -p"123123"

CHANGE  MASTER  TO   连接主数据库

MASTER_HOST="192.168.1.5",    这里是主库的ip

MASTER_PORT=3306,   这里是主库的端口,从库的端口可以和主库不同

MASTER_USER="rep",   这里是主库上建立的用于复制的用户rep

MASTER_PASSWORD="123456",   这里是rep的密码

MASTER_LOG_FILE="mysql-bin.000004",  这里是show  master  status时查看到的二进制日志文件名称,注意不能多空格

MASTER_LOG_POS=1273;   这里是show  master  status时查看到的二进制日志偏移量,注意不能多空格。

不登陆数据库,在命令行快速执行change  master的语句(适合在脚本中批量建slave库用)

本文即用此法来操作

cat  | mysql  -uroot -p"oldboy"  -S  /data/3307/mysql.sock<<EOF

CHANGE  MASTER  TO

MASTER_HOST="192.168.1.5",

MASTER_PORT=3306,

MASTER_USER="rep",

MASTER_PASSWORD="123456",

MASTER_LOG_FILE="mysql-bin.000004",

MASTER_LOG_POS=1273;

EOF

3.2启动从库同步开关

启动从库同步开关,并查看同步状态

mysql  -uroot  -p"123123"  -S  /tmp/mysql.sock  -e  "start  slave;"

mysql  -uroot  -p"123123"  -e  "show  slave  status\G;"

也可登陆数据库里面执行下面两个命令:

start   slave

show  slave  status\G;

判断搭建是否成功就看如下IOSQL两个线程是否显示为yes状态

Slave_to_Running: Yes  #负责从库去主库读取binlog日志,并写入从库中继日志中

Slave_SQL_Running: Yes   #负责读取并执行中继日志中的binlog,转换sql语句后应用到数据库汇总

也可以执行命令过滤查看如下

mysql  -uroot  -p"123123"  -S  /tmp/mysql.sock  -e "show  slave  status\G;" | egrep "IO_Running|SQL_Running"

3.3测试复制结果

主库创建一数据库,看从库是否有.

mysql  -uroot -p"123123"  -S /tmp/mysql.sock  -e "create  database  diablo4;"

mysql  -uroot -p"123123"  -e  "show  databases  like  'diablo4';"

如下图主库创建库

从库如下图示:

请关注mysql数据库主从同步过程详述(三)

本文出自 “王海鹏” 博客,转载请与作者联系!

你可能感兴趣的:(mysql,mysql同步,mysql数据库主从同步)