linux myql主从复制和双主备份

准备两台服务器(mysql的安装这里略过)

主机A的IP:192.168.110.128
主机B的IP:192.168.110.129

1.编辑数据库配置文件my.cnf,一般在/etc/目录下,主机A、主机B 都要修改( 注意:server-id要唯一)

vim /etc/my.cnf
在[mysqld]下面加上server-id=2,log-bin=mysql-bin,如下:
[mysqld]
server-id=2
log-bin=mysql-bin
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
server-id的值随意,唯一就行(看到id的只有也应该猜到)
log-bin为日志文件
保存退出

2.主机A、主机B都重启mysql,

service mysqld restart

3.登录mysql,命令:mysql -u root -p (root:登录名),回车输入密码即可。

查看数据库:show databases;
有个数据库名为mysql的,其中有个user表,把你要用与主从登录的账号的那条数据的Host字段,把 location 改为 %


4.设置主机B为主数据库

CHANGE MASTER TO
MASTER_HOST='192.168.110.129',  
MASTER_USER='root',
MASTER_PASSWORD='root',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000003',
MASTER_LOG_POS=191,
MASTER_CONNECT_RETRY=10;


MASTER_HOST 主机ip

MASTER_USER 登录用户

MASTER_PASSWORD 登录密码

MASTER_PORT 端口

MASTER_LOG_FILE 日志文件 ,登录主机A登录mysql 运行 showmaster status

MASTER_LOG_POS 从哪行开始,获知同上


5.刷新权限并开启备机

flush privileges;
start slave;
show slave

show slave status\G;


看到这样的信息这正确(重点是后面两个为yes)
             Master_Host: 192.168.110.128
             Master_User: root
             Master_Port: 3306
             Connect_Retry: 10
             Master_Log_File: mysql-bin.000003
             Read_Master_Log_Pos: 213
             Relay_Log_File: mysqld-relay-bin.000008
             Relay_Log_Pos: 251
             Relay_Master_Log_File: mysql-bin.000003
             Slave_IO_Running: Yes      
             Slave_SQL_Running: Yes

6.到上面其实就已经成功了主从复制了(主机A为 主,主机B为 从),不信你可以在主机A修改数据库,看主机B是否同步

7.要执行双主,则在主机A从 上面的 4、5 步执行便可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值