我从存储库安装了 mysql-server,并想将 datadir 更改为自定义位置。将 datadir 设置为 /var/lib/mysql 我能够启动服务器,但是到新位置时出现错误。
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Run Code Online (Sandbox Code Playgroud)
以下是对 my.cnf 的更改:
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /media/db2/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
Run Code Online (Sandbox Code Playgroud)
我正在搜索这个网站和其他网站,遇到这个链接并更改了我的 /etc/apparmor.d/usr.sbin.mysqld 文件。这是相关的变化
# /var/lib/mysql/ r,
# /var/lib/mysql/** rwk,
/media/db2/mysql/ r,
/media/db2/mysql/** rwk,
Run Code Online (Sandbox Code Playgroud)
然后我能够重新启动mysql服务
sudo service mysql restart
Run Code Online (Sandbox Code Playgroud)
但无法打开mysql
mysql -u root -p
Run Code Online (Sandbox Code Playgroud)
我遇到了另一个与上述类似的错误。所以我搜索了更多并将文件从 /var/lib/mysql 复制到我的新目录。
现在,当我尝试重新启动 mysql 时,它只是挂起。/var/log/mysql/error.log …
我正在向我的新服务器版本 (ubuntu 12.10) 添加 4 个 HD,并且 sys 驱动器列为 /dev/sdb。我无法在主板手册中找到哪个 sata 端口排在第一位。机器启动正常,但我不确定顺序(/dev/sda、/dev/sdb)是否有所不同。
谢谢。