查询每个db容量
SELECT
table_schema AS `Database`,
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS `Size_MB`
FROM
information_schema.tables
GROUP BY
table_schema
ORDER BY `Size_MB` DESC;
查询容量最大的10张表
SELECT
table_schema AS `Database`,
table_name AS `Table`,
ROUND((data_length + index_length) / 1024 / 1024, 2) AS `Size_MB`
FROM
information_schema.tables
WHERE
table_schema NOT IN ('information_schema', 'performance_schema', 'mysql', 'sys') -- 排除系统数据库
ORDER BY
`Size_MB` DESC
LIMIT 10;
Invalid default value for 'update_time'
MySQL 5.7.33
update_time 默认值 '0000-00-00 00:00:00'(零时间戳),不满足sql_mode中的NO_ZERO_DATE而报错。
NO_ZERO_DATE:若设置该值,MySQL数据库不允许插入零日期,插入零日期会抛出错误而不是警告。
5.7版本默认严格模式
SHOW VARIABLES LIKE 'sql_mode';
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
修改/etc/my.cnf
[mysqld]
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
重启mysql
binlog复制权限
GRANT REPLICATION SLAVE ON *.* TO 'replica_user'@'%';
FLUSH PRIVILEGES;
SHOW GRANTS FOR 'replica_user'@'%';
开启binlog
[mysqld]
server-id=1
log-bin = /data/mysql/binlog/mysql-bin
binlog_format = ROW
expire_logs_days = 10
SHOW VARIABLES LIKE 'log_bin';
SHOW BINARY LOGS;
开启慢查询日志
[mysqld]
slow_query_log = ON
long_query_time = 1
slow_query_log_file=/data/mysql/mysql-slow.log