温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MySQL怎么修改root密码并给远程登录赋权

发布时间:2021-08-21 22:59:54 来源:亿速云 阅读:733 作者:chen 栏目:MySQL数据库

本篇内容主要讲解“MySQL怎么修改root密码并给远程登录赋权”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL怎么修改root密码并给远程登录赋权”吧!

一、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表中,我们可以构建这样的权限体系。相同的用户名,从不同的机器上登陆时使用不同的密码。

到此,相信大家对“MySQL怎么修改root密码并给远程登录赋权”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI