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后就可以使用新密码进行登录。
一、在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后就可以使用新密码进行登录。
相关文章推荐
- MySQL关系型数据库not&and&or优先级
- mysql主从复制,很简单
- mysq id 子增长值获取
- MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践
- mysql中联合索引的使用
- Mysql命令
- mysql批量插入更新加参数rewriteBatchedStatements
- MySQL乱码相关的数据库参数
- MySQL缓冲
- mysql查询条件是要in一个字段的函数
- percona教程:MySQL GROUP_CONCAT的使用
- xampp1.7 版本 安装步骤 以及mysql配置
- mysql 命令
- mysql时间类型总结
- mysql死锁问题分析(转)
- MYSQL 体系结构图-LRU FREELIST FLUSH LIST
- MYSQL 体系结构图-unzip_LRU
- mysql 主主复制(双主复制)+ 配置KEEPALIVED实现热备
- MySQL隔离级别
- MYSQL 体系结构图-LRU