发表于 2018-10-8 11:45:51

mysql数据库主从同步(非交互式)

  mysql数据库主从同步非交互式配置步骤,本文以一台mysql数据库多实例3306和3308为例进行配置,3306为主库,3308为从库(多台单实例与一台多实例配置是一样的)

  一.my.cnf文件配置
  1.修改my.cnf配置文件,主数据库3306要打开log-bin,server-id不能一样
  # egrep"log-bin|server-id" /data/{3306,3308}/my.cnf
  /data/3306/my.cnf:log-bin =/data/3306/mysql-bin
  /data/3306/my.cnf:server-id = 1
  /data/3308/my.cnf:#log-bin =/data/3308/mysql-bin
  /data/3308/my.cnf:server-id = 3
  2.重启数据库3306和3308
  # /data/3306/mysqlstop
  #/data/3306/mysql start
  # /data/3308/mysqlstop
  # /data/3308/mysqlstart
  3.进入主数据库3306,查询log_bin是否打开,server_id是多少
  # mysql -uroot-p123456 -S /data/3306/mysql.sock
  mysql> show variables like"log_bin";
  +---------------+-------+
  | Variable_name | Value |
  +---------------+-------+
  | log_bin       | ON   |
  +---------------+-------+
  1 row in set (0.01 sec)
  mysql> show variables like"server_id";
  +---------------+-------+
  | Variable_name | Value |
  +---------------+-------+
  | server_id   | 1    |
  +---------------+-------+
  1 row in set (0.00 sec)
  4.创建一个专门用来同步数据库的用户

  mysql> grant replicationslave on *.* to rep@'10.0.0.%'>  ###*.*代表所有库和所有表
  mysql> flush privileges;
  mysql> select user,hostmysql.user;
  mysql> show grants forrep@'10.0.0.%';
  二.主库3306备份数据,导入从库3308
  1.在主库3306上备份数据
  # mysqldump-uroot -p123456 -S /data/3306/mysql.sock -A --events -B -x --master-data=1|gzip>/opt/$(date +%F).sql.gz
  -A:所有的库    -x:全局锁表
  2.将数据导入从库3308
  # ls /opt
  2017-07-03.sql.gz
  # cd /opt
  # gzip -d2017-07-03.sql.gz
  # ls
  2017-07-03.sql
  # mysql -uroot-p123456 -S /data/3308/mysql.sock
页: [1]
查看完整版本: mysql数据库主从同步(非交互式)