• Centos 6.8 配置mysql数据库主从同步


    Mysql的主从复制至少是需要两个Mysql的服务,当然Mysql的服务是可以分布在不同的服务器上,也可以在一台服务器上启动多个服务,首先确保主从服务器上的Mysql版本相同。

    一、安装部署mysql

    1、 安装服务器端:yum install mysql-server
    
             yum install mysql-devel
    
      安装客户端:  yum install mysql
    
    2、 启动服务:  service mysqld start

    二、设置密码

    /usr/bin/mysql_secure_installation

    三、开启MySQL远程登录

    登录数据库:mysql -u root -p123456    #root账号 #123456数据库密码

    切换到mysql系统数据库:use mysql;
    修改user表用户权限:update user
    set host='%' where host='127.0.0.1';

    grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

    flush privileges;
    重载系统权限:flush privileges; #这个一定要执行
    开启3306远程端口权限:iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
      
    查看规则是否生效:iptables -L -n 或者 :service iptables status

    重启mysql服务:service mysqld restart

    二、配置mysql主从同步

      准备两台测试的虚拟机,如上安装mysql环境,并开启mysql服务

      主master : 192.168.2.46

      从slave  :   192.168.227.129

      修改主库配置文件,开启binlog,并设置server-id,每次修改配置文件后都要重启mysql服务才会生效:vim /etc/my.cnf ,在该配置文件[mysqld]下面添加下面内容:

    [mysqld]
    log-bin=/var/lib/mysql/binlog
    server-id=1
    binlog-do-db = cmdb #cmdb要同步的数据库名
    binlog-ignore-db = mysql 不同步mysql库和test库
    binlog-ignore-db = test
    
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    ...... 

      server-id:master端的ID号;

      log-bin:同步的日志路径及文件名,一定注意这个目录要是mysql有权限写入的;

      修改配置文件后,重启服务:service mysqld restart

      查看主服务器当前二进制日志名和偏移量,这个操作的目的是为了在从数据库启动后,从这个点开始进行数据的恢复

    mysql> show master status;
    +---------------+----------+--------------+------------------+
    | File          | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +---------------+----------+--------------+------------------+
    | binlog.000001 |     106 | cmdb         |                  |
    +---------------+----------+--------------+------------------+
    row in set (0.00 sec)

    创建需要同步的数据库:create database cmdb default charset utf8;

      主服务器已配置好。

    2、配置从库

      理所当然也是从配置文件着手,在/etc/my.cnf 添加下面配置:

    [mysqld]
    server-id=2
    master-host=192.168.2.46
    master-user=root
    master-password=123456
    master-port=3306
    replicate-do-db=cmdb
    ......

      启动slave进程

    mysql> slave start;
    Query OK, 0 rows affected (0.04 sec)

    Centos 7:
    mysql>start  slave ; 
    Query OK, 0 rows affected (0.04 sec)

      查看slave的状态,如果下面两项值为YES,则表示配置正确:show slave statusG:

     

    change master to master_host='172.24.254.104', master_user='dshbroot', master_password='Dszc@20190923',master_log_file='binlog.000002', master_log_pos=3355;
    
     grant replication slave on *.* to 'dshbroot'@'localhost' identified by 'Dszc@20190923';
  • 相关阅读:
    SQLServer 查询死锁
    SQLServer 查询当前的进程
    Python请求出现requests.exceptions.ConnectionError: HTTPSConnectionPool错误的解决方案。
    《C和指针》学习笔记[第一章 快速上手]
    sshkeygen
    ASM win64 abc
    Ways to Build
    call stack
    CALL and Linker
    CentOS 修改文件夹权限、所属用户和用户组
  • 原文地址:https://www.cnblogs.com/aqicheng/p/10214908.html
Copyright © 2020-2023  润新知