MySQL修改root密码的多种方法+给远程登录赋权

参考http://blog.itpub.net/29578568/viewspace-2149699/

一、MySQL修改root密码的多种方法
在 Navicat for MySQL 下面直接执行  SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');   就可以 

方法1: 用SET PASSWORD命令

  mysql -u root
格式:mysql> set password for 用户名@localhost = password('新密码'); 
例子:mysql> set password for root@localhost = password('1234'); 

方法2:用mysqladmin 只改的localhost

  格式:mysqladmin -u用户名 -p旧密码 password 新密码。p和旧密码没有空格 例如
  1、 如root无密码,给root加个密码123。首先在DOS下进入目录mysql\bin,然后键入以下命令
[root@BI-162 ~]# mysqladmin -u root password 123
  2、 如果root已经设置过密码,将root的密码改为234 p和旧密码没有空格
[root@BI-162 ~]# mysqladmin -u root -p123 password 1234

方法3: 用UPDATE直接编辑user表

  mysql -u root -p
  mysql> use mysql;
  mysql> UPDATE user SET password = PASSWORD('新密码') WHERE user = 'root'; 
  mysql> FLUSH PRIVILEGES;

或 分别设置本地和远程登录密码,密码可不同
mysql> update mysql.user set password=password('123') where user='root' and host='localhost'; 
mysql> update mysql.user set password=password('123') where user='root' and host='%';
 update mysql.user set password=password('123') where user='root' and host='BI-162';
mysql> flush privileges;

方法4:在忘记root密码的时候,可以这样
    KILL掉系统里的MySQL进程;
  mysqld_safe --skip-grant-tables&
  mysql -u root mysql
  mysql> UPDATE user SET password=PASSWORD('新密码') WHERE user='root';
  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登录。

二、给远程服务器赋权
允许用户在指定IP进行远程登陆,如果想不限制链接的IP则设置为“%”即可
grant all PRIVILEGES on bidb.* to root@'%' identified by '123'; 
grant all PRIVILEGES on pacs.* to root@'%' identified by '123'; 
grant all PRIVILEGES on mysql.* to root@'%' identified by '123'; 
grant all PRIVILEGES on test_db.* to root@'192.168.1.101'  identified by '123456';  
 grant all on *.* to root@'%' identified by 'root' with grant option;

mysql -u root -p
mysql> use mysql;
mysql>select host, user, password from user;
额外说明,从这张user表中,我们可以构建这样的权限体系。相同的用户名,从不同的机器上登陆时使用不同的密码。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值