linux下mysql设置主从

一  主服务器修改

mysql的主从设置主要原理是 主数据库开启日志,并且创建从服务器专属账户,从服务器用该账户,读取到日志进行同步

  1. 准备两个mysql数据库(如何安装请查看,linux下mysql安装)版本最好一致,数据最好一致。
    42.159.88.203   root  !QAZ2wsx(设置成主数据库)
    42.159.93.208   root  !QAZ2wsx(设置成从数据库)
  2. 进入主数据库的linux的 root账户
    使用命令 # su 输入密码进入root账户
  3. 主数据库修改:
    (1) 使用命令 # vi /etc/my.cnf
    (2) 点击insert按钮进入insert模式

    (3) 复制配置到my.cnf文件(windows下可以直接ctrl+c复制内容,linux下用shift+insert粘贴内容)
         [mysqld]
         log-bin=mysql-bin 
         server-id=1 

    (4) 点击 ESC退出 insert ,输入 :wq! 回车  保存退出 :q不保存退出(esc退出insert模式 :wq! 会在最低下被打出,其他位置都不对)
  4. 进入mysql
    使用命令 # mysql -uroot -p 输入密码,出现“mysql>” 后即为进入成功
  5. 创建“从”数据用来同步的账户 slave1 密码 !QAZ2wsx  (注意设置密码是有策略的,及sql语句是需要“;”号的)
    mysql>use mysql
    mysql>CREATE USER 'slave1'@'42.159.93.208' IDENTIFIED BY '!QAZ2wsx';
    mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'123.57.44.85'; 
    mysql>lush privileges; 
    mysql>SHOW MASTER STATUS;
    (1)用命令  use mysql 进入到mysql数据库中进行添加用户操作
    (2)用命令  CREATE USER 'slave1'@'42.159.93.208' IDENTIFIED BY '!QAZ2wsx';
             如果出现
             密码不够复杂,要求 大小写 特殊字符数字 及8位以上
    (3)用命令 select User ,Host from user; 查询

    (4)使用命令 GRANT REPLICATION SLAVE ON *.* TO 'slave1 '@'42.159.93.208';  分配权限
    (5)使用命令 flush privileges;  刷新权限

    (6)使用命令SHOW MASTER STATUS;查看主服务器状态

    (7)重启服务
    exit 退出sql
    使用命令 service mysqld restart 重启服务

二  从服务器修改

    1. 同样进入从服务器的root账户

    2. 同样找到my.cnf配置文件,添加server-id

      [mysqld]
      server-id=2 #设置server-id,必须唯一
    3. 同样进入mysql
    4. 执行同步SQL语句(需要主服务器主机名,登陆凭据,二进制文件的名称和位置):

      使用命令 CHANGE MASTER TO MASTER_HOST='42.159.88.203',MASTER_USER='slave1',MASTER_PASSWORD='!QAZ2wsx',MASTER_LOG_FILE='mysql-bin.000006',MASTER_LOG_POS=941;

    5. 启动slave同步进程:
      使用命令  start slave;
    6. 查看slave状态
      使用命令 show slave statusG;

 

原文地址:https://www.cnblogs.com/ListenCode/p/11763123.html