Как изменить каталог данных MySQL / MariaDB в Ubuntu

По умолчанию серверы баз данных SQL MySQL/MariaDB помещают свои данные в корневую файловую систему. В большинстве случаев это не то, что вам нужно на производственных серверах. Вы можете поместить данные сервера базы данных на другой жесткий диск или раздел SSD.

В этой статье я покажу вам, как изменить каталог данных по умолчанию для базы данных MySQL/MariaDB в Ubuntu. Итак, приступим.

Установка MySQL/MariaDB в Ubuntu:

Пакеты баз данных MySQL/MariaDB доступны в официальном репозитории пакетов Ubuntu. Таким образом, вы можете легко установить его оттуда с помощью диспетчера пакетов APT.

Сначала обновите кеш репозитория пакетов APT с помощью следующей команды:

$ sudo apt update

Теперь, если вы хотите установить сервер базы данных MySQL, выполните следующую команду:

$ sudo apt install mysql-server mysql-client

Если вы хотите установить сервер базы данных MariaDB, выполните следующую команду:

$ sudo apt install mariadb-server mariadb-client

В этой статье я собираюсь установить сервер базы данных MariaDB. Вы можете установить MySQL, если хотите.

После того, как вы запустите требуемую команду установки, вы должны увидеть следующее приглашение. Нажмите y , а затем нажмите , чтобы продолжить.

Сервер базы данных MySQL/MariaDB должен быть установлен.

Поиск каталога данных MySQL/MariaDB по умолчанию:

Вы можете очень легко найти каталог данных по умолчанию базы данных MySQL/MariaDB с помощью Команда grep или egrep .

