当MySQL安装时设置了错误的数据库文件路径,可以通过以下步骤进行修正:
停止MySQL服务
sudo systemctl stop mysql
# 或
sudo service mysql stop
备份现有数据
sudo cp -R /var/lib/mysql /var/lib/mysql_backup
修改MySQL配置文件
/etc/mysql/my.cnf
或 /etc/mysql/mysql.conf.d/mysqld.cnf
datadir
参数,修改为正确的路径,例如:
datadir = /new/correct/path/mysql
移动数据文件到新位置
sudo mkdir -p /new/correct/path
sudo chown mysql:mysql /new/correct/path
sudo mv /var/lib/mysql /new/correct/path/
更新AppArmor/SELinux配置(如需要)
sudo nano /etc/apparmor.d/tunables/alias
添加:
alias /var/lib/mysql/ -> /new/correct/path/mysql/,
然后重启AppArmor:
sudo systemctl restart apparmor
启动MySQL服务
sudo systemctl start mysql
如果不想修改配置文件,可以创建符号链接:
sudo ln -s /new/correct/path/mysql /var/lib/mysql
sudo chown -R mysql:mysql /new/correct/path/mysql
检查MySQL是否使用了新的数据目录:
mysql -u root -p -e "SHOW VARIABLES LIKE 'datadir';"
如果以上方法不能解决问题,可能需要考虑重新初始化MySQL数据目录或从备份恢复数据。