配置 MySQL 主从同步

451 查看

配置主库

一. 找到 my.cnf 文件并编辑

妈蛋我找不到 my.conf 文件?!!

/path/to/bin/mysqld --verbose --help | vim -

妈蛋我找不到 mysqld ?!!!

ps -ef | grep mysqld

现在总可以安心编辑了 my.cnf 了吧:

log_bin       = master-bin
log_bin_index = master-bin.index
server_id     = 1

二. 创建同步帐号

CREATE USER replicator;
GRANT REPLICATION SLAVE ON *.* TO replicator IDENTIFIED BY 'slaver';

三. 重启 master 的 mysqld 并记录起始位置

# ubuntu
service mysql restart
# Mac homebrew
mysql.server restart

记录 master 当前的起始位置

show master status;
+-------------------+----------+--------------+------------------+-------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+------------------+-------------------+
| master-bin.000001 |     2462

配置从库

一. 修改 my.cnf (再找不到文件自宫好了)

server_id        = 2
relay_log_index  = slave-relay-bin.index
relay_log        = slave-relay-bin

改完重启 mysqld,不知道怎么重启继续自宫

二. 配置从库链接主库并开始同步

CHANGE MASTER TO \
MASTER_HOST='192.168.x.y',
MASTER_PORT=3306,
MASTER_USER='replicator',
MASTER_PASSWORD='slaver',
master_log_file='master-bin.000001',
master_log_pos=2462;

master_log_file 和 master_log_pos 这个就是上面的 show master status 查出来的位置。

--开始愉快的同步了
START SLAVE