mysql主从分离
Posted zhyemmmm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql主从分离相关的知识,希望对你有一定的参考价值。
1、工具:
两台机器
master:192.168.0.1
slave:192.168.0.2
2、master的配置
找到mysql的配置文件,一般centos的是/etc/my.cnf,ubuntu的是/etc/mysql/mysql.conf.d/mysqld.cnf
跳到到[mysqld]下配置
bind-address = 192.168.0.1 #可注释 server-id = 1 #架构中唯一节点id log_bin=mysql-bin log_bin = /var/log/mysql/mysql-bin.log #开启binlog binlog-ignore-db=mysql #不需要复制的数据库 binlog-do-db=ufind_db #要复制的数据库
重启master
service mysql restart
进入mysql命令行,加用户
CREATE USER \'zhylioooo\'@\'%\' IDENTIFIED BY \'123456\'; GRANT REPLICATION SLAVE ON *.* TO \'zhylioooo\'@\'%\';
导出master数据库
给数据库加锁使其只可读
FLUSH TABLES WITH READ LOCK;
到处数据库文件
mysqldump -u root -p --all-databases --master-data > dbdump.sql
给数据库解锁
UNLOCK TABLES;
查看master的二进制记录文件及文件当前记录的位置
SHOW MASTER STATUS;
+
------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+
------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 1050 | | | |
+
------------------+----------+--------------+------------------+-------------------+
1 row
in
set
(0.00 sec)
3、slave配置
slave配置重点
server-id = 2 #架构中唯一节点id,比master大 log_bin=mysql-bin log_bin = /var/log/mysql/mysql-bin.log #开启binlog
重启mysql
导入master导出的数据库文件,使数据库一致
mysql -u root -p < dbdump.sql
进入mysql使slave与master连接
STOP SLAVE; CHANGE MASTER TO -> MASTER_HOST=\'192.168.0.1\', -> MASTER_USER=\'zhylioooo\', -> MASTER_PASSWORD=\'123456\', -> MASTER_LOG_FILE=\'mysql-bin.000001\', -> MASTER_LOG_POS=1050; START SLAVE;
4、集群策略:https://www.cnblogs.com/KTblog/p/5122825.html
以上是关于mysql主从分离的主要内容,如果未能解决你的问题,请参考以下文章