文件管理
binlog
-- 设置自动清理binlogs
在my.cnf中找到[mysqld]加入
expire_logs_days = 15 #自动删除15天前的日志。默认值为0,表示从不删除。
log-bin=mysql-bin
binlog-format=ROW
-- 开启数据库日志跟踪
set global general_log = ON
OFF关闭
-- 查看最新的binlog文件名称
show master status
-- 删除所有binlog日志,新日志编号从头开始
RESET MASTER;
-- 删除mysql-bin.095之前所有日志
PURGE MASTER LOGS TO 'mysql-bin.095';
-- 删除2022-04-02 22:46:26之前产生的所有日志
PURGE MASTER LOGS BEFORE '2022-04-02 22:46:26';
格式
日志格式
-- log_timestamps 参数默认使用 UTC 时区,比北京时间慢 八小时,导致查看日志不方便。修改为 SYSTEM 取数据库服务时间。
-- 查看数据库日志时间格式
show global variables like 'log_timestamps'
-- 修改数据库日志时间格式为获取数据库服务器时间
set global log_timestamps=system
时间戳
-- 获取当前时间
SELECT NOW(); // 2022-04-19 02:03:52
-- 时间日期格式转换成时间戳格式,UNIX_TIMESTAMP()
SELECT UNIX_TIMESTAMP(NOW()); // 1650305047
-- 时间戳格式转换成时间日期格式,FROM_UNIXTIME()
SELECT FROM_UNIXTIME(1650247217); // 2022-04-18 10:00:17
用户权限
-- 修改数据库用户密码
set password for 'root'@'%'=Password('123456');
-- 授权全部权限给指定用户
grant all privileges on *.* to 'root'@'%';
-- 降低密码规则(临时)
set global validate_password_length =0;
set global validate_password_mixed_case_count=0;
set global validate_password_number_count=0;
set global validate_password_policy=0;
set global validate_password_special_char_count =0;
-- mysql安全模式
show variables like 'sql_safe_updates';
备注:
mysql安全模式:mysql发现delete、update语句没有添加where或者limit条件时会报错。整个sql将无法执行,有效防止了误删表的情况。
设置为ON之后
update语句:where条件中列(column)没有索引可用且无limit限制时会拒绝更新。where条件为常量且无limit限制时会拒绝更新。
delete语句: ①where条件为常量,②或where条件为空,③或where条件中 列(column)没有索引可用且无limit限制时拒绝删除。