Gia*_*968 2 linux mysql ubuntu
我正在研究这个问题的答案——在我的一个 Ubuntu 12.04.5 开发服务器上——并意识到 MySQL 安装并没有创建mysqld.pid
和mysqld.sock
文件,尽管它们的路径被明确设置my.cnf
如下:
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况以及如何解决此问题?
即使在我的服务器中设置了mysqld.pid
和的位置,该目录也不存在,因此永远不会创建这些文件。这将解决:mysqld.sock
my.cnf
首先像这样创建mysqld/
目录/var/run/
:
sudo mkdir -p /var/run/mysqld/
Run Code Online (Sandbox Code Playgroud)
然后创建一个mysqld.pid
文件touch
:
sudo touch /var/run/mysqld/mysqld.pid
Run Code Online (Sandbox Code Playgroud)
接下来创建一个mysqld.sock
文件touch
:
sudo touch /var/run/mysqld/mysqld.sock
Run Code Online (Sandbox Code Playgroud)
现在将目录和文件的所有权更改为mysql:mysql
如下所示:
sudo chown mysql:mysql -R /var/run/mysqld
Run Code Online (Sandbox Code Playgroud)
并像这样重新启动 MySQL 以设置和创建这些文件:
sudo service mysql restart
Run Code Online (Sandbox Code Playgroud)
当这一切完成后,MySQL 将能够按预期创建mysqld.pid
和mysqld.sock
文件。
归档时间: |
|
查看次数: |
27404 次 |
最近记录: |