MySQL5.7的一些常用命令

1 普通命令

– 开启rows_query事件的参数设置

set session binlog_rows_query_log_events='OFF';

– 设置binlog格式

set session binlog_format = 'ROW'; 

– 查询binlog格式

show variables like '%binlog_format%';

– 设置隔离级别

set session transaction isolation level repeatable read; 

– 查询隔离级别

select @@tx_isolation; 

– 查看表结构

desc t1; 或 explain t1; 

– 增加唯一索引

alter table t2 add constraint uk_t2_phone unique (phone); 

– 用户授权,用户不存在时创建用户

grant all privileges on *.* to 'repl'@'%' identified by '123'; 
flush privileges;

2 第一次登陆mysql失败-设置密码

skip-grant-tables添加到my.cnf的mysqld栏 //授权免密登录
mysql.server restart;
use mysql;
update user set authentication_string=password('123456') where user='root'; //设置密码
flush privileges; 

3 正确删除binlog

purge master logs before'2016-09-01 17:20:00'; //删除指定日期以前的日志索引中binlog日志文件
purge master logs to'mysql-bin.000022'; //删除指定日志文件的日志索引中binlog日志文件

4 建立主备关系

【主机 10.10.10.10】

CREATE USER 'repl'@'10.10.10.10' IDENTIFIED BY 'slavepass'; #创建用户
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'10.10.10.10'; #分配权限
flush privileges; #刷新权限
show master status\G;

【从机 10.10.10.11】

stop slave;
reset slave all;
change master to MASTER_HOST='10.10.10.10',MASTER_PORT=5555,MASTER_USER='repl',MASTER_PASSWORD='slavepass',MASTER_AUTO_POSITION =1;
start slave;
show slave status\G;

5 dump时关闭GLOBAL.GTID_PURGED变量

mysqldump -uroot --master-data=2  -p'123'  --single-transaction --set-gtid-purged=OFF --databases mysql > test.sql //单库dump
mysqldump -uroot -p'123' --databases db1 db2 db3 > test.sql //多库dump
mysqldump -uroot -p'123' -d mysql ddl_info > ddl.sql //单表dump
mysqldump -uroot -p'123' --all-databases > alldb.sql

6 主备同步时备机无法启动的问题解决

同步方式:从主机复制数据到备机;解决方案:删除备机的redo日志。

7 备机同步主机时跳过主机的部分gtid

stop slave;
set gtid_next = '87143799-e9c8-11e9-a917-a0369fabfcc8:8536';
begin;commit;
set gtid_next = '87143799-e9c8-11e9-a917-a0369fabfcc8:8537';
begin;commit;
set gtid_next = '87143799-e9c8-11e9-a917-a0369fabfcc8:8538';
begin;commit;
set gtid_next = 'AUTOMATIC';
start slave;
show slave status\G;

8 报主机已经删除备机需要的gtid时的操作办法


“The slave is connecting using CHANGE MASTER TO MASTER_AUTO_POSITION = 1, but the master has purged binary logs containing GTIDs that the slave requires.”


当出现上述错误时,先在master上查看gtid_purged变量,即

show variables like "%gtid%";

在slave上同步设置gtid_purged变量,即

stop slave;
SET @@GLOBAL.GTID_PURGED='303ee761-4956-11e9-ada4-744aa40085f6:1-104422,63a7c7ea-4a15-11e9-95b2-744aa4021066:1-1753';
start slave;
show slave status\G;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值