2

我正在尝试MySQL在 Arch Linux 上使用。它已经安装,但是当我尝试连接时出现此错误:

connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/run/mysqld/mysqld.sock' (2 "No such file or directory")'

我已经找过了,/etc/my.cfg但文件不存在。安装过程中一定出了问题。我怎样才能“清除”MariaDB并重新安装它?

4

4 回答 4

2

如果您正在使用archlinux它,了解包管理器 ( pacman) 是一个重要的想法。关于/etc/my.cfg你可以运行的问题

pacman -Ql mariadb

在那里你会看到该文件实际上被调用:

/etc/mysql/my.cnf

Arch linux不会为您配置软件包,这是arch 哲学的一部分。它将提供示例配置,甚至为您提供一个systemd单元文件

usr/lib/systemd/system/mysqld.service

但是您有责任确保配置正确并实际启动守护程序。

systemctl enable mysqld   # add the unit file to the boot sequence
systemctl start mysqld    # runs ExecStart= in the unit file
systemctl stop mysqld     # kills the daemon
systemctl disable mysqld  # remove unit from boot sequence

重新安装

由于重新安装这个词出现在问题的标题中,因此有人可能会发现这个问题:要重新安装mariadb,您只需执行

pacman -S mariadb

pacman将重新安装已经安装的包,不需要删除包(为了完整性,包删除发生在pacman -R

于 2016-06-08T00:28:06.723 回答
2

截至 17 年 7 月 28 日,我必须在新安装时执行此操作。这里的新手可能会节省一些时间。这是一个真正的痛苦。

好的,这是交易!!!!安装 APACHE _ 没有问题

INSTALL MYSQL _PROBLEM pacman -S mysql 然后在启动服务之前

  1. 必须在以下位置取消注释 INNODB:

    纳米 /etc/mysql/my.cnf

  2. 然后必须在启动服务之前初始化数据目录:

    mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

您需要在启动服务之前初始化 MariaDB 数据目录。这可以通过 mysql_install_db 命令完成,例如: mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql mariadb galera 的可选依赖项:对于带有 Galera WSREP perl-dbd-mysql 的 MariaDB 集群:对于 mysqlhotcopy、mysql_convert_table_format 和 mysql_setpermission

于 2017-07-29T20:59:56.093 回答
1

CNF 文件/etc/mysql/my.cnf位于 Arch Linux 中。

我可以重现您的问题的一种简单方法是关闭 MariaDB。对不起,如果这听起来很愚蠢,但你没有提到它:MariaDB 开始了吗?sudo systemctl start mysqld.service

您应该查看 MariaDB 日志以获取一些线索:(journalctl _SYSTEMD_UNIT=mysqld.service如果您仍然不明白发生了什么,可以粘贴一些部分)。

于 2016-06-08T15:50:22.323 回答
1

第一次安装 MySQL 和 MariaDB 时会发生这种情况。正如grochmal指出的那样,您必须在首次使用之前设置配置。但是,用户 teckk 在archlinux 新手角发送了这三个链接:

  1. https://wiki.archlinux.org/index.php/MariaDB
  2. https://wiki.archlinux.org/index.php/MariaDB#Reset_the_root_password
  3. https://bbs.archlinux.org/viewtopic.php?id=51981

简而言之,您必须在启动服务之前运行以下命令:

sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

可选(推荐)您应该通过调用来提高初始安全性:

sudo mysql_secure_installation

现在你可以启动服务了:

sudo systemctl start mariadb

或者,您可以安装和使用图形前端工具。继续按照MariaDB 配置的 archwiki 帖子中所述设置配置

于 2021-04-01T13:51:55.733 回答