1.环境介绍
自己的主机--master
同学的主机--slave
2.安装mysql
https://blog.csdn.net/weixin_45955039/article/details/130144515?spm=1001.2014.3001.5501
3. 准备工作
3.1在云服务器上添加端口号
3.2关闭防火墙
systemctl stop firewalld
setenforce 0
4.master上的配置
4.1在文件/etc/my.cnf中添加以下内容,切记要添加在[mysqld]下
vim /etc/my.cnf
server-id=1
log-bin=mysql-bin
4.2重新启动mysql服务
systemctl stop mysqld
systemctl start mysqld
4.3查看服务id是否是1
登录mysql
mysql -uroot -p123456
查看id
SHOW VARIABLES LIKE 'server_id';
4.4给从主机副本权限
更改密码,先修改密码规则
set global validate_password.policy=0;
set global validate_password.length=1;
创建用户(这里不要建议使用root用户)
CREATE USER 'repl'@'%' IDENTIFIED BY '123456';
ALTER USER 'repl'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;
4.5查看主库状态
这里一定要记住日志文件的名字和位置
show master status;
5.slave安装及配置
5.1在文件/etc/my.cnf中添加以下内容,切记要添加在[mysqld]下
vim /etc/my.cnf
server-id=2
5.2启动mysql服务
systemctl stop mysqld
systemctl start mysqld
5.3查看服务id是否是2
登录mysql
mysql -uroot -p123456
SHOW VARIABLES LIKE 'server_id';
5.4为slave指定 master IP、用户名、密码、 bin-log文件名以及position
这里不知道文件名和position去看3.5
更改密码,先修改密码规则
set global validate_password.policy=0;
set global validate_password.length=1;
制定主节点
CHANGE MASTER TO
MASTER_HOST='101.43.248.178',
MASTER_USER='repl',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=849;
说明:
MASTER_HOST/SOURCE_HOST:主数据库的主机ip
MASTER_PORT/SOURCE_PORT:主数据库的端口,不设置则默认是3306
MASTER_USER/SOURCE_USER:主数据库被授予同步复制权限的用户名
MASTER_PASSWORD/SOURCE_PASSWORD:对应的用户密码
MASTER_LOG_FILE/SOURCE_LOG_FILE:在主数据库执行命令show master status 查询到的二进制日志文件名称
MASTER_LOG_POS/SOURCE_LOG_POS:在主数据库执行命令show master status 查询到的位置 Position的值
5.5启动从服务
start slave;
5.6查看从服务是否启动成功
两个线程都是yes就成功了
show slave status\G
6.测试
6.1在mster上创建一个tongbu库,并在tongbu库中创建master表
create database if not exists tongbu;
use tongbu;
CREATE TABLE IF NOT EXISTS master(
info varchar(20)
);