美文网首页
centos7配置mysql主从服务器

centos7配置mysql主从服务器

作者: 心无执着 | 来源:发表于2017-04-13 10:07 被阅读0次

    1.将这两台IP授权,允许其它IP通过账号密码进行访问(如添加个admin账号允许所有外部IP以密码123456访问),分别登录进两台机子的mysql执行如下语句

    #mysql -u root -p

    mysql> Grant all privileges on . to ‘admin’@’%’ identified by ‘123456’ with grant option;

    mysql> Flush privileges;

    mysql> exit;

    ①上述代码的意思是创建一个admin用户,host=%,允许所有IP通过用户名admin进行访问。添加完刷新权限。

    ②此时两台机子的mysql应该是可以相互访问的,如果不可以,导致的原因有很多,最常见的是防火墙没关(关闭防火墙,或开放3306端口),mysql服务器绑定了本地地址(更改my.cnf文件,把bind-address注释掉)。

    #vi /etc/my.cnf

    2.主服务器修改my.cnf(/etc/mysql/my.cnf)文件,在[mysqld]下面增加下面几行代码

    #vi /etc/mysql/my.cnf

    server-id=1

    log-bin=master-bin

    log-bin-index=master-bin.index

    补充:

    binlog-do-db=db1

    binlog-ignore-db=mysql

    #启用二进制日志

    log-bin=mysql-bin

    #服务器唯一ID,一般取IP最后一段

    server-id=134

    保存后重启mysql(systemctl restart mysqld.service)

    #systemctl restart mysqld.service

    注:如果只需要同步特定的库,如上添加代码,binlog-do-db =admin #用于master-slave的具体数据库

    3.进入mysql后,查看主服务器mysql master状态,日志File为master-bin.000001,Position为120(记下这两个值,后面进行从服务器操作的时候需要用到)

    mysql -u root -p

    mysql> show master status;

    4.配置从服务器

    #vi /etc/my.cnf

    在[mysqld]下面增加下面几行代码(server-id跟主服务器不要相同了)

    server-id=10

    log-bin=master-bin

    log-bin-index=master-bin.index

    重启mysql

    #systemctl restart mysqld.service

    5.添加从(读)服务器跟随主(写)服务器

    #mysql -u root -p

    mysql> change master to

    master_host='112.74.106.195',

    master_user='admin',

    master_password='123456',

    master_port=3306,

    master_log_file='master-bin.000001',

    master_log_pos=120;

    6.启动slave

    mysql> start slave;

    停止

    mysql> stop slave;

    7.查看slave状态

    mysql> show slave status\G

    其中Slave_IO_Running 与 Slave_SQL_Running 的值都必须为YES,才表明状态正常。

    注:本文参考http://bbs.it-home.org/thread-70357-1-1.html

    相关文章

      网友评论

          本文标题:centos7配置mysql主从服务器

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