设为首页 收藏本站
查看: 907|回复: 0

[经验分享] mySQL数据同步设置

[复制链接]

尚未签到

发表于 2016-9-10 11:19:54 | 显示全部楼层 |阅读模式
  使用的mysql版本:mysql4.0.X
  master: 192.168.1.102
slave:    192.168.1.109
  如果是win机子修改c:\winnt\my.ini 如果是linux的机子请修改 /etc/my.cnf
  一、master操作
1、修改my.ini
##############
server-id=1
log-bin=c:\mysql\logs\mysql_binary_log
binlog-do-db=test
binlog-ignore-db=mysql
##############

说明
binlog-do-db=test                  允许同步的数据库
binlog-ignore-db=mysql      不允许同步的数据库

2、然后重启mysql
c:\mysql\bin\mysql restart  或 /etc/init.d/mysql restart

3、在master上增加一个同步的用户名
mysql> GRANT REPLICATION SLAVE ON *.* TO 'backup'@'%' IDENTIFIED BY '123456';
注:
如果mysql版本在4.0.2以前的版本请用
mysql> GRANT FILE ON *.* TO 'backup'@'%' IDENTIFIED BY '123456';

4、接下来操作要master上要同步的数据库
mysql> USE test;
mysql> FLUSH TABLES WITH READ LOCK;       #锁定要同步的test表,然后导出数据结构


执行如下命令查看master的状态
mysql> SHOW MASTER STATUS;

得到如下结果
Code:
+----------------------+----------+--------------+------------------+
| File                 | Position | Binlog_do_db | Binlog_ignore_db |
+----------------------+----------+--------------+------------------+
| mysql_binary_log.025 | 796947     | test            |  mysql              |
+----------------------+----------+--------------+------------------+
1 row in set (0.00 sec)


接下来备份要同步数据库(为导入slave作准备)
$ mysqldump --opt test > test.sql


mysql> UNLOCK TABLES;                   #已做好同步数据库结构导出后,解锁这个表


  二、slave操作
1、把master里导出的同步数据库结构再导入slave的mysql里
mysql tes < test.sql

2、修改slave的my.ini
####################
log-bin=c:\mysql\logs\mysql_binary_log
server-id=2
master-host=192.168.1.102
master-user=backup
master-password=123456
master-connect-retry=60
replicate-do-db=test
####################


说明:
master-host=192.168.1.102                #master的IP
master-user=backup                            #master上作为同步用的用户名
master-password=123456                 #同步用户名的密码
master-connect-retry=60                     #设置同步的时间
replicate-do-db=test                             #需要同步的数据库

3、重新启用mysql
c:\mysql\bin\mysql restart  或 /etc/init.d/mysql restart

4、进入slave的mysql,对mysql进行操作
mysql> stop slave;                  #停止slave服务器

mysql> CHANGE MASTER TO
    ->     MASTER_HOST='192.168.1.102',
    ->     MASTER_USER='backup',
    ->     MASTER_PASSWORD='123456',
    ->     MASTER_LOG_FILE='mysql_binary_log.025',
    ->     MASTER_LOG_POS=796947;

mysql> START SLAVE;         #开启slave服务器就可以同步了



注:
  MASTER_LOG_FILE='mysql_binary_log.025',
  MASTER_LOG_POS=796947;
上面这两条是一开始从master上进入mysql,运行 SHOW MASTER STATUS; 查看到的,在实际操作中也可以不加的。

  
  
  

  ##############################################
在master的mysql里运行
mysql > show processlist;
看到两个 system user 就是正常的
+----+-------------+----------------+------+-------------+------+---------------
--------------------------------------------------------+------------------+
| Id | User        | Host           | db   | Command     | Time | State
                                                        | Info             |
+----+-------------+----------------+------+-------------+------+---------------
--------------------------------------------------------+------------------+
|  1 | system user |                | NULL | Connect     | 4499 | Waiting for ma
ster to send event                                      | NULL             |
|  2 | system user |                | NULL | Connect     | 4499 | Has read all r
elay log; waiting for the I/O slave thread to update it | NULL             |
|  7 | root        | localhost:1309 | test | Query       | 0    | NULL
                                                        | show processlist |
| 40 | backup      | ETE-KF2:1354   | NULL | Binlog Dump | 513  | Has sent all b
inlog to slave; waiting for binlog to be updated        | NULL             |
+----+-------------+----------------+------+-------------+------+---------------
--------------------------------------------------------+------------------+
4 rows in set (0.00 sec)

  mysql> show master status;
出现如下:
+----------------------+----------+--------------+------------------+
| File                 | Position | Binlog_do_db | Binlog_ignore_db |
+----------------------+----------+--------------+------------------+
| mysql_binary_log.001 | 1011     | test         | mysql            |
+----------------------+----------+--------------+------------------+



在slave的mysql里运行
mysql> show processlist;
出现如下:
+----+-------------+----------------+------+---------+------+-------------------
----------------------------------------------------+------------------+
| Id | User        | Host           | db   | Command | Time | State
                                                    | Info             |
+----+-------------+----------------+------+---------+------+-------------------
----------------------------------------------------+------------------+
|  3 | root        | localhost:1353 | test | Query   | 0    | NULL
                                                    | show processlist |
|  4 | system user |                | NULL | Connect | 740  | Waiting for master
 to send event                                      | NULL             |
|  5 | system user |                | NULL | Connect | 730  | Has read all relay
 log; waiting for the I/O slave thread to update it | NULL             |
+----+-------------+----------------+------+---------+------+-------------------
----------------------------------------------------+------------------+
3 rows in set (0.00 sec)


mysql> show slave status;
+---------------+-------------+-------------+---------------+-------------------
---+---------------------+-----------------------+---------------+--------------
---------+------------------+-------------------+-----------------+-------------
--------+------------+------------+--------------+---------------------+--------
---------+
| Master_Host   | Master_User | Master_Port | Connect_retry | Master_Log_File
   | Read_Master_Log_Pos | Relay_Log_File        | Relay_Log_Pos | Relay_Master_
Log_File | Slave_IO_Running | Slave_SQL_Running | Replicate_do_db | Replicate_ig
nore_db | Last_errno | Last_error | Skip_counter | Exec_master_log_pos | Relay_l
og_space |
+---------------+-------------+-------------+---------------+-------------------
---+---------------------+-----------------------+---------------+--------------
---------+------------------+-------------------+-----------------+-------------
--------+------------+------------+--------------+---------------------+--------
---------+
| 192.168.1.102 | backup      | 3306        | 10            | mysql_binary_log.0
01 | 1011                | ete-kf2-relay-bin.002 | 227           | mysql_binary_
log.001  | Yes              | Yes               | test            |
        | 0          |            | 0            | 1011                | 223
         |
+---------------+-------------+-------------+---------------+-------------------
---+---------------------+-----------------------+---------------+--------------
---------+------------------+-------------------+-----------------+-------------
--------+------------+------------+--------------+---------------------+--------
---------+
1 row in set (0.00 sec)
  
  参考文档:
http://forums.gentoo.org/viewtopic.php?t=241123
http://www.howtoforge.com/mysql_database_replication_p2
http://dev.mysql.com/doc/refman/4.1/en/replication-howto.html
http://bbs.iyunv.com/viewthread.php?tid=692359&highlight=mysql

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-270327-1-1.html 上篇帖子: Macbook中的mysql密码忘记,如何修改 下篇帖子: MySQL服务维护笔记(上)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表