微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Ubuntu 14.04上与MySQL一起安装后无法启动MariaDB

我已经按照mariadb.com中的官方说明逐行安装了MariaDB 10.0.14.

我正在运行Ubuntu 14.04(从12.04升级),并且已经安装了MysqL服务器.当我尝试运行mariadb时,我首先停止了MysqL服务:

$sudo /etc/init.d/MysqL stop
$sudo /etc/init.d/mariadb start

但是什么也没发生.显然无法创建mariadb.sock:

$MysqL -e "SELECT VERSION();" --socket=/opt/mariadb-data/mariadb.sock    
ERROR 2002 (HY000): Can't connect to local MysqL server through socket '/opt/mariadb-data/mariadb.sock' (111)

我的错误日志是:

141112 13:50:37 MysqLd_safe Starting MysqLd daemon with databases from /opt/mariadb-data    
141112 13:50:37 [Note] Server socket created on IP: '::'.
141112 13:50:37 [ERROR] MysqLd: Can't create/write to file '/var/run/MysqLd/MysqLd.pid' (Errcode: 13 "Permission denied")
141112 13:50:37 [ERROR] Can't start server: can't create PID file: Permission denied
141112 13:50:37 MysqLd_safe MysqLd from pid file /var/run/MysqLd/MysqLd.pid ended

我不明白为什么启动服务后会拒绝权限.如说明中所述,我已经创建了新的系统组和用户,都称为mariadb,应该可以处理此问题.

也许我应该为/ opt / mariadb-data目录授予完全的读/写权限,但是我不确定这是一个方法.我该怎么办?

解决方法:

您确定对/etc/init.d/mariadb正确应用了–defaults-file = / opt / mariadb-data / my.cnf修改吗?

问题是MysqLd仍然尝试在/ var / run / MysqL中而不是/ opt / mariadb下创建.pid文件. / var / run / MysqL目录属于“ MysqL”系统用户,而不是根据说明创建的“ mariadb”用户.

而且/ var / run / MysqL设置只能来自系统/etc/MysqL/my.cnf文件,认情况下由MysqLd_safe / MysqLd读取,除非使用–defaults-file = …覆盖.

还要注意,–defaults-file必须是第一个命令行选项

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