mysql数据库修改密码
2015-12-28 00:15
501 查看
更改MySQL用户密码
方法1: 用SET PASSWORD命令首先登录MySQL。
格式:mysql> set password for 用户名@localhost = password('新密码');
例子:mysql> set password for root@localhost = password('123');
方法2:用mysqladmin
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -p123456 password 123
方法3:用UPDATE直接编辑user表
首先登录MySQL。
mysql> use mysql;
mysql> update user set password=password('123') where user='root' and host='localhost';
mysql> flush privileges;
方法4:在忘记root密码的时候,可以这样
以windows为例:
1. 关闭正在运行的MySQL服务。
2. 打开DOS窗口,转到mysql\bin目录。
3. 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。
5. 输入mysql回车,如果成功,将出现MySQL提示符 >。
6. 连接权限数据库: use mysql; 。
6. 改密码:update user set password=password("123") where user="root";(别忘了最后加分号) 。
7. 刷新权限(必须步骤):flush privileges; 。
8. 退出 quit。
9. 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。
方法一:
(适用于管理员或者有全局权限的用户重设其它用户的密码)
进入命令行模式
mysql
-u root -p
mysql>use mysql;
mysql> UPDATE user SET
password=PASSWORD("new password") WHERE user='username';
mysql> FLUSH
PRIVILEGES;
mysql> quit;
方法二:
mysql -u root -p
mysql>use
mysql;
mysql> SET PASSWORD FOR username=PASSWORD('new
password');
方法一:
(适用于管理员或者有全局权限的用户重设其它用户的密码)
进入命令行模式
mysql -u
root -p
mysql>use mysql;
mysql> UPDATE user SET
password=PASSWORD("new password") WHERE user='username';
mysql> FLUSH
PRIVILEGES;
mysql> quit;
方法二:
mysql -u root -p
mysql>use
mysql;
mysql> SET PASSWORD FOR username=PASSWORD('new
password');
mysql> QUIT
方法三:
mysqladmin -u root "old
password" "new password"
注:new password请输入你想要设置的密码。
关于mysql的用户管理,笔记
MySQL用户赋权限操作
1、创建新用户
通过root用户登录之后创建
>> grant all privileges on *.* to testuser@localhost identified by "123456" ; // 创建新用户,用户名为testuser,密码为123456 ;
>> grant all privileges on *.* to testuser@localhost identified by "123456" ; // 设置用户testuser,可以在本地访问mysql
>> grant all privileges on *.* to testuser@"%" identified by "123456" ; // 设置用户testuser,可以在远程访问mysql
>> flush privileges ; // mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效
2、设置用户访问数据库权限
>> grant all privileges on test_db.* to testuser@localhost identified by "123456" ; // 设置用户testuser,只能访问数据库test_db,其他数据库均不能访问 ;
>> grant all privileges on *.* to testuser@localhost identified by "123456" ; // 设置用户testuser,可以访问mysql上的所有数据库 ;
>> grant all privileges on test_db.user_infor to testuser@localhost identified by "123456" ; // 设置用户testuser,只能访问数据库test_db的表user_infor,数据库中的其他表均不能访问 ;
3、设置用户操作权限
>> grant all privileges on *.* to testuser@localhost identified by "123456" WITH GRANT OPTION ; //设置用户testuser,拥有所有的操作权限,也就是管理员 ;
>> grant select on *.* to testuser@localhost identified by "123456" WITH GRANT OPTION ; //设置用户testuser,只拥有【查询】操作权限 ;
>> grant select,insert on *.* to testuser@localhost identified by "123456" ; //设置用户testuser,只拥有【查询\插入】操作权限 ;
>> grant select,insert,update,delete on *.* to testuser@localhost identified by "123456" ; //设置用户testuser,只拥有【查询\插入】操作权限 ;
>> REVOKE select,insert ON what FROM testuser //取消用户testuser的【查询\插入】操作权限 ;
4、设置用户远程访问权限
>> grant all privileges on *.* to testuser@“192.168.1.100” identified by "123456" ; //设置用户testuser,只能在客户端IP为192.168.1.100上才能远程访问mysql ;
5、关于root用户的访问设置
设置所有用户可以远程访问mysql,修改my.cnf配置文件,将bind-address = 127.0.0.1前面加“#”注释掉,这样就可以允许其他机器远程访问本机mysql了;
>> grant all privileges on *.* to root@"%" identified by "123456" ; // 设置用户root,可以在远程访问mysql
>> select host,user from user; //查询mysql中所有用户权限
关闭root用户远程访问权限
>> delete from user where user="root" and host="%" ; //禁止root用户在远程机器上访问mysql
>> flush privileges ; //修改权限之后,刷新MySQL的系统权限相关表方可生效
相关文章推荐
- mysql 1040错误Too many connections的方法
- MySql重置密码
- mysql实现rownum
- 在hibernate启动的时候报了个错: 对实体 "characterEncoding" 的引用必须以 ';' 分隔符结尾
- 在hibernate启动的时候报了个错: 对实体 "characterEncoding" 的引用必须以 ';' 分隔符结尾
- 解决mysql不能通过'/tmp/mysql.sock 连接的问题
- MySQL 5.6 for Windows 解压缩版配置安装
- MySQL将表a中查询的数据插入到表b中
- 设置mysql的主从复制
- elasticsearch从mysql导入数据
- elasticsearch从mysql导入数据
- mysql数据库索引
- MySQL服务健康检查脚本
- mysql单表大小
- [实战]MVC5+EF6+MySql企业网盘实战(22)——图片列表
- Mysql学习历程(一)
- mysql——1103提示
- mysql之各种命令总结
- 干货:MySQL数据库优化参考
- mysql登录出错