Это сервер баз данных CentOS 8.1 и MariaDB 10.3.
Я следовал указаниям, которые видел в нескольких местах, чтобы переместить каталог данных с / var / lib / mysql по умолчанию на / главная / 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], и имейте в виду, что при загрузке конфигураций выигрывает ПОСЛЕДНИЙ оператор, а не первый, как вам кажется подразумевая, поставив его перед! включает. Выполните grep -R
для datadir
в ваших конфигурациях MySQL и проверьте, где он установлен, если где-то.
На самом деле, вы делаете это неправильно, хотя . Гораздо лучше монтировать --bind / home / mysql / var / lib / mysql
. И убедитесь, что вы restorecon -rv / var / lib / mysql
, чтобы правильно настроить метки SELinux.