mysql主从复制原理面试,mysql主从复制延迟解决

  mysql主从复制原理面试,mysql主从复制延迟解决

  在*上授予复制从属服务器。*到由“123”标识的“root”@“10 . 10 . 243 . 179”;

  在*上授予复制从属服务器。*到由“123”标识的“根”@“%”;

  主从MySQL复制配置-orochihuang-博客公园

  主从复制配置Mysql主从复制至少需要两个Mysql服务。当然,MySQL服务可以分布在不同的服务器上,也可以在一台服务器上启动多个服务。

  (1)首先,确保主服务器和从服务器上的Mysql版本相同。

  (2)在主服务器上,建立一个从数据库的帐户,并使用复制从授予权限,例如:

  *上的mysql授权复制从属服务器。*至 slave001@192.168.0.99 由

  123456;

  查询正常,0行受影响(0.13秒)

  (3)修改主数据库的配置文件my.cnf,打开BINLOG,设置server-id的值。修改后,必须重启Mysql服务。

  [mysqld]

  log-bin=/home/MySQL/log/MySQL-bin . log

  服务器id=1

  (4)之后就可以得到主服务器当前的二进制日志名和偏移量了。此操作的目的是在从数据库启动后从此点恢复数据。

  mysql显示主状态 G;

  *************************** 1.第*************************行

  文件:mysql-bin.000003

  位置:243

  Binlog_Do_DB:

  Binlog_Ignore_DB:

  集合中的1行(0.00秒)

  (5)好了,现在可以停止主数据的更新操作,生成主数据库的备份。我们可以通过mysqldump向从数据库发送数据。当然,您也可以使用cp命令直接将数据文件复制到从属数据库。

  在导出数据之前,注意主数据库上的读锁,以确保数据的一致性。

  带读锁的mysql刷新表;

  查询正常,0行受影响(0.19秒)

  然后是mysqldump。

  mysqldump-h 127 . 0 . 0 . 1-p 3306-u root-p test/home/chenyz/test . SQL

  最好在主数据库备份完成后恢复写操作。

  mysql解锁表;

  查询正常,0行受影响(0.28秒)

  (6)将主数据备份的test.sql复制到从数据库并导入。

  (7)然后修改从数据库的my.cnf,添加server-id参数,指定用于复制的用户,主数据库服务器的ip和端口,以及复制日志开始的文件和位置。

  [mysqld]

  服务器id=2

  log _ bin=/var/log/MySQL/MySQL-bin . log

  主主机=192.168.1.100

  主用户=测试

  主通行证=123456

  主端口=3306

  主连接重试=60

  replicate-do-db=测试

  (8)在从属服务器上,启动从属进程

  mysql启动从机;

  (9)验证从服务器中的显示从状态

  mysql显示从属状态G

  *************************** 1.第*************************行

  Slave_IO_State:等待主机发送事件

  主主机:本地主机

  主用户:超级用户

  主端口:3306

  连接重试:3

  主日志文件:mysql-bin.003

  Read_Master_Log_Pos: 79

  relay _ Log _ File:gbichot-relay-bin . 003

  中继日志位置:548

  中继_主控_日志_文件:mysql-bin .003

  Slave_IO_Running:是

  Slave_SQL_Running:是

  (10)好了,现在我们可以在我们的主服务器上做一些更新操作,然后检查它在从服务器上是否已经更新。

  Mysql主从复制(超级简单)-系统网络运维-51CTO技术博客

  主从mysql复制(超级简单)

  2012-02-27 15:31:02

  标签:数据库mysql主从休闲从

  原创作品允许转载。转载时请以超链接的形式注明原出处、作者信息及本声明。否则将追究法律责任。http://369369.blog.51cto.com/319630/790921

  Mysql主从复制

  (超级简单)

  如何安装mysql数据库?这里就不说了,只说它的主从复制。步骤如下:

  1.主服务器和从服务器分别执行以下操作:

  1.1.版本一致。

  1.2.初始化表并在后台启动mysql。

  1.3.更改root用户的密码。

  2.修改主服务器master:

  #vi /etc/my.cnf

  [mysqld]

  Log-bin=mysql-bin //[ Must]启用二进制日志记录

  Server-ID=222 //[必选]服务器的唯一ID,默认为1,一般取IP的最后一段。

  3.修改从属服务器从属服务器:

  #vi /etc/my.cnf

  [mysqld]

  Log-bin=mysql-bin //[ Must]启用二进制日志记录

  Server-ID=226 //[必选]服务器的唯一ID,默认为1,一般取IP的最后一段。

  4.重启两台服务器的mysql。

  /etc/init.d/mysql重新启动

  5.在主服务器上设置帐户并授权从属服务器:

  #/usr/local/MySQL/bin/MySQL-u root-PMT Tang

  *上的mysql授权复制从属服务器。*到由“q123456”标识的“my sync”@“%”;//一般不使用root帐号。“%”表示所有客户端都可以连接。只要账号和密码正确,这里就可以使用特定的客户端IP,比如192.168.145.226,加强安全性。

  6.登录主服务器的mysql,查询master的状态。

  mysql显示主状态;

  - - - -

  文件位置 Binlog _ Do _ DB Binlog _ Ignore _ DB

  - - - -

   mysql-bin.000004 308

  - - - -

  集合中的1行(0.00秒)

  注意:在此步骤之后,不要操作主服务器MYSQL,以免主服务器的状态值发生变化

  7.配置从属服务器从属服务器:

  mysql把master改成aster_host=192.168.145.222 ,master_user=tb ,master_password=q123456 ,

  master_log_file=mysql-bin。000004 ,master _ log _ pos=308//注意不要断开,“308”没有单引号。

  Mysql启动从机;//从服务器启动复制功能

  8.从服务器检查复制功能的状态:

  mysql显示从属状态G

  *************************** 1.第*************************行

  Slave_IO_State:等待主机发送事件

  Master_Host: 192.168.2.222 //主服务器地址

  master _ User:my ync//授权帐户名,尽量避免使用root。

  Master_Port: 3306 //数据库端口,部分版本没有这行。

  连接重试次数:60

  主日志文件:mysql-bin.000004

  Read_Master_Log_Pos: 600 //#同步读取二进制日志的位置,大于等于=Exec_Master_Log_Pos。

  中继日志文件:ddte-relay-bin.000003

  中继日志位置:251

  中继_主控_日志_文件:mysql-bin.000004

  Slave_IO_Running: Yes //该状态必须为Yes

  Slave_SQL_Running: Yes //此状态必须为Yes

  .

  注意:Slave_IO和Slave_SQL进程必须正常运行,即处于YES状态;否则,它们都处于错误的状态(例如,其中一个“否”就是错误)。

  在上面的操作过程中,主从服务器配置完成。

  9.主从服务器测试:

  主服务器Mysql,建立一个数据库,通过创建一个表将一条数据插入数据库:

  mysql创建数据库hi _ db

  查询正常,1行受影响(0.00秒)

  mysql使用hi _ db

  数据库已更改

  mysql创建表hi_tb(id int(3),name char(10));

  查询正常,0行受影响(0.00秒)

  mysql插入到hi_tb值(001, bobu );

  查询正常,1行受影响(0.00秒)

  mysql显示数据库;

  -

  数据库

  -

  信息模式

   hi_db

   mysql

  测试

  -

  集合中有4行(0.00秒)

  来自服务器Mysql的查询:

  mysql显示数据库;

  -

  数据库

  -

  信息模式

   hi _ db //我来了,你看?

   mysql

  测试

  -

  集合中有4行(0.00秒)

  mysql使用hi_db

  数据库已更改

  mysql select * from hi _ tb//可以在主服务器上看到新添加的具体数据。

  - -

   id 姓名

  - -

   1 波布

  - -

  集合中的1行(0.00秒)

  10.完成:

  写一个shell脚本,用nagios监控slave的两个“是”。如果只找到一个或零个“是”,说明主从有问题。发送短信报警。

  本文来自“系统网络运维”博客,请将此来源保留在http://369369.blog.51cto.com/319630/790921.

mysql主从复制原理面试,mysql主从复制延迟解决