Ben*_*nto 13 mysql ubuntu ubuntu-server mariadb
我刚刚使用apt-get dist-upgrade更新了MariaDB.现在它不再开始使用服务mysql启动了.
但是,我可以以root身份运行它或者执行:sudo -u mysql mysqld_safe然后MariaDB启动正常.文件夹/ home/mysql归mysql用户和组所有.
我发现在这个函数中抛出了错误:https: //github.com/MariaDB/server/blob/7ff44b1a832b005264994cbdfc52f93f69b92cdc/sql/mysqld.cc#L9865
我无法弄清楚接下来该做什么.有什么指针吗?
小智 34
要从/ home运行MariaDB SQL,请在文件/usr/lib/systemd/system/mariadb.service中更改:
ProtectHome=true
Run Code Online (Sandbox Code Playgroud)
至 :
ProtectHome=false
Run Code Online (Sandbox Code Playgroud)
托马斯的答案是正确的,但每隔几个月就会更新一次。所以这是一个永久的解决方案:
使用systemctl edit mariadb创建文件overwritting的MariaDB的服务的默认设置。(在 debian 中,它位于/etc/systemd/system/mariadb.service.d/override.conf)
设置 Thomas 在文件中更改的相同设置:
[Service]
ProtectHome=false
Run Code Online (Sandbox Code Playgroud)
使用systemctl daemon-reload重新加载systemctl配置。
在 debian 9 上,您需要在两者中将 ProtectHome 更改为 false /lib/systemd/system/mariadb.service , /lib/systemd/system/mariadb@.service然后运行 sudo systemctl daemon-reload。
sudo grep -Ri "protecthome" /lib/systemd/system如果这仍然不起作用,也可以运行以在与 mysql 相关的文件中查找 ProtectHome 的其他实例
小智 5
解决方法是将 home 目录挂载为 /var/lib/mysql:
mount --bind /home/mysql/var/lib/mysql /var/lib/mysql
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13636 次 |
| 最近记录: |