在ubuntu 18.04中安装mysql时出现问题

jdg4fx2g  于 2021-06-21  发布在  Mysql
关注(0)|答案(6)|浏览(500)

自从升级操作系统后,我就安装了mysql。但根密码似乎有问题。我在网上尝试了很多方法来解决这个问题,但到目前为止还没有成功。
systemctl status mysql.service提供:

● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2018-05-02 16:57:24 +07; 13s ago
  Process: 6172 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=217/USER)
Thg 5 02 16:57:24 thiennguyen systemd[1]: mysql.service: Service hold-off time  over, scheduling restart.
Thg 5 02 16:57:24 thiennguyen systemd[1]: mysql.service: Scheduled restart job,  restart counter is at 5.
Thg 5 02 16:57:24 thiennguyen systemd[1]: Stopped MySQL Community Server.
Thg 5 02 16:57:24 thiennguyen systemd[1]: mysql.service: Start request repeated too quickly
Thg 5 02 16:57:24 thiennguyen systemd[1]: mysql.service: Failed with result 'exit-code'.
Thg 5 02 16:57:24 thiennguyen systemd[1]: Failed to start MySQL Community Server

journalctl-xe提供:http://codepad.org/6ebgvu2q
mysql\u安全\u安装提供:

Securing the MySQL server deployment.
Enter password for user root: 
Error: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

mysql-u root-p给出:

Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

特别是我安装的时候,mysql不需要为root设置密码,我已经重新安装过很多次了。也许问题已经老了,但是我在网络上找到了很多方法却解决不了,所以期待大家的帮助。

axzmvihb

axzmvihb1#

我知道这个问题,当使用16.04它从来没有发生过。在18.04,我试着用它来解决。

sudo mysql_secure_installation

在这种情况下,我可以设置我的密码,但它不工作
而这些代码并不能解决问题。

UPDATE user SET password=PASSWORD('NEW_PASSWORD') WHERE user='root';
jum4pzuy

jum4pzuy2#

标记为正确的答案在技术上是不对的。ubuntu18.04使用套接字进行授权,而不是密码!!
(https://websiteforstudents.com/mariadb-installed-without-password-prompts-for-root-on-ubuntu-17-10-18-04-beta/)
对我来说,登录非常简单:

sudo  mysql -u root

我觉得不管是谁对这个“特征”负责,都是失策。在尝试运行mysql时,应该有一条消息指出ubuntu不再使用密码。这是一个功能上的巨大变化。

dddzy1tm

dddzy1tm3#

mysql和mariadb(ubuntu18.04)也有很多问题。我不能让玛丽亚布去工作。我都在使用说明如何从ubuntu16.04中强制删除mysql和mariadb,而不使用“apt-get”和“dpkg”?

$ dpkg --list|grep -i mysql

以及

$ dpkg --list|grep -i mariadb

$ dpkg -remove --force-remove-reinstreq <package-list>

然后安装mysql,如中所述https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/
即使重新启动后,现在也可以正常工作。不知道为什么这个解决方案没有得到更广泛的推广!

ar7v8xwq

ar7v8xwq4#

安装后只需:

sudo mysql

(是,无用户无通行证)
您现在在mysql控制台中:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'my_new_pass';
``` `FLUSH PRIVILEGES;` 就这样。现在您可以像往常一样进入控制台:

mysql -u root -p my_new_pass

emeijp43

emeijp435#

在过去的24小时里,我试图消除这些错误,并用同一个数据库从16.04迁移到18.04,但我看到的所有网页都帮不了我。简直是地狱。
尝试systemctl status mysql.service和journalctl-xe是个死胡同-没有线索。
但错误是:
无法通过套接字'/var/run/mysqld/mysqld.sock'(2)连接到本地mysql服务器
让我了解一下,18.04版本的mysql服务器有一点不同的结构。在安装过程中,我多次看到像:/etc/mysql/freezed这样的文件。
只有我深入阅读了它,我才明白,我的错误来自不同版本的mysql。它说我启动了降级(从mysql-server-5.7到mysql-server-5.6),尽管我确信我没有这样做,因为我正在安装mysql-server-5.7。
唯一对我有效的解决方案是:手动删除/var/lib/mysql中的所有文件(和数据库),然后重新安装mysql服务器和mysql客户端
我将它们复制到不同的位置,但无法还原它们。所以,问题出在数据库中,什么不能迁移。我也找不到适用于ubuntu18.04的mysql-server-5.6(我读到,有人是通过手工编译完成的)。幸运的是,它是在测试服务器上制作的,所以没有丢失任何有价值的东西。但无论如何,下一次我会在ubuntu版本迁移之前进行mysql db备份并进行干净的安装,而不是试图保存现有的数据库。

lkaoscv7

lkaoscv76#

您必须在安全安装时更改mysql的旧密码。如果您不记得旧密码,请通过root尝试以下方法privilege:-
停止mysql服务。

service mysql stop

在没有密码和权限检查的情况下启动mysql。

mysqld_safe --skip-grant-tables &

连接到mysql

mysql -u root mysql

运行以下命令为root用户设置新密码。

UPDATE user SET password=PASSWORD('NEW_PASSWORD') WHERE user='root';
FLUSH PRIVILEGES;
service mysql restart

有些新版本不支持上面的更新查询,请尝试在下面使用

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

相关问题