MYSQL——1.主从搭建


  • 环境准备

    • 确保2台服务器已安装相同版本的mysql
    • 我这里用一个台式机,一个笔记本做两台服务器,配置皆为5.7.36mysql,centos7.4
  • 主机配置

    • 主库设置一个复制使用的账户,并授予REPLICATION SLAVE权限。这里创建一个复制用户repl,可以从IP为192.168.3.71(从库)的主机进行连接:

      • GRANT REPLICATION SLAVE ON . To '用户名'@'从库ip IDENTIFIED BY '密码';
    • 修改配置文件

      [mysqld]
      log-bin=/自己设置的路径/mysql-bin.log    # 我这里是放在了/opt/mysql/data/log/mysql-bin.log   配置文件在/etc/my.cnf
      server-id= 1
      
    • 得到主库上当前的二进制日志名和偏移量值。这个操作的目的是为了在从数据库启动以后,从这个点开始进行数据的恢复

      show master status;

  • 从库配置

    • 配置从库my.cnf 修改server-id参数与主库不相同,我这里改成2

    • 从库使用 --skip-slave-start选项启动从库,这样不会立即启动从数据库服务上的复制进程,方便对从数据库的服务进行进一步的配置:

        ./bin/mysqld_safe --defaults-file=/etc/my.cnf --skip-slave-start
        另外一种方式
        /etc/init.d/mysqld start --skip-slave-start
      
    • 对从数据库服务器做相应设置,指定复制使用的用户,主数据库服务器的IP、端口 以及开始执行复制的日志文件和位置等

          mysql>change master to master_host='主机ip',master_user='用户名',master_password='用户密码',master_port='3306',master_log_file='mysql-bin.000007',master_log_pos=453;
      
          # pos后边没引号
      
    • 检查从服务器复制功能状态 slave_io_running 和 slave_sql_running都必须是yes \G后边无分号