linux 下配置mysql 主从复制master-slave

作者: jaclon 分类: Linux, 数据库 发布时间: 2013-01-18 13:38 ė 62条评论

配置mysql主从复制主要是为了加快读取速度,写入速度是一样的,还有一个好处就是起到备份的作用。

主从服务器的mysql版本是好一致,否则容易造成同步失败。我在VMware中安装了两台Centos虚拟机,ip分别是
主:172.16.17.131
从:172.16.17.130

使用的mysql版本是5.5.29,应该是比较新的版本了。安装过程请移步linux下编译安装mysql.

一.配置主服务器

1.修改my.cnf,

vi /etc/my.cnf
server-id = 1   #这个只要不跟从服务器一样就行了
binlog-do-db = myblog #要同步的数据库名,多个重复这项即可
binlog-ignore-db = mysql  #不需要同步的数据库名,多个重复这项即可

2.建立同步用户

mysql> grant replication slave on *.* to 'backup'@'172.16.17.130'
 identified by '123456';

3.锁住库表

mysql> FLUSH TABLES WITH READ LOCK;

4.显示主服务器状态

mysql> SHOW MASTER STATUS;
+——————+———-+————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+
| mysql-bin.000008 | 702 | myblog | |
+——————+———-+————–+——————+
1 row in set (0.00 sec)

5.备份要同步的数据库,具体方法可参考怎么样备份还原MySql数据库,或是使用第三方工具

二.从服务器配置

1.还原数据库,将主服务器上要同步的数据库还原到从服务器上

2.修改my.cnf

vi /etc/my.cnf
server-id = 2   #这个只要不跟主服务器一样就行了
replicate-do-db = myblog #要复制的数据库名,多个重复这项即可
replicate-ignore-db = mysql  #不需要复制的数据库名,多个重复这项即可

3.设置同步

mysql> slave stop;
mysql> change master to master_host='172.16.17.131',master_user='backup'
,master_password='123456',master_log_pos=702;
 #这里的702要与主服务器中最后看到的position一致
mysql> slave start;

4.查看slave状态及问题解决
mysql>show slave status\G;

Slave_IO_Running: Yes
Slave_SQL_Running: Yes
这两项为Yes,说明配置成功

如果不是Yes,则需要重启主从mysql,并执行一.4,和二.3步,

三.解锁主服务器上的表
mysql> unlock tables;

本文出自 肥蕉博客@IT技术,热门话题,生活随笔,美图欣赏,转载时请注明出处及相应链接。

本文永久链接: http://www.bananawolf.com/html/2013/01/903.html

2条评论

  1. 藏章博客 一月 24, 2013 12:35 下午 回复

    好久没来博主博客了,就来看看!~大家 相互访问

  2. 屌丝 一月 30, 2013 5:09 下午 回复

    不知道博主交换链接否,谢谢

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

Ɣ回顶部