Appearance
主服务器:阿里云 ;从服务器:Mac本地服务器[主从数据库版本最好一致]
主服务器配置 /etc/mysql/mysql.conf.d
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
log-error = /var/log/mysql/error.log
log-bin = mysql-bin #开启二进制日志
server-id = 1 #设置server-id
binlog-do-db = test_db # 只同步test_db
创建数据库,用户,赋予权限[全程在root用户下]
CREATE DATABASE IF NOT EXISTS test_db; #创建数据库
CREATE USER 'test1'@'IP' IDENTIFIED BY 'test1';#创建用户
GRANT ALL PRIVILEGES ON `test_db`.* TO `test1`@`%` WITH GRANT OPTION;#赋予增删改查权限
GRANT REPLICATION SLAVE ON *.* TO 'test1'@'%';#建立复制时
FLUSH PRIVILEGES;#刷新权限
重启mysql
service mysql restart
查看mysql的test1用户信息
- file:mysql-bin.000001
- position:559
从服务器
参考【MAC】MYSQL8.0版本添加配置文件MY.CNF
- mysql安装路径在 /usr/local/mysql
在路径 /usr/etc中创建 my.cnf文件
[client]
default-character-set = utf8
[mysqld]
server-id = 2 #设置server-id,必须唯一
character-set-server = utf8
重启mysql
sudo /usr/local/mysql/support-files/mysql.server restart
连接slave,若已开启需要先暂停slave
slave stop/start;
CHANGE MASTER TO
CHANGE_HOST = 'IP',
CHANGE_USER = 'test1',
CHANGE_PASSWORD = '密码',
CHANGE_LOG_FILE = 'mysql-bin.000001',
MASTER_LOG_POS = 559;
查看连接状态,Slave_双YES则表示连接成功
show slave status\G
Slave_IO_Running: YES
Slave_SQL_Running: YES
两个都是YES则连接成功
扩展 常见问题排查
1.主服务器是云服务器,没有开通安全组;
2.账户密码错误;
3.连接服务器时语法;
4.mysql配置文件问题;
5.主服务器mysql权限;
6.从数据库没创建;