MySQL用户管理——设置账户密码及账户过期

本篇将说明如何设置MySQL账户的密码,及账户过期。使用MySQL创建账户时,可以为账户直接创建密码。例如,

    CREATE USER ... IDENTIFIED BY 'password'

    对于一个已经存在的账户而言,可以通过执行“ALTER USER”语句或者“SET PASSWORD”语句对该账户设置密码。例如,

      ALTER USER user1@localhost IDENTIFIED BY 'password';
      SET PASSWORD FOR user1@localhost ='password';

      或者使用mysqladmin客户端执行下列语句,前提是需要连接到mysql数据库

        mysqladmin ... password 'newpassword'

        MySQL从8.0.14版本之后支持使用双重密码,双重密码允许账户使用主要(primary)和次要(secondary)两个密码。其主要目的是在用户拥有大量的MySQL服务器、并且有多个应用程序连接到不同的MySQL,当对应用程序更新使用新的MySQL密码时,可以通过同时使用两个密码保证系统的正常运行。当全部的应用程序更新密码后,可以删除次要密码。

        使用双重密码时,使用下列语句,

          ALTER USER USER() IDENTIFIED BY 'newpassword' RETAIN CURRENT PASSWORD;

          此时,新的密码将作为主要密码使用。

          删除次要密码时,使用下列语句,

            ALTER USER USER() DISCARD OLD PASSWORD;

            当运维策略需要为数据库的新账户的密码设置使用期限时,可以使用“PASSWORD EXPIRE”关键字对账户进行设置。例如,

              CREATE USER 'use'@'localhost' IDENTIFIED BY 'password1' PASSWORD EXPIRE;

              此时,该用户登录MySQL服务器后,需要更改其密码才能够执行其他的语句。DBA通过配置“default_password_lifetime”全局变量,可以指定密码使用的期限(日),默认值为0,表示密码不会过期。也可以通过“PASSWORD EXPIRE”、“CREATE USER”或“ALTER USER”语句为每个账户指定期限。例如,

                CREATE USER 'user4'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE INTERVAL 30 DAY;

                为账户指定默认的密码期限。例如,

                  ALTER USER 'user5'@'localhost' PASSWORD EXPIRE DEFAULT;

                  禁用密码使用期限。例如,

                    ALTER USER 'user5'@'localhost' PASSWORD EXPIRE NEVER;

                    当账户密码过期时,用户必须更改其密码后,才能够执行其他语句。

                    以上内容是关于MySQL账户创建密码及设置密码过期的介绍,感谢您关注MySQL解决方案工程师。


                    免责声明:

                    1、本站资源由自动抓取工具收集整理于网络。

                    2、本站不承担由于内容的合法性及真实性所引起的一切争议和法律责任。

                    3、电子书、小说等仅供网友预览使用,书籍版权归作者或出版社所有。

                    4、如作者、出版社认为资源涉及侵权,请联系本站,本站将在收到通知书后尽快删除您认为侵权的作品。

                    5、如果您喜欢本资源,请您支持作者,购买正版内容。

                    6、资源失效,请下方留言,欢迎分享资源链接

                    文章评论

                    0条评论