在Fedora中启动Mysql / Mariadb失败
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在Fedora中启动Mysql / Mariadb失败,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含7642字,纯文字阅读大概需要11分钟。
内容图文
![在Fedora中启动Mysql / Mariadb失败](/upload/InfoBanner/zyjiaocheng/895/658af441dfd346228a77dac47cd464f9.jpg)
无法在Fedora 17中启动mysql.我使用root帐户运行以下命令并禁用selinux.
service mysqld start
Redirecting to /bin/systemctl start mysqld.service
Job for mariadb.service failed. See 'systemctl status mariadb.service' and 'journalctl -xn' for details.
systemctl status mariadb.service
mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled)
Active: failed (Result: exit-code) since Tue 2014-09-23 11:29:32 SGT; 10s ago
Process: 4251 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=1/FAILURE)
Process: 4250 ExecStart=/usr/bin/mysqld_safe --basedir=/usr (code=exited, status=1/FAILURE)
Process: 4222 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
Main PID: 4250 (code=exited, status=1/FAILURE)
Sep 23 11:29:32 acer-4930g mysqld_safe[4250]: 140923 11:29:32 mysqld_safe WSREP: Running position recovery with --log_error='/var/...er.pid'
Sep 23 11:29:32 acer-4930g mysqld_safe[4250]: /usr/bin/mysqld_safe: line 138: /var/log/mariadb/mariadb.log: Permission denied
Sep 23 11:29:32 acer-4930g mysqld_safe[4250]: /usr/bin/mysqld_safe: line 182: /var/log/mariadb/mariadb.log: Permission denied
Sep 23 11:29:32 acer-4930g mysqld_safe[4250]: 140923 11:29:32 mysqld_safe WSREP: Failed to recover position:
Sep 23 11:29:32 acer-4930g mysqld_safe[4250]: ''
Sep 23 11:29:32 acer-4930g mysqld_safe[4250]: /usr/bin/mysqld_safe: line 138: /var/log/mariadb/mariadb.log: Permission denied
Sep 23 11:29:32 acer-4930g systemd[1]: mariadb.service: main process exited, code=exited, status=1/FAILURE
Sep 23 11:29:32 acer-4930g systemd[1]: mariadb.service: control process exited, code=exited status=1
Sep 23 11:29:32 acer-4930g systemd[1]: Failed to start MariaDB database server.
Sep 23 11:29:32 acer-4930g systemd[1]: Unit mariadb.service entered failed state.
Hint: Some lines were ellipsized, use -l to show in full.
journalctl -xn
-- Logs begin at Sat 2014-04-26 15:18:22 SGT, end at Tue 2014-09-23 11:29:34 SGT. --
Sep 23 11:29:32 acer-4930g mysqld_safe[4250]: /usr/bin/mysqld_safe: line 138: /var/log/mariadb/mariadb.log: Permission denied
Sep 23 11:29:32 acer-4930g mysqld_safe[4250]: /usr/bin/mysqld_safe: line 182: /var/log/mariadb/mariadb.log: Permission denied
Sep 23 11:29:32 acer-4930g mysqld_safe[4250]: 140923 11:29:32 mysqld_safe WSREP: Failed to recover position:
Sep 23 11:29:32 acer-4930g mysqld_safe[4250]: ''
Sep 23 11:29:32 acer-4930g mysqld_safe[4250]: /usr/bin/mysqld_safe: line 138: /var/log/mariadb/mariadb.log: Permission denied
Sep 23 11:29:32 acer-4930g systemd[1]: mariadb.service: main process exited, code=exited, status=1/FAILURE
Sep 23 11:29:32 acer-4930g systemd[1]: mariadb.service: control process exited, code=exited status=1
Sep 23 11:29:32 acer-4930g systemd[1]: Failed to start MariaDB database server.
-- Subject: Unit mariadb.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit mariadb.service has failed.
--
-- The result is failed.
Sep 23 11:29:32 acer-4930g systemd[1]: Unit mariadb.service entered failed state.
Sep 23 11:29:34 acer-4930g PackageKit[4204]: daemon quit
getenforce
Permissive
然后我将mariadb日志文件的所有权从root更改为mysql但仍然失败:
[root@acer-4930g ~]# ls -ld /var/log/mariadb/
drwxr-x---. 2 mysql mysql 4096 Sep 23 11:02 /var/log/mariadb/
[root@acer-4930g ~]# ls -l /var/log/mariadb/mariadb.log
-rw-rw----. 1 root root 554 Sep 23 11:02 /var/log/mariadb/mariadb.log
[root@acer-4930g ~]# chown -R mysql:mysql /var/log/mariadb -chR
[root@acer-4930g ~]# systemctl restart mariadb.service
Job for mariadb.service failed. See 'systemctl status mariadb.service' and 'journalctl -xn' for details.
[root@acer-4930g ~]# systemctl status mariadb.service
mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled)
Active: failed (Result: exit-code) since Tue 2014-09-23 14:58:09 SGT; 3min 4s ago
Process: 6890 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=1/FAILURE)
Process: 6889 ExecStart=/usr/bin/mysqld_safe --basedir=/usr (code=exited, status=1/FAILURE)
Process: 6861 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
Main PID: 6889 (code=exited, status=1/FAILURE)
Sep 23 14:58:09 acer-4930g mysqld_safe[6889]: 140923 14:58:08 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade ...ate it.
Sep 23 14:58:09 acer-4930g mysqld_safe[6889]: 140923 14:58:08 [ERROR] Aria engine is not enabled or did not start. The Aria engine...-tables
Sep 23 14:58:09 acer-4930g mysqld_safe[6889]: 140923 14:58:08 [ERROR] Aborting
Sep 23 14:58:09 acer-4930g mysqld_safe[6889]: 140923 14:58:08 InnoDB: Starting shutdown...
Sep 23 14:58:09 acer-4930g mysqld_safe[6889]: 140923 14:58:09 InnoDB: Shutdown completed; log sequence number 1597945
Sep 23 14:58:09 acer-4930g mysqld_safe[6889]: 140923 14:58:09 [Note] /usr/libexec/mysqld: Shutdown complete'
Sep 23 14:58:09 acer-4930g systemd[1]: mariadb.service: main process exited, code=exited, status=1/FAILURE
Sep 23 14:58:09 acer-4930g systemd[1]: mariadb.service: control process exited, code=exited status=1
Sep 23 14:58:09 acer-4930g systemd[1]: Failed to start MariaDB database server.
Sep 23 14:58:09 acer-4930g systemd[1]: Unit mariadb.service entered failed state.
Hint: Some lines were ellipsized, use -l to show in full.
解决方法:
权限?
你正在显示命令服务mysqld start但是你用sudo作为前缀吗?我怀疑您没有权限启动此服务,因为您在Q中包含的输出中收到了这些“权限被拒绝的消息”.
Sep 23 11:29:32 acer-4930g mysqld_safe[4250]: /usr/bin/mysqld_safe: line 138: /var/log/mariadb/mariadb.log: Permission denied
Sep 23 11:29:32 acer-4930g mysqld_safe[4250]: /usr/bin/mysqld_safe: line 182: /var/log/mariadb/mariadb.log: Permission denied
Sep 23 11:29:32 acer-4930g mysqld_safe[4250]: 140923 11:29:32 mysqld_safe WSREP: Failed to recover position:
Sep 23 11:29:32 acer-4930g mysqld_safe[4250]: ''
如果你实际上在使用sudo,那么我会将注意力转移到目录&上面的日志消息中提到的文件.专注于此目录/文件:
$ls -ld /var/log/mariadb
$ls -l /var/log/mariadb/mariadb.log
我在这个AskFedora Q& A中找到了这些命令,标题为:mariadb service don’t start: permission denied,它可以解决您的问题:
$sudo chown mysql:mysql /var/log/mariadb -chR
其次是:
$sudo systemctl restart mariadb.service && \
sudo systemctl status mariadb.service
看来MariaDB日志文件不允许用户,mysql访问它们,上面的命令将解决这个问题.
DB腐败?
如果您仍然遇到问题并遇到错误,例如:
Sep 23 14:58:09 acer-4930g mysqld_safe[6889]: 140923 14:58:08 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade ...ate it.
您现在也可以在MariaDB日志文件中确认上面的权限问题已经解决,如下所示:
Version check failed. Got the following error when calling the 'mysql' command line client
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
FATAL ERROR: Upgrade failed
这两条消息基本上都告诉您将MySQL数据库升级到Maria DB的问题.如果它是一个没有你关心的数据库,你可以简单地移动它或删除它.这将要求您首先删除MariaDB包,然后重新安装它.
例
$sudo yum remove mariadb-server
### To remove
$sudo rm -rf /usr/lib/mysql
### To move
$sudo mv /usr/lib/mysql /usr/lib/mysql.orig
$sudo yum install mariadb-server
注意:上述提示的来源:Trouble starting mariadb service.
上面提示我无法确认的一件事是移动/删除的目录是/usr/lib / mysql.或/ var / lib / mysql.我不确定这是否是该提示中的拼写错误.所以我首先使用/usr/lib / mysql进行上述操作,如果它不起作用,则使用/ var / lib / mysql重复这些步骤.我会首先使用remove方法,如果工作正常,然后返回并删除损坏的目录.
注意:/ var / lib / mysql是DB文件所在的位置,/usr/lib / mysql目录是各种插件所在的位置.
内容总结
以上是互联网集市为您收集整理的在Fedora中启动Mysql / Mariadb失败全部内容,希望文章能够帮你解决在Fedora中启动Mysql / Mariadb失败所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。