9.2 主从部署
9.2.1 主库参数配置
1cat > /mysqljem/master/my.cnf <<"EOF"2[mysqld]3user=mysql4port=33065character_set_server=utf8mb46secure_file_priv=''7server-id = 8027332618log-bin =9binlog_format=row10binlog-ignore-db = mysql11binlog-ignore-db = information_schema12binlog-ignore-db = performance_schema13binlog-ignore-db = sys14replicate_ignore_db=information_schema15replicate_ignore_db=performance_schema16replicate_ignore_db=mysql17replicate_ignore_db=sys18skip-name-resolve19report_host=172.72.0.7220EOF
9.2.2 从库参数配置
1cat > /mysqljem/slave/my.cnf <<"EOF"2[mysqld]3user=mysql4port=33065character_set_server=utf8mb46secure_file_priv=''7server-id = 8027332628log-bin =9binlog_format=row10binlog-ignore-db = mysql11binlog-ignore-db = information_schema12binlog-ignore-db = performance_schema13binlog-ignore-db = sys14replicate_ignore_db=information_schema15replicate_ignore_db=performance_schema16replicate_ignore_db=mysql17replicate_ignore_db=sys18skip_name_resolve19report_host=172.72.0.7320EOF2122说明:23binlog-ignore-db:此参数表示不记录指定的数据库的二进制日志24replicate_ignore_db:用来设置不需要同步的库2510.5.3主库创建用户26mysql> create user repl@'172.72.0.73' identified with mysql_native_password by 'root';27mysql> grant all on *.* to repl@'172.72.0.73' with grant option;28mysql> flush privileges;29注意:172.72.0.73为从库ip
9.2.3 主从数据同步
1【主库dump导出jemdb数据库】2mysqldump -uroot -proot -h172.72.0.72 -P3306 \3--single-transaction \4--hex-blob --routines --events --triggers --source-data=2 \5--set-gtid-purged=OFF --databases jemdb --default-character-set=utf8 \6--max_allowed_packet=512M > /tmp/salve.sql7注意:如果是所有数据库,就是-A8以下在主库操作插入数据9mysql> show master status \G;10mysql> insert into jemdb.mytb1 values(3,'a'),(4,'b');11mysql> show slave hosts;12mysql> select @@hostname,@@server_id,@@server_uuid;1314【从库同步主库数据】15① 通过以下方法查找同步的启示位置16[root@jeames ~]# grep "CHANGE MASTER" /tmp/salve.sql17-- CHANGE MASTER TO MASTER_LOG_FILE='master-bin.000002', MASTER_LOG_POS=1144;18② dump导入库19mysql -uroot -proot -h172.72.0.72 -P3306 < /tmp/salve.sql20③ 登陆从库同步21[root@jeames ~]# mysql -uroot -proot -h172.72.0.73 -P330622mysql> change master to23master_host='172.72.0.72',24master_user='repl',25master_password='root',26master_port=3306,27master_log_file='master-bin.000002',28master_log_pos=1144;29注意:master-bin.000002为主库binlog,1144为binlog中的MASTER_LOG_POS30④ 从库同步开始31mysql> start slave;32【主库确认】33mysql> show slave hosts;
【从库设置只读】
mysql> show variables like '%read%';
mysql> set global read_only=1;
如果MySQL主从同步OK,则可以看到如下图所示的信息
