主从数据库

主从数据库,第1张

主从数据库

二进制日志(binary log)中记录了对MySQL数据库执行更改的所有 *** 作,不包含select和show,主从同步主要是依赖该文件实现的。

docker容器==》mysql(没使用容器的可以越过第一步,自行准备两数据库)
1、docker run mysql
进入mysql : docker exec -it mysql /bin/sh

2、安装vim命令(如第三步中提示没有vim命令时执行)
apt-get update
apt-get install vim

3、修改配置文件(进入数据库参考4.1)
vi /etc/mysql/mysql.conf.d/mysqld.cnf

3.1、在[mysqld]下添加

server-id=1
log_bin=master-bin
log_bin_index=master-bin.index
binlog_do_db=test                        #需要同步的数据库

4、 在主数据库创建(从服务器的)用户,并赋予同步权限
4.1、进入mysql数据库(-u后面用户名,-p后面密码)

mysql -uroot -p123456

4.2、#创建从数据库的masterbackup用户和权限(192.168.17.%为从数据库ip)

grant replication slave on *.* to masterbackup@'192.168.17.%' identified by '123456';

4.3、#退出mysql
exit;
4.5、重启mysql
service mysql restart
4.6、(重启后重新进)
查看主服务器状态
show master status;
(注意此时的File和pos)

5、进入从数据库
修改配置(参考第三步)

server-id=2
relay-log=slave-relay-bin
relay-log-index=slave-relay-bin.index

6、进入从数据库
mysql -uroot -p123456

7、连接主数据库
(192.168.17.130为主数据库的ip,
master_log_file,master_log_pos为show master status查询出来的file和pos,
master_user为主数据库创建用户的username,
master_password为密码)

change master to master_host= '192.168.17.130', master_port=3306, 
master_user='masterbackup', master_password='123456',
master_log_file='master-bin.000001',master_log_pos=154;

8、 启动slave数据同步
#启动slave数据同步
mysql> start slave;
#停止slave数据同步(若有需要)
mysql> stop slave

9、 查看slave信息(以下两个running都为yes为主从同步成功)
mysql> show slave statusG;

Slave_IO_Running: yes
Slave_SQL_Running: Yes

10、忽略同步错误,继续同步
从库:

stop slave; 
set global sql_slave_skip_counter =1; 
stop slave; 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4667429.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-06
下一篇 2022-11-06

发表评论

登录后才能评论

评论列表(0条)

保存