三好先森|汇总:MySQL 8.0 运维便捷命令

有人说目前为止8.0是最好的版本 , 我们来看看在运维方面MySQL 8.0带来了哪些便捷命令 。
自MySQL 8.0 GA版本发布以来 , MySQL生态发生了很大的变化 , 推出了很多功能, 有人说目前为止8.0是最好的版本 。 随之而来的在运维方面带来了很多便捷命令 。
下面选出日常运维常用的最便捷的4个命令:RESTART , PERSIST , RETAIN CURRENT PASSWORD , EXPLAIN 。
RESTARTRESTART语句从客户机会话中执行此重新启动命令:算是万能的命令了 。重启的一个用途是:

  • MySQL穷住无法在处理服务;
  • 静态系统变量进行配置更改 , 只能在服务启动生效;
  • 日常运维维护窗口 , 硬件升级 , 迁移等;
  • 复杂的环境中 , 无法确认my.cnf文件 , 但必须重新启动服务;
  • 测试环节中需要清空缓存;
传统的方式是 注册服务方式 , 或则 mysqld_safe方式 , mysqladmin shutdown , 客户端shutdwon , kill 等命令 。
8.0支持命令行restart命令:
mysql> RESTART;Query OK, 0 rows affected (0.00 sec)Error 日志信息:
三好先森|汇总:MySQL 8.0 运维便捷命令ps进程跟踪:
三好先森|汇总:MySQL 8.0 运维便捷命令备注:pid没有变化, 需要shutdown权限
PERSISTPERSIST , PERSISTONLY将变量设置写入mysqld-auto.cnf 。 就是把动态变量 , 记录到配置文件列 。有两种命令:PERSIST和PERSISTONLY ,
  • PERSIST修改动态变量的同时 , 写入配置文件 。
  • PERSIST_ONLY只读系统变量 , 先记录到配置文件 , 服务重新启动的时生效 。
mysql> SET PERSIST max_connect_errors=100;Query OK, 0 rows affected (0.00 sec)mysql数据目录:
三好先森|汇总:MySQL 8.0 运维便捷命令json格式写入:
三好先森|汇总:MySQL 8.0 运维便捷命令PERSIST适合配置动态变量 , 生效的同时会记录到mysqld-auto.cnf文件里 。
PERSIST_ONLY适合配置只读变量的设置 , 会记录mysqld-auto.cnf文件 , 但只能在服务器启动时设置的只读系统变量
RETAIN CURRENT PASSWORD双密码功能 , 在MySQL 8.0.14中可用
保留当前密码保留一个帐户的当前密码作为它的辅助密码 , 替换任何现有的辅助密码 。 新密码成为主密码 , 但是客户机可以使用主密码或辅助密码使用该帐户连接到服务器 。
例外情况:
  • 如果SET password语句指定的新密码为空 , 则辅助密码也变为空 , 即使给定了当前密码 。
  • 如果为主密码为空的帐户指定保留当前密码 , 则语句失败 。
  • 如果一个帐户有一个辅助密码 , 而您更改了它的主密码而没有指定保留当前密码 , 辅助密码将保持不变 。
命令:
mysql> CREATE USER 'testuser'@'localhost'IDENTIFIED BY '123456';Query OK, 0 rows affected (0.01 sec)mysql> ALTER USER 'testuser'@'localhost'IDENTIFIED BY 'test123'RETAIN CURRENT PASSWORD;Query OK, 0 rows affected (0.01 sec)两种方式登录 , 都可行:
[root@ens8 ~]# mysql -utestuser -p123456[root@ens8 ~]# mysql -utestuser -ptest123


推荐阅读