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日志位置

 

posted @ 2020-04-30 11:41  LiuDarren  阅读(135)  评论(0)    收藏  举报