Skip to content
本文总阅读量

主服务器:阿里云 ;从服务器: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.从数据库没创建;

扩展思维 可互为主从,实现读写分离