$ sudo grep -R —color datadir/etc/mysql /*

Как видите, каталог данных по умолчанию для сервера базы данных MariaDB — /var/lib/mysql . Файл конфигурации сервера базы данных MariaDB: /etc/mysql/mariadb.conf.d/50-server.cnf . Если вы хотите изменить каталог данных по умолчанию на сервере базы данных MariaDB, вам необходимо изменить его в файле конфигурации /etc/mysql/mariadb.conf.d/50-server.cnf .

Каталог данных по умолчанию для сервера базы данных MySQL — /var/lib/mysql . Но файл конфигурации для сервера базы данных MySQL отличается. Для MySQL это файл конфигурации /etc/mysql/mysql.conf.d/mysqld.cnf . Если вы установили сервер базы данных MySQL, то для изменения каталога данных по умолчанию вам необходимо изменить этот файл конфигурации.

В следующих разделах я покажу вам, как подготовить жесткий диск или раздел SSD для каталога данных MySQL/MariaDB и изменить каталог данных по умолчанию.

Подготовка каталога данных MySQL/MariaDB:

В этом разделе я покажу вам, как подготовить раздел жесткого диска или SSD для каталога данных MySQL/MariaDB.

Вы можете перечислить все установленные жесткие диски или твердотельные накопители на вашем компьютере с помощью следующей команды:

$ sudo lsblk | grep disk

Все установленные жесткие диски и твердотельные накопители должны быть перечислены. sdb — это жесткий диск, на который я хочу поместить свои данные MySQL/MariaDB. Ваши данные должны быть другими. Итак, замените теперь он и ваш.

Теперь у вас есть чтобы создать новый раздел на жестком диске sdb с помощью fdisk.

ПРИМЕЧАНИЕ: В этом разделе я не буду вдаваться в подробности того, как работает fdisk. Чтобы узнать, как Чтобы настроить жесткие диски или SSD с помощью fdisk, прочтите статью Как использовать fdisk в Linux.

Чтобы создать раздел на жестком диске sdb , откройте его с помощью fdisk следующим образом:

$ sudo fdisk/dev/sdb

Теперь нажмите n , а затем нажмите .

Теперь нажмите p , а затем нажмите .

Теперь нажмите .

Нажмите .

Нажмите . Должен быть создан новый раздел.

Теперь нажмите w и нажмите .

Допустим, раздел жесткого диска, который вы хотите использовать в качестве каталога данных MySQL/MariaDB, — это /dev/sdb1 .

Теперь отформатируйте раздел /dev/sdb1 с помощью следующей команды:

$ sudo mkfs.ext4 -L db_data /dev/sdb1

Теперь сделайте новый каталог /db для монтирования раздела /dev/sdb1 .

$ sudo mkdir/ db

/ db будет новым каталогом данных MySQL/MariaDB.

Теперь откройте файл /etc/fstab с помощью следующей команды:

$ sudo nano/etc/fstab

Теперь добавьте следующую строку в конец файла и сохраните файл, нажав + x , за которым следуют y и .

/dev/sdb1/db ext4 по умолчанию 0 0

Теперь перезагрузите компьютер. с помощью следующей команды:

$ sudo reboot

После загрузки компьютера /dev/sdb1 должен быть смонтирован на /db , как вы можно увидеть на скриншоте ниже.

$ df -h/db

Теперь измените владельца и группу каталога /db на mysql следующей командой:

$ sudo chown mysql: mysql/db

Теперь вам нужно остановить MySQL/MariaDB службы базы данных и скопируйте все файлы из каталога данных по умолчанию /var/lib/mysql в новый каталог данных /db .

Если вы используете MariaDB, остановите службу MariaDB с помощью следующей команды:

$ sudo systemctl stop mariadb

Если вы используете MySQL, остановите службу MySQL с помощью следующей команды:

$ sudo systemctl stop mysql

Теперь скопируйте все содержимое каталога данных по умолчанию /var/lib/mysql в новый каталог данных /db следующей командой:

$ sudo rsync -avzh/var/lib/mysql//db

Все содержимое каталога /var/lib/mysql должно быть скопировано в новый каталог /db .

/db теперь готов стать новым каталогом данных MySQL/MariaDB.

Настройка AppArmor:

Теперь вам нужно настроить AppArmor, чтобы разрешить /db быть каталогом данных MySQL/MariaDB.

Для этого отредактируйте файл псевдонима AppArmor /etc/apparmor.d/tunables/alias следующим образом:

$ sudo nano /etc/apparmor.d/tunables/alias

Теперь добавьте следующую строку в конец файла и сохраните ее, нажав + x , а затем y и .

alias/var/lib/mysql ->/db,

Теперь перезапустите службу apparmor с помощью следующей команды:

$ sudo systemctl restart apparmor

Теперь вы готовы изменить каталог данных MySQL/MariaDB.

Изменение каталога данных MySQL/MariaDB:

Чтобы изменить каталог данных с /var/lib/mysql на /db , вам необходимо отредактировать требуемый файл конфигурации в зависимости от того, используете ли вы MySQL/MariaDB.

Если вы используете MariaDB, то файл конфигурации, который у вас есть для редактирования: /etc/mysql/mariadb.conf.d/50-server.cnf .

Если вы используете MySQL, то файл конфигурации для edit — это /etc/mysql/mysql.conf.d/mysqld.cnf .

Теперь отредактируйте требуемый файл конфигурации в зависимости от того, используете ли вы MySQL /MariaDB следующим образом:

MariaDB:

$ sudo nano/etc/mysql/mariadb.conf .d/50-server.cnf

MySQL:

$ sudo nano/etc/mysql/mysql.conf.d/mysqld.cnf

Теперь найдите строку, как отмечено на скриншоте ниже.

Измените datadir на /db , как показано на снимке экрана ниже. Затем сохраните файл, нажав + x , а затем y и . .

Теперь запустите MySQL/ Сервис MariaBD с помощью следующей команды:

MariaDB:

$ sudo systemctl start mariadb

MySQL:

$ sudo systemctl start mysql

Тестирование MySQL/MariaDB:

Теперь попробуйте подключиться к серверу MySQL/MariaDB следующим образом:

$ sudo mysql -u root -p

Затем введите пароль сервера MySQL/MariaDB и нажмите .

Вы должны войти в оболочку MySQL/MariaDB как root . как пользователь. Это показатель того, что он работает.

Но просто для того, чтобы обязательно введите следующий запрос, чтобы узнать, какой каталог MySQL/MariaDB в настоящее время использует в качестве каталога данных.

sql> select @@ datadir;

Как видите, текущий каталог данных — /db , как я настроил.

Итак, вот как вы меняете каталог данных MySQL/MariaDB в Ubuntu. Спасибо за чтение этой статьи.

Оцените статью
nanomode.ru
Добавить комментарий