mysql主从配置和读写分离

显示所有的binlogSHOW BINARY LOGS;显示所有binlog事件SHOW BINLOG EVENTS IN 'mysql-bin.004374';使用binlog恢复误删数据mysqlbinlog /data/mysql/mysql-bin.004374 --database=tuling --start-datetime='2019-01-01:00:00' ...
摘要由CSDN通过智能技术生成

显示所有的binlog

SHOW BINARY LOGS;

显示所有binlog事件

SHOW BINLOG EVENTS IN 'mysql-bin.004374';

使用binlog恢复误删数据

mysqlbinlog /data/mysql/mysql-bin.004374 --database=test3
 --start-datetime='2019-01-01:00:00' 
 --stop-datetime='2019-02-01:00:00' 
 >/home/sl.sql;
 
 /data/mysql/mysql-bin.004374  			binlogs的文件路径
 --start-datetime='2019-01-01:00:00'   	开始时间
 --stop-datetime='2019-02-01:00:00'     结束时间
 /home/sl.sql                           导入到文件

查看relaylog事件

show relaylog EVENTS in 'localhost-relay-bin.000010';

1.主从配置:

主库修改文件

server-id = 1   					主库写1
log-bin = mysql-bin     			binlog的前置文件随便写
binlog_format = mixed
replicate-do-db= MasterSlave     	同步的数据库
replicate-ignore-db= test    		忽略的数据库
replicate-ignore-db= mysql

# 根据需要选择配置
log-slave-updates=true 			 	slave更新时是否记录到日志中
rpl_semi_sync_master_enabled=ON  	开启半同步,需要安装插件支持

从库修改文件

server-id = 2      				 从库除了1之外的数字
binlog_format = mixed
replicate-do-db= MasterSlave     同步的数据库
relay-log = mysql-slave-bin      relaylog的前置文件随便写
配置两个数据库的关联

切换到主数据库执行:

建立一个操作主从同步的数据库用户
create user repl;
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'从库ip' IDENTIFIED BY '密码';
flush privileges;

或直接用root用户:
GRANT REPLICATION SLAVE ON *.* TO 'root'@'从库ip' IDENTIFIED BY '密码';
flush privileges;

.表面这个权限是针对主库所有的表。

切换到从数据库

change master to master_host='主库ip', master_port=3306, master_user='用户', master_password='密码', master_log_file='mysql-bin.000003', master_log_pos=120;

这里面的master_host是主服务器ip,同时配置端口,用户,密码,logfile,logpos

其中master_log_file和master_log_pos可以执行show master status得到.

执行start slave启动配置:

start slave;   开启
stop slave;    结束

从库查看状态命令,\G表示换行查看

mysql> show slave status \G; 
主要看这两条都为yes则表示ok,其他信息可以自行查看理解
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

Slave_IO_Running 为no解决方法!

主库执行:

show master status;
 File              | Position 
+------------------+----------
| mysql-bin.000003 |      120 

从库执行:

slave stop;
change master to Master_Log_File='mysql-bin.000003',Master_Log_Pos=120;
slave start;
show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

可以在主库进行创建表和插入数据进行测试看是否主从同步成功

2.安装和卸载Atlas进行读写分离

下载地址: https://github.com/Qihoo360/Atlas/releases
根据需要下载
Atlas (普通) : Atlas-2.2.1.el6.x86_64.rpm
Atlas (跨机器分表) : Atlas-sharding_1.0.1-el6.x86_64.rpm  
执行安装
rpm -i Atlas-2.2.1.el6.x86_64.rpm   安装
rpm -e Atlas-2.2.1.el6.x86_64.rpm   卸载

进行配置:

安装目录在 /usr/local/mysql-proxy 
修改tets.cnf文件
密码需要加密
进入到 mysql-proxy/bin/  
./encrypt 123456   得到密码/iZxz+0GRoA=

proxy-backend-addresses = ip:端口
proxy-read-only-backend-addresses = ip:端口@权重
pwds = root:/iZxz+0GRoA= 
proxy-address= 0.0.0.0:1234
其他配置可以根据需要自行配置,都有中文说明自行理解x

服务操作:

在/usr/local/mysql-proxy中执行

开启服务:    ./bin/mysql-proxyd test start
停止:       ./bin/mysql-proxyd test stop
重启:       ./bin/mysql-proxyd test restart
查看状态:    ./bin/mysql-proxyd test status

启动远程链接工具进行测试连接

ip为Atlas的安装ip地址 ,端口为 1234,账号密码为: pwds = root:/iZxz+0GRoA=

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值