mysql数据库修改root密码方法

来源:互联网 发布:ubuntu 17.04 cuda8.0 编辑:程序博客网 时间:2024/06/04 23:30

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后就可以使用新密码进行登录。





1 0
原创粉丝点击