MySQL数据库密码的管理

记得原密码

  • root用户修改自己的密码
    • 使用mysqladmin命令来修改root密码

    mysqladmin -u username -p password'new_password'

mysqladmin -u root -p password '123456'
  • 使用set语句来修改root密码

    set PASSWORD = PASSWORD('new_password')
    新密码都必须使用PASSWORD函数加密

SET PASSWORD FOR 'hpx'@'%' = PASSWORD('123')
  • root用户修改普通用户的密码
    • 用set语句

    set PASSWORD FOR 'username'@'hostname'=PASSWORD('new_password')
    username是用户名,hostname是普通用户主机名

SET PASSWORD FOR 'hpx'@'%' = PASSWORD('123')
  • 用grant语句
    GRANT priv_type ON database.table TO user[IDENTIFIED BY [PASSWORD] 'new_password']
 GRANT usage on *.* to 'hpx'@'%' IDENTIFIED BY '123456'
  • 普通用户修改密码

set password=password('new_password')

root密码丢失解决办法

  • 使用--skip-grant-tables选项启动MySQL服务
    skip-grant-tables将使服务器停止权限判断,任何用户都有访问数据库的权利。

    在Linux操作系统中,使用mysqled_safe来启动MySQL服务。
    mysqld_safe --skip-grant-tables user=mysql
    使用/etc/init.d/mysql执行语句如下:
    /etc/init.d/mysql start --mysqld --skip-grant-tables
    - 登录root用户,设置新密码
    登陆以后,要用update语句来修改密码。
    >UPDATE mysql.user SET Password=PASSWORD('passwd') WHERE User='root' AND Host='localhost';
    此处必须使用update语句,不能使用set语句。
    - 加载权限表
    修改完密码后,必须加载权限表后新密码开始有效,MySQL服务器开始权限验证。
    >FLUSH PRIVILEGES

你可能感兴趣的:(MySQL数据库密码的管理)