Heim  >  Artikel  >  Datenbank  >  mysql数据库的主从同步过程详述(一)

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

WBOY
WBOYOriginal
2016-06-07 17:40:01956Durchsuche

在看过老男孩老师博客http://oldboy.blog.51cto.com/2561410/839399里写的关于mysql的主从复制后,我将自己做的试验过程记录如下,包括脚本,故障解决,图文并茂叙述

   在看过老男孩老师博客里写的关于mysql的主从复制后,我将 自己做的试验过程记录如下,包括脚本,故障解决,图文并茂叙述过程,因篇幅过长,可能有所删减,请看到此文的朋友见谅.   因借鉴老男孩老师的视频,虽然不是他的学生,也在此默默的感谢他的视频,他视频里的环境是在一机多实例的环境当中,并且mysql可能做了相关优化,我的环境则是两台机器上,有任何不对的地方欢迎大家指出.

1复制准备

port3306

port3306

数据库环境准备,具备两台服务器每个机器一个数据库的环境.

2.主库上执行操作

[mysqld]

server-id = 1

log-bin = mysql-bi

提示:

restart

 

/etc/init.d/mysql  restart

mysql  -uroot  -p'123123'  -S  /tmp/mysql.sock

mysql>select   user();    查看用户

表);

用户访问;

#identified  by  "123456" , 123456为密码,香港空间,实际环境时复杂一点为好。

再次检查创建的rep账号

select  user.host  from  mysql.user;

也可以查看用户权限   mysql>show  grants  for  rep@'192.168.1.%';

2.3对数据库锁表只读(当前窗口不要关闭)

生产环境时,香港服务器,操作主从复制,需要申请停机时间,锁表会影响业务。

mysql>flush  tables  with  read  lock;

提示,这个锁表命令的时间,在不同引擎的情况,会受下面参数的控制,锁表时,如果超过设置时间不操作会自动解锁;

interactive_timeout = 60

wait_timeout = 60

默认情况下的时长为:

mysql>show  variables  like  "%timeout%";  可以查看到默认值很大

2.4查看主库状态

查看主库状态,即当前日志文件名和二进制日志偏移量

show  master  status;命令显示的信息要记录在案,后面的从库复制时是从这个位置开始的。

2.5导出数据库数据

mkdir  /server/backup/  -p

mysqldump  -uroot  -p"123123"  -S  /tmp/mysql.sock  -A  -B  | gzip  > /server/backup/mysql_bak.$(date  +%F).sql.gz

等参数(导库时会直接覆盖所有的)。

ls  -l  /server/backup/mysql_bak.$(date  +%F).sql.gz

为了确保导库期间,数据库没有数据插入,可以再检查下主库状态信息

mysql  -uroot  -p"123123"  -S  /tmp/mysql.sock  -e  "show  master  status"

提示,无特殊情况,binlog文件及位置点是保持不变的。

导库后,解锁主库,恢复可写;

mysql>unlock  tables;

特别提示,有读者这里犯迷糊,实际上做从库的,无论主库更新多少数据了,最后从库都会从上面show  master  status  的位置很快赶上主库的位置进度的。

ls  -l  /server/backup/mysql_bak.$(date  +%F).sql.gz

请继续关注mysql数据库的主从同步过程详述(二)

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

,网站空间
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn