随笔 - 11  文章 - 2  评论 - 1

mysql数据库修改密码

更改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的系统权限相关表方可生效  

 

posted @ 2015-12-28 00:15  Double405  阅读(279)  评论(0编辑  收藏  举报