mysql 主从设置
* 两台已经安装mysql服务的服务器
* 两台服务器创建一模一样的数据库
* 保证主库从库server_id不一致,不能重复
* 创建用于从库同步数据的账号并授权
操作节点:主库
mysql> grant replication slave, replication client on *.* to 'repl'@'%' identified by 'zabbix@repl'; mysql> flush privileges;
* 主库配置
# 启用二进制日志 log-bin; log_bin = mysql-bin # 忽略同步的数据库 binlog-ignore-db = information_schema binlog-ignore-db = mysql
* 导出主库数据
# 锁表,MySQL控制台执行 mysql> flush tables with read lock; # 查询主机binlog信息,binlog日志文件名和binlog日志位置,MySQL控制台执行 mysql> show master status; +------------------+----------+--------------+--------------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+--------------------------+-------------------+ | mysql-bin.000004 | 2851303 | | information_schema,mysql | | +------------------+----------+--------------+--------------------------+-------------------+ # 导出数据 mysqldump -uzabbix -pzabbix zabbix > zabbix.sql # 解锁表,MySQL控制台执行 mysql> unlock tables;
* 从库导入主库数据
操作节点:从库
mysql -uzabbix -pzabbix zabbix < zabbix.sql
* 设置从库连接主机
# MySQL控制台执行 mysql> change master to master_host='10.5.7.195', master_user='repl', master_password='zabbix@repl', master_log_file='mysql-bin.000004', master_log_pos=2851303;
# 启动主从同步
mysql> start slave;
# 查看主从同步状态
mysql> show slave status\G;
* 参数介绍:
master_host:主库的ip地址
master_user: 同步账号
master_password:账号密码
master_log_file: 主库binlog日志文件名
master_log_pos:主库binlog日志位置
浙公网安备 33010602011771号