写在前面

请确保你使用的是 sudo apt-get install mysql-server 指令安装的mysql,此mysql版本默认最新版,即mysql8.0(2020年)

如果你是手动安装mysql5.7及以下版本,也可以翻看这篇文章,只是修改密码的命令不一样,其他原理都一样!

本篇博文与2020年6月21经博主翻阅多篇资料总结并在Ubunto20.04环境下对 mysql8.0.20 进行测试,方法完全可用!

内容有点多,因为坑实在太多,请耐心观看,一定能解决你的问题!

问题描述

当你在Ubunto上使用sudo apt-get install mysql-server指令安装mysql后,你会发现你登录不上,会出现这样的情况。

hadoop@yjp:~$ mysql
ERROR 1045 (28000): Access denied for user 'yjp'@'localhost' (using password: NO)
hadoop@yjp:~$ mysql -uroot -p
Enter password:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

哇,心态爆炸,我装一个mysql这还不让我用了。

怎么说呢,使用上述指令安装mysql后,在安装过程中mysql数据库自动为你设置了账号密码,并放在了/etc/mysql/debian.cnf文件中

问题解决

一、使用命令查看mysql数据库自动设置的随机账户与密码

sudo cat /etc/mysql/debian.cnf

图中显示的就是默认随机的账户与密码,我们可以使用这组账号与面进行mysql登录

登陆成功!

二、修改数据库配置文件绕过密码登录

不建议使用

设置过程中因为绕过密码登录,会使root用户处于无密码状态,后期修改密码会报一个root处于无密码状态的错误,当然能解决。

当修改完密码后,还要将添加的内容注释掉,较为繁琐!

sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf        # 这里你也可以用vim编辑器,都是一样的。

找到[mysqld]

添加如下内容:

skip-grant-tables

保存退出!重启mysql服务

service mysql restart

登录mysql

mysql -uroot -p

密码随便输,直接就进去了!

修改mysql用户密码

一、切换数据库

use mysql

二、修改root用户密码

注意下面两条修改mysql root用户密码的命令只适用于mysql5.7版本及以下

这里你会发现你在网上搜出来的大部分修改面的命令都是

update user set password=PASSWORD("123456") where user=root;                              --设置密码为123456

或者是

update user set authentication_string=PASSWORD(“123456”) where user=‘root’;              --设置密码为123456
喔,阿西吧!你用上面两个会一直报错,说你的语句有错误,崩溃瞬间好吧!

如果你是mysql5.7用户及以下,上面两条指令适用于你!

执行完命令之后 flush privileges;  更新所有操作权限,重启数据库 service mysql restart 即可


mysql 5.7.9以后废弃了password字段和password()函数;authentication_string:字段表示用户密码,而authentication_string字段下只能是mysql加密后的41位字符串密码。

而我们一般现在使用指令安装mysql会默认安装最新版mysql8.0

修改mysql8.0 root用户密码正确打开方式

MySql 从8.0开始修改密码有了变化,在user表加了字段authentication_string,修改密码前先检查authentication_string是否为空

如果不为空,先置空字段在修改密码

use mysql; update user set authentication_string='' where user='root';      --将字段置为空alter user 'root'@'localhost' identified with mysql_native_password by '123456';
--修改密码为123456

如果为空,则直接修改密码

alter user 'root'@'localhost' identified with mysql_native_password by '123456';
--修改密码为123456

修改成功!

登陆成功!

如果出现下列错误:

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

这是由于你上面如果用的第二种方法设置绕过密码登录,这时root用户是无密码状态,会报这个错误!

这时,先执行

flush privileges;

然后再执行修改密码命令就行了

alter user 'root'@'localhost' identified with mysql_native_password by '123456';      --修改密码为123456

大功告成!

重启mysql

service mysql restart

注意

使用第一种方法直接查看mysql默认账户密码登录的则自动忽略下述内容!

如果你是修改的 /etc/mysql/mysql.conf.d/mysqld.cnf  文件设置绕过密码登录(即上述第二种方法进入数据库)

设置密码完毕后一定要将 skip-grant-tables 这句代码在文件中注释掉。

然后重启mysql

service mysql restart

