Это сервер баз данных CentOS 8.1 и MariaDB 10.3.
Я следовал указаниям, которые видел в нескольких местах, чтобы переместить каталог данных из / var / lib / mysql по умолчанию в / home / mysql. / home - это RAID.
Я внес изменения в /etc/my.cnf, поместив это перед материалом! Include, но, похоже, он все еще указывает на / var / lib / mysql.
Когда я это сделал, mysql жалуется, и это не позволяет мне запустить команду mysql.
Я заглянул в /etc/my.cnf.d и увидел, что значение по умолчанию все еще существует в mariadb-server.cnf.
Я вижу это сообщение в журнале и не уверен, связано это или нет?
Mar 11 11:58:44 myserver systemd[1]: Starting MariaDB 10.3 database server...
Mar 11 11:58:44 myserver mysql-prepare-db-dir[6349]: **Database MariaDB is probably initialized in /var/lib/mysql already, nothing is done.**
Mar 11 11:58:44 myserver mysql-prepare-db-dir[6349]: **If this is not the case, make sure the /var/lib/mysql is empty before running mysql-prepare-db-dir.**
Я пробовал запустить mysql-prepare-db-dir, но в журналах появляются те же сообщения.
Убедитесь, что вы положили datadir
в разделе [mysqld], и имейте в виду, что при загрузке конфигураций выигрывает оператор LAST, а не первый, как вы, кажется, подразумеваете, помещая его перед! includes. Сделать grep -R
для datadir
в ваших конфигурациях MySQL и проверьте, где он установлен, если где-нибудь.
На самом деле, вы идете неправильно. Намного лучше mount --bind /home/mysql /var/lib/mysql
. И убедитесь, что вы restorecon -rv /var/lib/mysql
чтобы правильно настроить ярлыки SELinux.