1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 复制mysql数据库 如何使用mysql主从配置 – 数据库 – 前端 linux mysql 数据库目录

复制mysql数据库 如何使用mysql主从配置 – 数据库 – 前端 linux mysql 数据库目录

时间:2023-06-11 17:30:47

相关推荐

复制mysql数据库 如何使用mysql主从配置 – 数据库 – 前端 linux mysql 数据库目录

MySQL主从复制工作原理图,过一下:

主服务器上面的任何修改都会保存在二进制日志Binary log里面,从服务器上面启动一个I/O thread(实际上就是一个主服务器的客户端进程),连接到主服务器上面请求读取二进制日志,然后把读取到的二进制日志写到本地的一个Realy log里面。从服务器上面开启一个SQL thread定时检查Realy log,如果发现有更改立即把更改的内容在本机上面执行一遍。

02实验环境

两台服务器做配置测试:虚拟机中的 ubuntu (192.168.128.131) 和宿主机 xp (192.168.128.1)

分别安装有 mysql。最好版本一样(偶的不一样)

机子都 ping 得通

03主服务器配置(ubuntu)

配置 mysql

#vi /etc/mysql/f

[mysqld]

log-bin=mysql-bin #[必须]启用二进制日志

server-id=1 #[必须]服务器唯一ID,默认是1,一般取IP最后一段

检查 mysql 是否允许远程连接

bind-address = 0.0.0.0 #这样表示允许所有网段连接

进入 mysql 终端

#mysql -uroot -proot

新建 mysql 用户(从服务器用到此账号配置)backup

mysql> GRANT REPLICATION backup ON *.* to ‘backup’@’192.168.128.%’ identified by ‘backup’;

刷新一下权限表

mysql> flush privileges;

重启 mysql

#service mysql restart

进入 mysql 终端查看 master 状态

mysql> show master status;

记录 file 和 position 的值,从服务器配置用到。这个时候不要去动主数据库,会影响 position 的值。

04从服务器配置(xp)

配置 mysql 的 my.ini 并重启

[mysqld]

log-bin=mysql-bin #[可选]启用二进制日志

server-id=2

登录 mysql 终端后执行

mysql> change master to master_host=’192.168.128.131′,

master_user=’backup’,

master_password=’backup’,

master_log_file=’mysql-bin.000002′,

master_log_pos=612;

启动 slave 从库

mysql> start slave;

查看 slave 从库

mysql> show slave status\G;

Slave_IO_Running 和 Slave_SQL_Running 必须都为 Yes 才算成功。

05测试

ubuntu mysql

mysql> create database test_repl;

然后查看 xp mysql 如果出现 test_repl 库则说明主从复制配置成功

mysql> show databases;

06总结

这只是最基本的配置,还有很多配置命令就不折腾了。测试时发现之前库不一致时偶在主库里面添加一张表,而从库没有那个库,导致从库 slave 会报错,执行这个命令后重启从库就可以跳过这个错误。

#SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1 跳过一个事务

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。