mysql配置读写分离实践

2020-11-14  本文已影响0人  chichoyi

背景说明

一、服务器A配置

[mysqld]
log-bin=/var/log/mysql/mysql-bin
server-id=1
innodb_flush_log_at_trx_commit = 1
sync_binlog = 1


#A服务查看是否关闭这个
show variables like '%skip_networking%';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| skip_networking | OFF   |
+-----------------+-------+
1 row in set (0.00 sec)

#创建给B服务器复制数据的账号
CREATE USER 'repl'@'%'
GRANT REPLICATION SLAVE ON *.*  TO  'repl'@'%'  identified by 
 'QFedu123!';

在B服务器测试连接是否成功
mysql -urepl -p'QFedu123!' -hmysql-master1

二、备份A服务器数据库和传输到B服务器

#使用工具保存数据库
mysqldump  -uroot -ppassword --dbname > dbname_test.db

#利用scp传文件
scp dbname_test.db root@123.123.21.12:/data

将备份文件导入服务器B

#登录
mysql -uroot -p

#选择数据库
use dbname_test;

#导入数据库
source /data/dbname_test.db;

三、配置B服务器

[mysqld]
server-id=2

#查询A服务器的日志到哪里了
show master status;

#B服务器设置从日志某个位置开始复制
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=643;

#配置连接账号
CHANGE MASTER TO MASTER_HOST='host', MASTER_USER='user', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=643;

#B服务器开启复制
start slave;


上一篇下一篇

猜你喜欢

热点阅读