1.参数
-- 查看特定参数(模糊匹配) SHOW VARIABLES LIKE '%timeout%'; SHOW VARIABLES LIKE '%buffer%'; -- 全局参数(影响整个实例) SHOW GLOBAL VARIABLES LIKE 'max_connections'; -- 会话参数(仅当前连接) SHOW SESSION VARIABLES LIKE 'wait_timeout'; -- 修改最大连接数(立即生效,重启失效) SET GLOBAL max_connections = 500; -- 仅修改当前会话SET SESSION wait_timeout = 600; SET wait_timeout = 600; -- SESSION是默认的
2.查看日志
#错误日志 show variables like '%log_error%'; #查看binlog mysqlbinlog -vv 日志文件名 #慢查询日志 mysqldumpslow --help # 查看帮助 mysqldumpslow -s at -t 10 /var/log/mysql/slow.log # 显示最慢的10个查询(按平均时间排序) mysqldumpslow -s c -t 10 /var/log/mysql/slow.log # 显示执行次数最多的10个查询 mysqldumpslow -a /var/log/mysql/slow.log # 使用 -a 显示完整语句 mysqldumpslow -g "SELECT" /var/log/mysql/slow.log # 只显示SELECT语句 #通用日志 SET GLOBAL general_log = on; #临时开启 #redo 日志 -- 查看相关参数 SHOW VARIABLES LIKE 'innodb_flush_log_at_trx_commit'; =1 每次事务提交都刷盘,保证持久性 类似COMMIT WRITE IMMEDIATE =2 每次提交只写到OS缓存,每秒刷盘 类似COMMIT WRITE BATCH =0 每秒刷盘,事务提交不触发 类似异步提交 SHOW VARIABLES LIKE 'innodb_flush_log_at_timeout%'; MySQL触发条件: -事务提交时(取决于innodb_flush_log_at_trx_commit) -Redo Log Buffer满(超过innodb_log_buffer_size的1/2) -每秒定时刷盘(innodb_flush_log_at_timeout) -Checkpoint时 -后台线程周期性刷盘 动态redo SHOW VARIABLES LIKE 'innodb_redo_log_capacity'; #中继日志 show variables like '%relay%'; #DDL日志
3.用户权限
#mysql 存储权限的表 user,db,tables_priv,columns_priv,procs_priv,proxies_priv #显示用户权限 show grants for root@'%'; #创建用户 create user itpux1@'%' identified by 'itpux1'; grant all privileges on *.* to 'itpux2'@'%' identified by 'itpux2' with grant option; #老版本创建用户 #保存权限 flush privileges; #案例 grant select,insert,update,delete on itpux.* to itpux1@'%'; grant create,alter,drop on itpux1.* to dev@'%'; #删除,重命名用户 drop user dev; drop user dev@'%'; rename user 'itpuxdba'@'localhost' to 'itpuxdba1'@'localhost';
4.用户角色
5.7版本通过proxies_priv模拟实现role set global check_proxy_users=on; set global mysql_native_password_proxy_users=on; create user 'itpux_dba'; 类似组/角色 create user 'itpux11'; create user 'itpux12'; create user 'itpux13'; grant proxy on itpux_dba to itpux11; grant proxy on itpux_dba to itpux12; grant select on itpux.* to itpux_dba; flush privileges; 8.0 role 与ORACLE相同 -- 查看当前设置 SHOW VARIABLES LIKE 'activate_all_roles_on_login'; -- 设置为 ON(强烈推荐在生产环境开启) SET GLOBAL activate_all_roles_on_login = ON; -- 或在 my.cnf 中添加:activate_all_roles_on_login=ON
