set sql_log_bin=OFF # session级别 global 级别不允许 |
分类目录归档:MySQL
MySQL 8.0快速配置远程连接
— 创建用户并设置密码(默认密码有复杂度要求,这里使用新的验证方式 caching_sha2_password )
CREATE USER 'root'@'%' IDENTIFIED WITH caching_sha2_password BY 'Aa#111111111';
— 授予root权限
GRANT ALL ON *.* TO 'root'@'%';
UPDATE `mysql`.`user` SET `Grant_priv` = 'y' WHERE (`Host` = '%') and (`User` = 'root');
然后重启下MySQL就好了
如果root@%已经存在了则需要修改密码:
alter user 'root'@'%' identified by '123456';
其他配置:
不强制要求特殊字符:set global validate_password.special_char_count=0;
记录
刚刚alert table 创建索引 半路kill了 但是主库成功了 从库没有成功
主库删除索引 从库就停止同步了
马上发现报警 跳过一个错误恢复同步
行溢出数据
Error in accept: Too many open files
杨龙
2018年10月20日
刚刚yum安装MySQL 8.0,直接把我的mariadb卸载了
Waiting for table metadata lock
select * from information_schema.innodb_trx
关于MySQL InnoDB存储引擎中的锁
https://www.linuxidc.com/Linux/2014-11/108860.htm
pt-online-schema-change 最佳参数
pt-online-schema-change \
--user username \
--password 123456 \
--host x.x.x.x D=db,t=table \
--execute --alter "ADD COLUMN vip_version TINYINT NOT NULL DEFAULT 0" \
--charset utf8mb4 \
--no-version-check \
--nocheck-replication-filters \
--max-load Threads_running=10 \
--critical-load Threads_running=200 \
--chunk-time=0.5
–charset utf8mb4 设置下编码
–max-load Threads_running=10 低负载才运行,设置尽量小点
–critical-load Threads_running=200 终止条件 设置大点防止容易失败
–no-version-check 阿里云rds可能需要此参数
–chunk-time=0.5 这个优于设置chunk-size
–nocheck-replication-filters 有主从配置的时候需要 阿里云rds可能不需要这个参数
简单实现MySQL负载低时才继续运行任务,负载高的时候睡眠
public static function runSleep($sec = 10, $echo = null) {
while (true) {
$result = NoThingModel::getInstance()->db->select("show status like 'Threads_running'", [], false);
$result = reset($result);
if ($result) {
if ($result->Variable_name == 'Threads_running') {
if ($result->Value > 10) {
if ($echo) {
echo "sleep 10\n";
}
sleep($sec);
} else {
break;
}
} else {
break;
}
} else {
break;
}
}
}
[ERROR] Error in accept: Too many open files
vim /etc/my.cnf
[mysqld]
open_files_limit=9999