mysql 5.7 基于GTID 主从复制

环境

centos 7.5 minal x86_64 

mysql 5.7  wget http://repo.mysql.com/mysql57-community-release-el7.rpm

安装

yum install mysql-server -y

启动服务并初始化

systemctl start mysqld  && systemctl enable mysqld

查看密码

grep password /var/log/mysqld.log

mysql_secure_installation

fdaqtjmxb4)S 这是我设置的密码 这个版本对于密码检测要求比较高的

配置主库:

vim /etc/my.cnf

[mysqld]

server-id=4 ## #服务器id

log-bin=mysql-bin ##开启二进制日志

binlog-do-db=merry ##需要同步的数据库名

binlog-ignore-db=mysql ## ##禁止同步的数据库名

enforce_gtid_consistency=on ## #强制gtid一致性,开启后对于特定create table不被支持

重启服务

systemctl restart mysqld

主库上配置授权账户 用于同步数据

create user 'merry'@'%' identified by 'fdaqtjmxb4)S';

grant replication slave on *.* to 'merry'@'%' identified by 'fdaqtjmxb4)S';

flush privileges;

查看是否开启二进制日志

show variables like 'log_%';

查看主库状态:

show master status;

 

配置从库

vim /etc/my.cnf

[mysqld]

server-id=4

log-bin=mysql-bin

enforce_gtid_consistency=on

重启服务

systemctl restart mysqld

配置同步的数据库

change master to master_host='192.168.101.114',master_user='merry',master_password='fdaqtjmxb4)S',master_log_file='mysql-bin.000001',master_log_pos=836;

查看从库状态

show slave status\G;

此时显示no  需要开启 start slave;

再次查看状态 就可以看动主从复制开启了

此时就可以在主库测试

创建数据库merry

create database merry;

在从库show databases; 就可以看到读取到了

主库创建数据表user;

use merry;

create table user(id int primary key AUTO_INCREMENT, username varchar(255), password varchar(255));

insert into user(username, password) values ('admin', 'admin');

insert into user(username, password) values ('abc', 'linux');

select * from user;

 

从库查询:

use merry;

show tables;

至此 主从复制搭建完成!

 

 

你可能感兴趣的:(linux系统运维,数据库技术)