警告用户/ local/mysql/data目录不归mysql用户所有

Kro*_*nos 208 mysql macos

我无法在Snow Leopard中启动mysql服务,并在面板中首选出现消息,

警告用户/ local/mysql/data目录不归mysql用户所有

我怎样才能解决这个问题?

Kro*_*nos 313

如果你无法在雪豹中启动mysql服务,并且在面板中prefs出现'警告用户/ local/mysql/data目录不属于mysql用户',你必须:

  • sudo chown -RL root:mysql /usr/local/mysql
  • sudo chown -RL mysql:mysql /usr/local/mysql/data
  • sudo /usr/local/mysql/support-files/mysql.server start

  • 对于其他人来到现在......这也适用于El Capitan (26认同)
  • 这在Sierra上随机开始发生(更新后数周).修复仍然有效 (9认同)
  • 这对塞拉利昂来说很有用.谢谢! (4认同)
  • 显然这仍然是咬人 - 所以我把你的答案转移到...答案.希望你不要介意...... (2认同)
  • 在macOS Mojave上尝试过此操作,没有任何乐趣。我收到错误!尝试启动mysql.server start时,服务器退出而不更新PID文件。 (2认同)

Iha*_*lly 110

这对我来说是El Capitan&Sierra

sudo chown -R _mysql:wheel /usr/local/mysql/data
Run Code Online (Sandbox Code Playgroud)

而已.


更新:修复自动启动

我发现如果您修复Auto Starting也会更有用:

sudo nano /Library/LaunchDaemons/com.mysql.mysql.plist
Run Code Online (Sandbox Code Playgroud)

并粘贴:

<!--?xml version="1.0" encoding="UTF-8"?-->
<plist version="1.0">
  <dict>
    <key>KeepAlive</key>
    <true />
    <key>Label</key>
    <string>com.mysql.mysqld</string>
    <key>ProgramArguments</key>
    <array>
      <string>/usr/local/mysql/bin/mysqld_safe</string>
      <string>--user=mysql</string>
    </array>        
  </dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

保存它然后:

sudo chown root:wheel /Library/LaunchDaemons/com.mysql.mysql.plist
sudo chmod 644 /Library/LaunchDaemons/com.mysql.mysql.plist
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist
Run Code Online (Sandbox Code Playgroud)

然后它会在重启时加载.

参考:https://coolestguidesontheplanet.com/get-apache-mysql-php-phpmyadmin-working-osx-10-10-yosemite/

  • Wheel 是您自己的用户名还是其他特殊名称?如果能澄清这一点那就太好了 (2认同)
  • 这也固定在塞拉利昂. (2认同)