mysql主从搭建

mysql主从搭建
参考文档https://www.cnblogs.com/clsn/p/8150036.html
前提条件:
系统:Ubuntu 16.04.6 LTS
MySQL版本:5.7.24
主库IP:192.168.225.131
从库IP:192.168.225.132

1.安装主数据库master

sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev

2.安装完成master后对数据库进行配置

注意以下只是配置文件中跟主备相关的部分内容,其他配置根据需要自己进行配置即可。
[mysqld]
bind-address = 192.168.225.131 //这里的IP地址必须是通过ipconfig查出来的IP
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
binlog_do_db = empw_test
#binlog_ignore_db = include_database_name
binlog_format = row # binlog的格式 row 具有 statement和mixed 不具备的优势 填写 row
sync_binlog = 1
innodb_flush_log_at_trx_commit = 1 # 和 sync_binlog 组成双1 配置 保证数据的完整性
3.完成第2步的配置后重启数据库
ubuntu为systemctl restart mysql.server
创建同步账号
CREATE USER 'sync'@'%' IDENTIFIED BY 'sync';
grant replication slave on *.* to 'sync'@'192.168.225.132' identified by 'sync';
flush privileges;

4.登录数据库查看配置是否生效

mysql -uroot -p

use mysql;
show master status;

如上图所示,标识master配置成功。
注意:在第2步中的bind-address地址,是否要配置为公网IP地址,有待进一步测试。
设置数据库可以远程访问
grant all privileges on *.* to root@'%' identified by 'xxxx' with grant option;
flush privileges;
创建备份用户
grant replication slave on *.* to repl@'%' identified by '123';
flush privileges;

5.安装从数据库slave

sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev

6.安装完成slave后对数据库进行配置

注意以下只是配置文件中跟主备相关的部分内容,其他配置根据需要自己进行配置即可。
server-id = 2
bind-address = 192.168.225.132

7.完成第6步的配置后重启数据库

ubuntu为systemctl restart mysql.server

8.登录数据库配置slave

从数据库配置前需要一次初始化数据
在主数据库执行:
mysqldump -uroot -proot -A -B -F --master-data=2 >/tmp/full.sql
在从数据库执行:
mysql -uroot -p
set sql_log_bin=0;
source /tmp/full.sql
配置slave
CHANGE MASTER TO
MASTER_HOST='192.168.225.131',
MASTER_USER='repl',
MASTER_PASSWORD='123',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000008',
MASTER_LOG_POS=154;
start slave; # 启动从库复制
该配置想关说明可以通过 help 获得。
查看slave库的状态:show slave status;
主要查看 Slave_IO_Running 与 Slave_SQL_Running 是否都为Yes

9.测试

在主数据库中创建一张表,在从数据库中进行查看即可,如果从数据库中自动创建改表表示配置成功。

posted @ 2019-09-06 21:04  东临碣石,以观沧海  阅读(4376)  评论(3编辑  收藏  举报