首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Arch Linux上全新安装MySQL时出现mysql.sock不存在错误

在Arch Linux上全新安装MySQL时出现mysql.sock不存在错误
EN

Stack Overflow用户
提问于 2016-06-07 23:59:53
回答 4查看 8.5K关注 0票数 2

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

代码语言:javascript
复制
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并重新安装它?

EN

回答 4

Stack Overflow用户

发布于 2016-06-08 08:28:07

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

代码语言:javascript
复制
pacman -Ql mariadb

在那里,您将看到该文件实际上名为:

代码语言:javascript
复制
/etc/mysql/my.cnf

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

代码语言:javascript
复制
usr/lib/systemd/system/mysqld.service

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

代码语言:javascript
复制
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,您只需执行以下操作

代码语言:javascript
复制
pacman -S mariadb

pacman将重新安装已经安装的软件包,不需要删除该软件包(为了完整性,pacman -R会删除软件包)

票数 2
EN

Stack Overflow用户

发布于 2017-07-30 04:59:56

从7-28-17开始,我必须在新的安装上执行此操作。新手可能会节省一些时间。这真是一件痛苦的事。

好吧,这就是交易!安装APACHE _ NO探测

在启动服务前安装MYSQL _PROBLEM pacman -S mysql

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

在启动服务之前,nano /etc/mysql/my.cnf

  • then必须初始化数据目录:

用户-- mysql_install_db =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的MariaDB集群,perl-dbd-mysql:对于mysqlhotcopy,mysql_convert_table_format和mysql_setpermission

票数 2
EN

Stack Overflow用户

发布于 2016-06-08 23:50:22

CNF文件在Arch Linux中为/etc/mysql/my.cnf

当MariaDB关闭时,我可以用一种简单的方法来重现您的问题。很抱歉,如果这听起来很愚蠢,但正如您没有提到的: MariaDB启动了吗?sudo systemctl start mysqld.service

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37684130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档