设为首页 加入收藏

TOP

MySQL双Master配置(一)
2015-11-21 01:25:24 来源: 作者: 【 】 浏览:0
Tags:MySQL Master 配置
主机环境说明。
master1: 10.8.1.11
master2: 10.8.1.12
版本信息:
? ? [root@m1 ~]# mysql -V
? ? mysql ?Ver 14.14 Distrib 5.6.27, for Linux (x86_64) using ?EditLine wrapper
?
1、主库开启bin-log功能,配置server-id
?
修改my.cf配置文件,开启bin-log功能,配置server-id。
    [root@m1 ~]# more /etc/my.cnf
    
    # For advice on how to change settings please see
    # http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
    
    [mysqld]
    server-id = 1
    datadir = /var/lib/mysql
    log_bin = /var/lib/mysql/bin-log
    socket = /var/lib/mysql/mysql.sock
    slave_net_timeout = 60
    log-slave-updates
    slave-skip-errors=all
    skip-name-resolve
    sync_binlog=1
    auto_increment_increment=2
    auto_increment_offset=1
    
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    
#salve-net-timeout默认是3600秒,缩短时间是为了防止双YES的假象
#(事实上我已遇到,参考地址:http://www.cnblogs.com/billyxp/p/3470376.html)
如果要指定同步或不同步哪些库,可使用如下参数
#binlog-do-db=osyunweidb   #需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行
#binlog-ignore-db=mysql    #不同步mysql系统数据库

?

至于这些参数的说明具体看手册。
?
红色的部分非常重要,如果一个MASTER 挂掉的话,另外一个马上接管。
紫红色的部分指的是服务器频繁的刷新日志。这个保证了在其中一台挂掉的话,日志刷新到另外一台。从而保证了数据的同步?
?
2、确认bin-log与server-id是否开启:
?
查看命令 show variables like 'log_bin'; show variables like 'server_id';
mysql> show variables like 'log_bin';
+---------------+-------+
|Variable_name | Value |
+---------------+-------+
|log_bin       | ON   |
+---------------+-------+
1 rowin set (0.00 sec)
mysql>show variables like 'server_id';
+---------------+-------+
|Variable_name | Value |
+---------------+-------+
|server_id     | 1     |
+---------------+-------+
1 rowin set (0.00 sec)

?

?
3、创建复制授权用户
?
mysql> grant replication slave on *.* to replication@'%'identified by '123456'; #授权该用户对所有表都能进行复制
mysql>flush privileges; ?#刷新权限
?
4、锁表,记录log-bin文件名和位置
?
mysql>flush tables with read lock;     #锁定所有表,此时数据库不能写入数据
QueryOK, 0 rows affected (0.05 sec)

mysql>show master status;      #查看最新bin-log文件及位置
+------------------------+------------+-------------------+-------------------------+
|File                   | Position   | Binlog_Do_DB      | Binlog_Ignore_DB        |
+------------------------+------------+-------------------+-------------------------+
|mysql-bin.000001       |  26314    |                   |                        |
+------------------------+------------+-------------------+-------------------------+
1row in set (0.00 sec)

?

?
5、锁表状态全备mysql数据
?
由于退出当前mysql登陆窗口,锁表功能就失效,需克隆一个会话进行全备。
#mysqldump-uroot -p -A -B > /tmp/mysql_bak_2015_11_17.sql
?
看下备份数据大小,确认备份成功。
? ? [root@m1 ~]# ls -l mysql_bak_2015_11_17.sql?
? ? -rw-r--r--. 1 root root 645327 Nov 18 06:27 mysql_bak_2015_11_17.sql
? ? [root@m1 ~]#?
?
?
6、解除锁表
?
mysql>unlock tables;
或直接quit退出即可。
?
7、从库开启bin-log功能,配置server-id
?
从库开启bin-log功能后,待会在主上在配置同步,互为主从就完成了。
[root@m2 ~]# vi /etc/my.cnf
    
    # For advice on how to change settings please see
    # http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
    
    [mysqld]
    server-id = 2
    datadir = /var/lib/mysql
    log_bin = /var/lib/mysql/mysql-bin
    socket = /var/lib/mysql/mysql.sock
    slave_net_timeout = 60
    log-slave-updates
    slave-skip-errors=all
    skip-name-resolve
    sync_binlog=1
    auto_increment_increment=2
    auto_increment_offset=2
    
    sql_mode=N
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇mysql主从同步中应注意的问题 下一篇mysql分表和表分区详解

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: