三种方式

  1. linux命令行执行mysqladmin客户端程序
  2. mysql命令行set password命令
  3. mysql命令行update命令 (推荐使用,避免多用户问题)

方式一:mysqladmin方式

格式

$ mysqladmin -uuser_name -p'oldPasswd' password 'newPasswd'

其中user_name即为用户名,oldPasswd即为旧密码,newPasswd即为新密码;

示例

$ mysqladmin -uroot -p'1qaz!QAZ' password 123456

方式二:set password方式

需要先通过mysql -uroot -p进入mysql命令行

格式

mysql> set password for user_name@localhost=password('newPasswd');
Query OK, 0 rows affected (0.94 sec)

其中user_name即为用户名,newPasswd即为新密码;

示例

mysql> set password for root@localhost = password('1qw2!QW@');

方式三:update命令

需要先通过mysql -uroot -p进入mysql命令行

格式

mysql> update mysql.user set password=password('newPasswd') where user='userName';
mysql> flush privileges;

其中user_name即为用户名,newPasswd即为新密码;

示例

mysql> update mysql.user set password=password('1qaz!QAZ') where user='root';
Query OK, 0 rows affected (0.94 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.94 sec)

Q & A

问题:修改密码后服务端生效,但是navicat还能使用旧密码连接mysql?

  其实mysql数据库中,我们所说的用户不仅仅只是'root',更多的是指root@localhostroot@%这种带有'userName'@'hostName'的才是具体的用户。
1)当我们使用:

mysql> set password for root@localhost=password('newPasswd');`

可能只是改了root@localhost这个用户,有可能还有root@%用户。
2)查看user表:

mysql> select host, user, password from mysql.user where user='root';


从user表中,我们可以看到root对应到多个host,使用之前的set语句可能我们只是更改了其中一个用户,我们可以通过update命令更新mysql.user表,全局更新所有root@hostName的密码;
3)所以,我们应该使用:

mysql> update mysql.user set password=password('newPasswd') where user='root';
Query OK, 1 row affected (0.11 sec)
Rows matched: 5  Changed: 1  Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.94 sec)

这样可以全局改变所有带有root@的用户密码,再通过navicat使用旧密码连接数据库时,远程访问拒绝。

MySQL—修改数据库root用户密码相关推荐

  1. Mysql数据库 root用户密码忘记怎么办?

    一.Mysql root用户密码忘记 1.用命令编辑/etc/my.cnf配置文件,即:vim /etc/my.cnf 或者 vi /etc/my.cnf 2.在[mysqld]下添加skip-gra ...

  2. PhpStudy修改数据库root的密码

    双击打开phpstudy软件 然后选择"其他选项菜单" 点击后,会出现一下页面,找到"MySQL工具" 然后找到"设置或修改密码" 在这里你 ...

  3. linux修改非root用户密码永不过期

    修改shadow 默认权限是400要修改要先改600然后修改好后改回400 chmod 600 /etc/shadow vim /etc/shadow 一般新建的用户这里是 90改为99999即可(倒 ...

  4. mysql修改数据库用户名和密码

    前言 本系列的目的是明明白白.彻彻底底的搞定日期/时间处理的几乎所有case.上篇文章铺设所有涉及到的概念解释,例如GMT.UTC.夏令时.时间戳等等,若你还没看过,不仅强烈建议而是强制建议你前往用花 ...

  5. mac mysql密码错误_解决mac 下mysql安装后root用户登录密码错误问题

    使用的mac OS 10.11  安装mysql后访问root/root用户失败,网上找了一些解决办法,下面记录下解决方法方便以后自己查询 概述(看懂下面就不用看了): 停服务:sudo /usr/l ...

  6. MySQL常见问题的解决,root用户密码忘记,不是内部或外部命令,修改数据库和表的字符编码,命令行客户端的字符集问题

    文章目录 问题1:root用户密码忘记,重置的操作 问题2:mysql命令报"不是内部或外部命令" 问题3:错误ERROR :没有选择数据库就操作表格和数据 问题4:命令行客户端的 ...

  7. php mysql 修改密码_设置及修改MySQL root用户密码

    设置及修改MySQL root用户密码 MySQL数据库用户安全策略介绍 安装mysql数据库后,默认的管理员root密码是空,这很不安全,因此需要设置一个密码 为root设置密码 删除无用的MySQ ...

  8. 6、单机运行环境搭建之 --CentOS-6.4安装MySQL 5.6.10并修改MySQL的root用户密码

    Mysql 5.5以后使用了CMake进行安装,参考与以前的区别请参考: http://www.blogjava.net/kelly859/archive/2012/09/04/387005.html ...

  9. linux路由修改密码,Linux中修改Mysql root用户密码的方法

    Linux中修改Mysql root用户密码的方法 下面给大家分享下在Linux下如何修改Mysql的用户(root)的密码,分两种情况:第一种当拥有原来的mysql的root密码,第二种情况忘记原来 ...

最新文章

  1. 凤凰城将很快迎来无人驾驶汽车
  2. linux snap 沙盒化软件包格式 简介
  3. 005zabbix3.0报错记录
  4. Python-面向对象进阶
  5. 微信公众号点击菜单即可打开并登录微站的实现方法
  6. python伪装浏览器什么意思_用python2和python3伪装浏览器爬取网页
  7. 写屏障是什么_面试官为什么问内存模型总离不开final关键字,该如何应对?
  8. Bootstrap表单的可选布局
  9. 2_python基础—格式化符号(输入、输出、转义、结束)
  10. ar nm ldd 静态库 动态库
  11. databinding include 控件空指针_Android Jetpack系列——细说DataBinding
  12. 测试linux内核工具,多种测试linux内核的方法
  13. YACC(BISON)使用指南
  14. win10每次开机桌面计算机就没有,怎样解决Win10开机需要按F1才能进入桌面
  15. HDU 6411 带劲的and和【枚举贡献】
  16. 【产品】产品设计:美工线的设计
  17. 安装惠普打印机显示等待php,安装惠普打印机出现“新设备现已连接”一直不动怎么办?...
  18. CSV格式转换为xlsx格式
  19. 【七天入门Go语言】 GC垃圾回收三色标记 | 第七天
  20. exp备份oracle报错1455,EXP-00008 遇到 ORACLE 错误 1455

热门文章

  1. 图像处理:灰度(级)和分辨率
  2. react16.8+的生命周期
  3. Android-Socket的最基础实现以及遇见在2.3可用4.3不可用的解决方法
  4. caffe SigmoidCrossEntropyLossLayer
  5. vantUI组件:Grid宫格 - 案例篇
  6. 一般试卷的纸张大小是多少_一般试卷的纸张大小
  7. python画画加粗_Matplotlib'粗体'字体 - python
  8. android中多态的应用_动态代理原理及在 Android 中的应用
  9. 价值98元的千神资源网模板
  10. 恋爱记v1.0源码-在线生成表白页