您的位置:首页 > 运维架构 > Linux

centos7+mysql5.7.11实现主从复制

2018-03-11 19:26 555 查看

1  首先检测当前的系统是否已经安装了MySQL

  yum list installed | grep mysql

  如果有的话,删除

2  下载rpm库资源,在网页 https://dev.mysql.com/downloads/repo/yum/ 中可以自己选择合适的版本, 然后安装

  因为本人的版本是centos 7 ,所以:

     wget  https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

    yum localinstall mysql57-community-release-el7-11.noarch.rpm

  如果不想安装最新版本的mysql,可以参考 https://translate.google.cn/#en/zh-CN/MySQL Cluster CGE    进行设置。

3  安装并启动mysql

  

yum install mysql-community-server

  service  mysqld  start

4  初始的可能的mysql配置

  mysql安装后默认会生成一个随机密码,我们可以通过以下命令进行查看:

    grep password  /var/log/mysql.log  

  然后使用登录mysql

    mysql -u root -p

  修改密码:

    SET PASSWORD = PASSWORD("新密码")

    由于mysql可能(默认)加载了密码验证插件,所以如果新密码过于简单可能会报错。

    解决方法:

      set  global validate_password_policy = 0;     //  这样将验证规则改为基于长度

      set global  validate_password_length = 1;   // 设置密码最短长度,本例中设置为1

    还有其他解决办法,详情请看:https://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html

  创建主从复制用户并授权:

    grant replication slave on *.* to mncu@hostname  identified by 'password';

    

  5  关闭selinux 

  setenforce 0

  vim /etc/selinux/config   将SELINUX参数设置为disabled

6  防火墙设置

  因为centos默认的防火墙是Firewall而不是iptables,所以设置一下。

    firewall-cmd –add-port=3306/tcp

    firewall-cmd –permanent –add-port=3306/tcp

    firewall-cmd –reload success

 

7  配置mysql配置文件。

  主:

    vim /etc/my.cnf  添加以下几行:

    log-bin=mysql-bin       #  slave会基于此log-bin来做replication
    server-id=1         #  master的标示
    innodb_flush_log_at_trx_commit=1
    sync_binlog=1

  从:

    vim /etc/my.cnf  添加该行:

    server-id=2 #slave的标示
8  配置主从:

  主:

    show  master status;

    会显示如下信息:

       File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
    +------------------+----------+--------------+------------------+-------------------+
    | mysql-bin.000001 |      329 |              |                  |                

  从:

    stop slave;
    change master to master_user=’mncu’,master_password=’123456’,master_host=’192.168.1.11’,master_port=3306,master_log_file=’mysql-bin.000001’,master_log_pos=329;
    start slave;

    

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: