【后端】Ubuntu 18.04安装mysql;解决在Ubuntu 18.04 下安装mysql,没有初始密码,重设root密码的问题; 解决Ubuntu安装mysql之后登录不进去的问题

一、安装MySQL

1、使用以下命令即可进行mysql安装,注意安装前先更新一下软件源以获得最新版本:

sudo apt-get update #更新软件源
sudo apt-get install mysql-server #安装mysql

在这里插入图片描述

上述命令会安装以下包:
apparmor
mysql-client-5.7
mysql-common
mysql-server
mysql-server-5.7
mysql-server-core-5.7
因此无需再安装mysql-client等。安装过程会提示设置mysql root用户的密码,设置完成后等待自动安装即可。默认安装完成就启动了mysql。

2、启动和关闭mysql服务器:

 service mysql start
service mysql stop

在这里插入图片描述

3、确认是否启动成功,mysql节点处于LISTEN状态表示启动成功:

sudo netstat -tap | grep mysql

在这里插入图片描述

4、进入mysql shell界面:

 mysql -u root -p

这里因为Ubuntu的版本原因,安装中途没有让设置密码,所以会报错

在这里插入图片描述

5. 解决在Ubuntu 18.04 下安装mysql,没有初始密码,重设root密码的问题

因为在安装过程中没有提示用户设置密码,所以需要使用mysql自动创建的用户进行登录:

  • 找到安装时默认生成的默认账户在终端上输入
sudo cat /etc/mysql/debian.cnf

在这里插入图片描述

  • 用得到的账户和密码登录mysql
    这里一定要提一嘴,这里的密码一定要用你自己查到的那个密码,因为那是随机生成的
mysql -u debian-sys-maint -p

在这里插入图片描述

  • 然后就是修改密码了,跟原来的也有一点区别

1)、use mysql; #连接到mysql数据库

2)、 select Host,user,authentication_string,plugin from user;

2)、update mysql.user set authentication_string=password("root") where user="root" and Host ="localhost"; # 密码为root

3)、update user set plugin="mysql_native_password";

4)、flush privileges;

5)、quit;

过程如下
在这里插入图片描述

6. 重启mysql服务器后,直接可以用root账户进行登录了在这里插入图片描述

注意分号和引号的问题:

Mysql修改用户密码报错ERROR 1054 (42S22): Unknown Column ‘Password’ In 'Field List’解决办法

改密码执行时,可能执行后报错  ERROR 1054(42S22) Unknown column ‘password’ in ‘field list’

错误的原因是 5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string

此外要注意英文的双引号和分号!!

所以请使用一下命令:

>mysql -u root -p
Enter password: ********
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 5.7.18-log MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use mysql;
Database changed
mysql> select User from user;  #此处为查询用户命令
+-----------+
| User      |
+-----------+
| *******  |
| mysql.sys |
| root      |
+-----------+
3 rows in set (0.00 sec)

mysql> update user set password=password("*******") where user="*******";  #修改密码报错
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
mysql> update mysql.user set authentication_string=password('*******') where user='*******';  #修改密码成功
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

mysql> flush privileges;  #立即生效
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

n>mysql -u ******* -p #以该用户登录成功.
Enter password: ********
…………………………
mysql>
  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

别出BUG求求了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值