先安装两个相同版本的mysql 安装mysql8超详细教程一步一步cv安装
这里要注意所有mysql的配置内的server_id不能重复否则会出现salve_io_running no的情况
主配置:
[mysqld]
user=root
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
port=3306
max_connections=200
max_connect_errors=10
character-set-server=utf8
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
lower_case_table_names=1
group_concat_max_len=102400
# bin_log同步文件
log_bin=mysql-bin
# server_id要唯一
server_id=2
# 需要同步的数据库
binlog_do_db=ruoyi2
[mysql]
default-character-set=utf8
[client]
port=3306
default-character-set=utf8
从配置:
[mysqld]
user=root
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
port=3306
max_connections=200
max_connect_errors=10
character-set-server=utf8
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
lower_case_table_names=1
group_concat_max_len=102400
# bin_log同步文件
log_bin=mysql-bin
# server_id要唯一
server_id=20
relay_log=/usr/local/mysql/mysql-realay-bin
log_slave_updates=1
# 需要同步的数据库
replicate-do-db=ruoyi2
[mysql]
default-character-set=utf8
[client]
port=3306
default-character-set=utf8
配置好后重启mysql
一、主库配置
1、主库查询同步状态信息
show master status;
记住 file 和 position 一会配置从库的时候会用到
二、从库配置
1、添加主库连接
CHANGE MASTER TO
MASTER_HOST='主库ip',
MASTER_USER='主库用户名',
MASTER_PASSWORD='密码',
MASTER_LOG_FILE='上面主库查询到的file mysql-bin.000001',
MASTER_LOG_POS=上面主库查询到的position 40171;
2、启动同步
start slave;
3、查询同步状态
show slave status;
slave_io_running:yes
slave_sql_runing:yes
这两个yes说明成功了
slave_io_running:no 说明没有连到主库 需要检查主库服务器端口是否开放 使用的master_user是否有指定从服务器ip访问等
slave_sql_runing:no 说明没有读取到指定的binlog日志信息 需要检查read_master_log_post是否和主库的position一致 master_log_file是否和主库的file一致 (master_log_file和read_master_log_post是开始同步的文件和开始同步的位置)