Ubuntu 18.04.4 LTS上安装和使用MySQL及忘记root密码的

MySQL是一个通用的开源关系数据库,用于在Python Web应用程序中创建,读取,更新和删除数据。本文让我们学习如何在Ubuntu 18.04.4 LTS上安装MySQL,然后在命令行客户端中运行一些SQL查询。

我们不讨论使用对象关系映射器(ORM)通过Python应用程序进行连接,但是可以将这些步骤用作使用ORM(如SQLAlchemy或Peewee)的先决条件。

我们需要的工具

在本教程中,我们将使用以下组件:

Ubuntu 18.04.4 LTS(本教程也适用于其他Ubuntu版本)

MySQL

安装MySQL

我们可以使用apt包管理器来安装MySQL。首先,确保你的软件包是最新的。打开终端并运行这个apt命令。

[linuxidc@linux:~/www.linuxidc.com]$ sudo sudo apt-get update

Ubuntu 18.04.4 LTS上安装和使用MySQL及忘记root密码的解决

我们需要安装mysql-server软件包,该软件包下载所需的文件,配置初始数据库设置并处理将MySQL作为系统服务运行。运行此apt命令以启动该过程。

[linuxidc@linux:~/www.linuxidc.com]$ sudo apt install mysql-server

Ubuntu 18.04.4 LTS上安装和使用MySQL及忘记root密码的解决

当提示您是否要安装新软件包时,输入“ y”。

要求安装新root密码的管理屏幕将出现在软件包安装过程的中间。输入您选择的新密码两次,安装将继续。

在安装过程中间,将出现一个要求输入一个root密码。输入新密码两次,安装将继续。(如果不小心忘记了,请参见下面的解决方法)

稍后安装将完成,您将回到命令提示符。

安装完成后,登录MySQL的时候如果出现了如下错误(在安装时没有设置MySQL root密码或者MySQL root密码忘记了):

[linuxidc@linux:~/www.linuxidc.com]$ mysql -u root -p

[linuxidc@linux:~/www.linuxidc.com]$ mysql -u root -p
Enter password:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

Ubuntu 18.04.4 LTS上安装和使用MySQL及忘记root密码的解决

因为安装的过程中没设置密码,可能密码为空,但无论如何都进不去MySQL。

------------------------------------分割线------------------------------------

下面是忘记root密码或者没有设置root密码的解决方法:

第一步:修改mysqld.cnf配置文件

在Ubuntu终端上输入sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf,进入到这个配置文件,然后在这个配置文件中的[mysqld]这一块中加入skip-grant-tables这句话。

Ubuntu 18.04.4 LTS上安装和使用MySQL及忘记root密码的解决

作用:就是让你可以不用密码登录进去MySQL。

保存退出。输入:service mysql restart,重新启动mysql。

Ubuntu 18.04.4 LTS上安装和使用MySQL及忘记root密码的解决

第二步:设置root密码

在终端上输入mysql -u root -p,遇见输入密码的提示直接回车即可,进入MySQL后,分别执行下面三句话:

use mysql;  然后敲回车

update user set authentication_string=password("你的密码") where user="root";  然后敲回车

flush privileges;  然后敲回车

结果如下图:

Ubuntu 18.04.4 LTS上安装和使用MySQL及忘记root密码的解决

然后输入quit,退出MySQL。

第三步:注释掉skip-grant-tables

重新进入到mysqld.cnf文件中去把刚开始加的skip-grant-tables这条语句给注释掉,如下图。

Ubuntu 18.04.4 LTS上安装和使用MySQL及忘记root密码的解决

再返回终端输入mysql -u root -p,应该就可以进入数据库了。

第四步:问题解决

如果此时还是报出错误,那么就需要返回第三步中,把注释掉的那条语句重新生效(就是删除#符号),重新进入MySQL中,先任意选择一个数据库,比如use mysql;

然后输入select user, plugin from user;  看下图:

Enter password:
ERROR 1524 (HY000): Plugin 'auth_socket' is not loaded

Ubuntu 18.04.4 LTS上安装和使用MySQL及忘记root密码的解决

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/45bdb5f516891073e600e83887347a9d.html