基于二进制日志文件位置的复制

#根据前面的文档,搭建两台MySQL服务,具体步骤略

192.129 主
192.127 从

#主:配置这一步是因为my.cnf在/etc/下的话,它不会识别,需要在mysqld.service启动脚本中定义路径,然后需要把/etc/my.cnf配置文件拷贝到定义的目录下

vim /usr/lib/systemd/system/mysqld.service


搭建MYSQL主从_重启


#刷新使启动脚本生效

#再重启服务

systemctl daemon-reload
systemctl restart mysqld.service


#查看进程路径没问题,服务也已经起来

搭建MYSQL主从_vim_02


#从:同样也要定义my.cnf路径,把服务起来


搭建MYSQL主从_重启_03


#主和从上都要配置

#检查并配置两台机器的server_id

vi my.cnf #搜索server_id ,如果没有则增加

主上设置为 server_id = 1, 从上设置为 server_id = 2

#重启主和从服务


#主:定义log-bin,可以自定义,这一步在前面安装mysql的时候datadir = /data/mysql这个目录不能删除,否则不会生成相关目录,从上面不用配置

vim /usr/local/mysql/my.cnf


搭建MYSQL主从_vim_04


#主:重启服务并检查生成的文件,这个文件也可以默认生成,默认生成的和自定义的用一个就可以

systemctl restart mysqld.service


搭建MYSQL主从_vim_05


#主:进入数据库

mysql -uroot -p'123456'

#主:在数据库中,主上创建用作主从复制的用户,授权,刷新权限

create user 'rep'@'192.168.190.127'  identified with 'mysql_native_password' by '123456';
grant REPLICATION SLAVE  on *.* to 'rep'@'192.168.190.127';
flush privileges;


搭建MYSQL主从_mysql_06


#主:防火墙放行3306端口,防止拦截

firewall-cmd --permanent --add-port 3306/tcp    #做持久化放行3306端口
firewall-cmd --reload    #刷新规则


搭建MYSQL主从_mysql_07


#从:连接主的mysql,指定用户,密码和ip

mysql -urep -p'123456' -h 192.168.190.129

搭建MYSQL主从_重启_08


#主:查询日志名字以及位置,后面需要这两个东西

show master status; ##记录下对应的日志命令以及位置
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| yanglinux.000003 |     1294 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
mysql>

#从:到从上执行,连接从自己的root用户,执行下面的命令是为了把主从起 起来

change master to master_host='192.168.190.129',master_user='rep',master_password='123456',master_log_file='yanglinux.000003',master_log_pos=1294;
start slave;    #启动主从
show slave status\G    #检查Running状态


搭建MYSQL主从_重启_09

搭建MYSQL主从_mysql_10


#主:

#测试,

创建一个库在到从上查看有没有同步

create database yangaa;    #创建yangaa这个库

搭建MYSQL主从_vim_11


#从:查看库

show databases;

搭建MYSQL主从_重启_12