在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必须是第一个命令行选项

相关文章

安装开始...1.打开“https://dev.mysql.com/downloadsepo/yu...
安装Helm3#官网下载慢#wgethttps://get.helm.sh/helm-v3.5.4...
通过Linux命令行启动用的指令:systemctlstartmariadb.servi...
InstallingMariaDBServer10.4TodeployMariaDBCommunityServe...
阅读目录一什么是存储引擎二mysql支持的存储引擎三使用存储引...
1、安装MariaDB安装命令yum-yinstallmariadbmariadb-server安...