master上 :
1、修改配置文件并重启
1、修改配置文件并重启
#vim /etc/my.cnf
##开启二进制日志
server-id=1
log-bin=/usr/local/mysql/myBinLog/one
##开启GTID
gtid_mode=on
enforce_gtid_consistency=1
2、创建二进制目录并改权限
#mkdir -p /usr/local/mysql/myBinLog/one && chown -R mysql.mysql /usr/local/myBinLog/one
3、重启mysql
#systemctl restart mysql
ps:这里启动的服务名来之/etc/init.d/mysql,这个目录下的服务名来自/usr/local/mysql/support-files/mysql.server
4、进入数据库
#查看二进制日志是否开启
mysql>show variables like '%log_bin%';
![](https://i-blog.csdnimg.cn/blog_migrate/73746e1d15f1dcb52af999c091734275.png)
5、创建AB复制的用户
mysql>create user 'repl'@'%' identified by 'hjy';
mysql>flush privileges;
6、查看用于复制的用户及其授权;
mysql> select user,host from mysql.user;
![](https://i-blog.csdnimg.cn/blog_migrate/004393ec92a9ee23e2f0fbe063108131.png)
7、给从机授权
mysql> grant replication slave on *.* to repl@'192.168.242.14' identified by 'hjy';
8、查看主机状态:
mysql> show master status\G;
ps:如果服务器重启最后一行可能出现如下错误:---请重新执行7授权
9、全备份
#mysqldump -uroot -p123456 -A --single-transaction --master-data=2 --flush-logs --set-gtid-purged=OFF > /root/mysql.all1.aql
ps:不加--set-gtid-purged=OFF会报错,如下:………………
![](https://i-blog.csdnimg.cn/blog_migrate/a3d70af6b9833e5b87560ffd05d8ce64.png)
10、#确认关闭防火墙和selinux
slave上:
1、配置文件
1、配置文件
#vim /etc/my.cnf
server-id=2
#GTID
gtid_mode=on
enforce_gtid_consistency=1
2、初始化数据库
# mysql -uroot -p123456 < /root/mysql.all2.aql
#mysql -uroot -p123456 -e "flush privileges;"
ps: flush privileges希望在"不重启MySQL服务"的情况下直接生效.
3、从机宣告主权(宣告方式与你的AB配置的模式有关);
二进制模式:
mysql>change master to master_user='rel',master_password='heyajing',master_host='192.168.242.18',master_log__file='',master_log_pos=;
GTID模式:(基于二进制)
mysql>change master to master_user='rel',master_password='heyajing',master_host='192.168.242.18',master_auto_position=1;
4、启动slave
mysql>start slave;
5、查看slave状态,必须有两个YES
mysql>show slave status\G;
测试
okokokokok
ps:
#查看主机状态:
mysql> mysql> show master status\G;
ps:就算有授权,查看master状态时也会有下面问题,所以重新薮犬
看你的mysql现在已提供什么存储引擎:
mysql> show engines;
mysql> show engines;
看你的mysql当前默认的存储引擎:
mysql> show variables like '%storage_engine%';
mysql> show variables like '%storage_engine%';
你要看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):
mysql> show create table 表名;
mysql> show create table 表名;
#导入数据:
[root@two ~]# mysql -uroot -p123456 < /root/mysql.all4.sql
[root@two ~]# mysql -uroot -p123456 < /root/mysql.all4.sql