012_Mysql集群主从配置

作者: 明天你好向前奔跑 | 来源:发表于2018-03-09 18:17 被阅读27次

@Author Jacky Wang
近日搭建了Mysql集群,特记录与此.转载请标注出处

一、安装环境

  1. 数据库已安装

    1. 主数据库ip:192.168.73.134
    2. 从数据库ip:192.168.73.135
  2. 当前Linux操作系统:CentOS7.2

  3. Mysql数据库版本:5.6.39

Mysql的安装可参照之前的总结:http://www.jianshu.com/p/5e9b8cd9deb5

二、主库配置

1. vim /etc/my.cnf

编辑内容,在[mysqld]下添加以下配置:
    server-id=134
    log_bin=mysql-bin
    max_binlog_size = 500M
    binlog_cache_size = 128K
    binlog-ignore-db=information_schema
    binlog-ignore-db=performance_schema
    binlog-ignore-db=mysql
    #同步的数据库名称,多条新增
    binlog-do-db=test_db
    log-slave-updates
    expire_logs_day=2
    binlog_format="MIXED"
02.png
2.1 各个参数的含义和相关注意项:
server-id = 134 : 服务器标志号,注意在配置文件中不能出现多个这样的标识,如果出现多个的话mysql以第一个为准,一组主从中此标识号不能重复。
log_bin=mysql-bin : 开启bin-log,并指定文件目录和文件名前缀。注意是_不是-,很多资料里面都是-,本人就踩了这个坑。
max_binlog_size = 500M : 每个bin-log最大大小,当此大小等于500M时会自动生成一个新的日志文件。
binlog_cache_size = 128K : 日志缓存大小
binlog-ignore-db=information_schema :不需要同步的数据库名字,如果是多个,就以此格式在再一行即可。
binlog-ignore-db=performance_schema
binlog-ignore-db=mysql
binlog-do-db=hhbox_devp : 需要同步的数据库名字,如果是多个,就以此格式再写一行即可
log-slave-updates : 当Slave从Master数据库读取日志时更新新写入日志中,如果只启动log-bin 而没有启动log-slave-updates则Slave只记录针对自己数据库操作的更新。
expire_logs_day=2 : 设置bin-log日志文件保存的天数,此参数mysql5.0以下版本不支持。
binlog_format="MIXED" : 设置bin-log日志文件格式为:MIXED,可以防止主键重复。

三、从库配置

1. vim /etc/my.cnf

编辑内容,在[mysqld]下添加以下配置:
    
    server-id=135
    log_bin=mysql-bin
    binlog-ignore-db=information_schema
    binlog-ignore-db=performance_schema
    binlog-ignore-db=mysql
    #同步的数据库名称,多条新增
    binlog-do-db=test_db
    log-slave-updates
    slave-skip-errors=all
    slave-net-timeout=60
03.png

四、实现主从同步

4.1 实现数据库的统一

检查主从数据库的配置文件,查看是否已正确配置。首次实现同步,要备份主库上需要同步的数据库,然后完整的导入到从库中。

4.2 查看并记录主库bin-log信息

进入主库mysql中(先重启mysql),执行:

1. 重启mysql : service mysqld restart
2. 进入mysql : mysql -u root -p
3. 赋予从库权限账号,允许用户在主库上读取日志,赋予Slave机器有File权限与REPLICATION SLAVE的权限。
在Master数据库命令行中输入:
        GRANT FILE ON *.* TO 'root'@'192.168.73.135' IDENTIFIED BY 'mysql password';
        GRANT REPLICATION SLAVE ON *.* TO 'root'@'192.168.73.135' IDENTIFIED BY 'mysql password';
        FLUSH PRIVILEGES
    这里使用的仍是 root 用户作为同步的时候使用到的用户。

4. 重启mysql,显示主库信息。
        show master status;

显示如下:

04.png
4.3 在从库上执行同步语句
1. 首先重启mysql : service mysqld restart
2. 进入mysql : mysql -uroot -p
3. 在mysql内部执行以下语句 :
    stop slave;
    change master to master_host='192.168.73.134',master_user='root',master_password='123456',master_log_file='mysql-bin.000001', master_log_pos=120; 

4. start slave;
5. show slave status \G; 查看配置的信息

配置成功。

相关文章

网友评论

    本文标题:012_Mysql集群主从配置

    本文链接:https://www.haomeiwen.com/subject/hbrmfftx.html