您的位置:首页 > 数据库 > MySQL

mysql数据库修改root密码方法

2016-06-16 16:06 531 查看
mysql数据库管理员密码处理办法如下:

一、在MYSQL当中,所有用户信息保存在mysql库中user表内,通过对user表的添加、修改、删除可以管理mysql的用户,使用命令UPDATE、INSERT、delete进行用户密码修改、用户添加、删除用户操作。具体格式如下:
mysql -u root -p yourpassword  //登录数据库
use mysql;    //选择要操作的库名   
update user set Password=password('newpassword') where User='root';  //更改特定用户的密码
flush privileges;    //更新mysql系统权限表(如果使用grant命令则不需要该操作)

二、在命令行中使用mysqladmin命令:

a、新安装完成mysql为空密码,修改密码方式:

mysqladmin -u root password newpassword

b、用户已经有旧密码的更改方式:

mysqladmin -u root -p'oldpassword' PASSWORD newpassword  //需要注意的地方是新的密码不需要引号进行标识
c、隐藏密码方式修改
mysqladmin -u root -p PASSWORD newpassword
(注意:Windows修改密码 password 直接加新密码不能有引号,linux系统密码时,使用单引号或者双引号都可以)。


三、使用SET PASSWORD语句进行修改:
mysql -u root -p yourpassword  //登录数据库 
mysql> SET PASSWORD FOR myuser@localhost =
PASSWORD('newpassword'); //修改指定用户密码

四、使用GRANT ... IDENTIFIED BY语句 

mysql> GRANT USAGE ON *.* TO myuser@localhost IDENTIFIED BY 'newpassword';

五、MYSQL中root用户忘记密码找回方式:

1、先关闭所有正在运行的mysqld进程:

killall mysqld



kill `cat /data/mysqldata/3306/mysql.pid`

2、重启mysqld服务,启动时启动命令加上--skip-grant-tables选项,该选项的功能正是当有用户连接时跳过检查授权表参数启动MySQL服务,直接授予所有登录用户最大权限,执行mysqld_safe命令启动数据库服务(Windows系统,没有mysqld_safe脚本,直接使用mysqld命令即可): 

mysqld_safe --skip-grant-tables --user=mysql &      

或者

Linux系统:

mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf --skip-grant-tables --skip-networking &

windows系统:

mysqld --defaults-file="D:\Program Files (x86)\MySQL\MySQL Server 5.1\my.ini"
--skip-grant-tables --skip-networking
(※当前命令行执行此命令后,处于停滞状态。重新再启动一个cmd命令行)

※注意:添加--skip-networking选项,主要是考虑到使用 --skip-grant-tables选项启动后,连接数据库不再有权限认证,在此期间,如果有其他用户创建连接的话可能存在安全隐患,添加--skip-networking选项后,这样mysql服务不会监听来自TCP/IP的连接,安全性方面更加可靠。

3、为root@localhost设置新密码: 

mysql -u root -p   //使用空密码登录数据库

use mysql;    //选择要操作的库名

update user set Password=password('newpassword') where User='root';  //更改root用户的密码

4、正常重启MySQL后就可以使用新密码进行登录。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: