mysql主从复制配置(简单,绝对能用)

5 篇文章 0 订阅
折腾一天,只因为网上讲的少了要开启mysql远程链接权限(mysql默认禁止远程链接,如navicat等软件的连接)。
主从复制的作用是做冗余备份,而且主从做读写分离的话 往往从库会有好几台 分担了压力 并且可以直接做负载均衡。

实验环境

  • 两台服务器做配置测试:虚拟机中的ubuntu(192.168.128.131)和宿主机xp(192.168.128.1)
  • 分别安装有mysql。最好版本一样(我的不一样)
  • 机子都ping得通

主服务器配置(ubuntu)

配置mysql
#vi /etc/mysql/my.cnf
   [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的值。

从服务器配置(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才算成功。

测试

ubuntu mysql
mysql> create database test_repl;
然后查看xp mysql如果出现test_repl库则说明主从复制配置成功
mysql> show databases;

结尾

这只是最基本的配置,还有很多配置命令就不折腾了。测试时发现之前库不一致时我在主库里面添加一张表,而从库没有那个库,导致从库slave会报错,执行这个命令后重启从库就可以跳过这个错误。
#SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1        跳过一个事务
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值