Ubunto20.04安装MySQL并修改root用户密码(Linux安装mysql root用户无法登陆)相关推荐

  1. ubuntu 安装GPU黑屏 修改GRUB_Ubuntu安装mysql后修改用户名和密码

    Ubuntu安装mysql后修改用户名和密码 01 获取用户名和密码 在前面文章中,提到过刚安装mysql数据库后获取用户名和密码,这里不做复述,请见Ubuntu下mysql安装后登录不进去的解决方法 ...

  2. Ubuntu安装时没注册root用户密码,怎么登录root

    一.其实我个人认为这没有多大必要,因为当你需要 root 的权限时,使用 sudo 便可以了.如果你实在需要在 Ubuntu 中启用 root 帐号的话,那么不妨执行下面的操作: 1.重新设置 roo ...

  3. mysql 绿色版远程访问_【Linux】MySQL解压版安装及允许远程访问

    安装环境/工具 1.Linux( centOS 版) 2.mysql-5.6.31-linux-glibc2.5-x86_64.tar 安装步骤 1.下载mysql解压版(mysql-5.6.31-l ...

  4. linux 修改超级权限密码,linux 修改用户密码

    本文章总结了如何手动.自动修改本地用户密码及远程机器的用户密码.对做自动化测试提供了自动修改用户密码的原理及方法. 修改本地用户密码: 1.交互配置本地用户: 以root用户: passwd Chan ...

  5. linux上mysql忘记密码,linux下mysql忘记密码解决方案

    一.写随笔的原因:之前自己服务器上的mysql很久不用了,忘记了密码,所以写一下解决方案,以供以后参考 二.具体的内容: 1. 检查mysql服务是否启动,如果启动,关闭mysql服务 运行命令:ps ...

  6. linux root 跑程序,linux下获得root权限运行程序

    在linux下系统的默认root用户是不被启用的,这和MS windows的做法恰恰相反,windows XP却是安装好系统好,就给你创建一个自动登录的管理员用户,不过Linux不一样的这一点也大大地 ...

  7. 通过命令查看linux 密码,linux查看用户密码(linux查看用户密码命令)

    linux查看用户密码(linux查看用户密码命令) 2020-05-15 13:18:30 共10个回答 1.用户名和密码的存储位置存储帐号的文件:/etc/passwd存储密码的文件:/etc/s ...

  8. ubuntu服务器ssh登录密码修改,Ubuntu-18.04 下修改root用户密码,安装SSH服务,允许root用户远程登录,安装vsftp服务器...

    修改root用户密码 打开终端,输入 sudo passwd root 指令: 安装SSH服务 ssh默认端口号是22,可以在/etc/ssh/sshd_config文件中修改 查看服务器否开启:ne ...

  9. 删除+mysql+用户密码_误删除mysql中的所用用户,如何重新设置root账号和密码

    在练习mysql语句的时候,使用delete将数据库中的所有用户删除了,其中也包括root用户.并进行了flush privileges:这时候发现重新登入mysql已经不能正常登陆.对此我们要重新设 ...

  10. Mac系统修改root用户密码,mac切换root用户登录实例演示

    修改 root 密码: yanglizhideMacBook-Pro:~ lizhi$ sudo passwd root Password: Changing password for root. N ...

最新文章

  1. C#里调用带输出参数的存储过程
  2. 2019年上海市数学建模讲座(3)微分方程建模方法
  3. 搭建基于Heartbeat v2+NFS的高可用Web集群
  4. 数学公式编辑器 linux,linux下的公式编辑器
  5. LiveVideoStack线上交流分享 (十四) —— 深度学习在视频分析处理的实践
  6. Java 字符串 String 与整数型 int 之间的转换
  7. HDLBits答案(10)_D触发器、同步与异步复位、脉冲边沿检测
  8. gmail收件箱标签设置_通过多个收件箱实验室有效管理您的Gmail
  9. 加入域--深入理解DNS在域中作用
  10. 下载Pytorch的自带数据集时报错=urllib.error.URLError: urlopen error [SSL: CERTIFICATE_VERIFY_FAILED]
  11. ubuntu9.10下如何安装php
  12. linux下用tcpdump抓包
  13. AcWing提高算法课Level-3 第六章 基础算法
  14. 大数据平台的搭建和数据分析
  15. 并发编程 进程基础
  16. 电脑上怎样安装python,【初学者教程】在电脑上安装Python,写第一个程序
  17. moment.js计算时间差
  18. IE假死-在地址栏输入URL地址弹出新窗口的解决方法
  19. Java常见面试题大全
  20. 自力更生给笔记本电脑换固态并重装系统

热门文章

  1. FileNotFoundError: [WinError 3] 系统找不到指定的路径。: ‘/data3/eirini/datas
  2. 换个角度,智能硬件也能这样玩
  3. kohan-如何创建和使用控制器
  4. flutter 发送验证码
  5. EFI删不删有什么影响
  6. java 电池类类代码举例_教案:Java第7章 类的方法
  7. C语言编程小练习7(二维数组)
  8. java对int数组求和
  9. fastposter v2.8.4 发布 电商海报生成器
  10. js 实现二维码生成