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

标签 mysql ubuntu 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 目录授予完整的读/写权限,但我不确定这是一个好方法。我该怎么办?

最佳答案

尽管@hartmut-holzgraefe 在他的回答中提供了一个很好的解决方案,但我还是决定尝试一种不同的方法。由于它工作得非常好并且独立于我的 MySQL 服务器,我想我也可以与大家分享它。

与尝试将其与 MySQL 一起安装相比,为 MariaDB ( tutum/mariadb ) 使用 Docker 容器被证明是一种更快、也许更清洁的解决方案。

步骤

通过docker运行mariadb的步骤是:

  1. Install Docker
  2. Pull whichever version of MariaDB you want from tutum-docker-mariadb (in my case 10.1)
  3. Build an image and run it to set up a container


命令

第 3 步的命令列在存储库的自述文件中。 我只会提到您可能想要显式预设主机名和机器端口,如下所示:

# build the image
docker build -t tutum/mariadb .

# run it
docker run -d -p 127.0.0.1:3307:3306 -e MARIADB_PASS="mypass" tutum/mariadb

# connect to mariadb
mysql -uadmin -pmypass -h127.0.0.1 -P3307


  • admin 是在初始运行时创建的默认用户 容器
  • mypass 是覆盖随机的自定义通行证 最初生成的密码(否则你必须使用 docker logs 来获取它)
  • 127.0.0.1:3307:3306 意味着您将容器内的 3306 端口与 本地主机上的 3307 端口。

关于mysql - 在 Ubuntu 14.04 上与 MySQL 一起安装后无法启动 MariaDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26886639/

相关文章:

java - 安卓/MySQL : how can I display data based on the department associated with the logged-in user?

mysql - mysql 中用于更新查询的 where 子句给出了 varchar 主键的语法错误

bash - 'mv' 命令抛出错误但在 docker 中执行正常

mysql不重启

sql - 将 SQL 文件导入新的 MariaDB 数据库时出错

php - 哪个查询会更优化?

Mysql 启动问题 |错误!服务器退出但不更新 PID 文件

ubuntu - 如何在 Ubuntu 中增加 RabbitMQ 文件描述符限制

linux - 通过 shell 脚本将 "raw"命令行添加到 bashrc(不评估命令)

mysql - 在 2017 年将图像存储为 blob?