Аналогично Docker, базы данных mysql желательно переносить на дисковые массивы, которые быстрые, надежные, а не забивать системный диск, который может быть вообще в виде флешки…
Останавливаем сервер
service mysql stop
Открываем файл /etc/mysql/mariadb.conf.d/50-server.cnf
# this is only for the mysqld standalone daemon [mysqld] # # * Basic Settings # #user = mysql pid-file = /run/mysqld/mysqld.pid basedir = /usr #datadir = /var/lib/mysql #tmpdir = /tmp
Раскоментируем строчку datadir и зададим новый путь
datadir = /mnt/disk2/mysql-data
Перенесем данные из старой папки в новую
mv /var/lib/mysql/* /mnt/disk2/mysql-data/
И не забудем к новой папке задать владельца, чтобы новые базы создавались без проблем
chown mysql:mysql mysql-data/
Далее, обратно стартуем сервер
service mysql start
А потом проверим
mysql show databases;
CREATE USER 'root'@'%' IDENTIFIED BY '123321'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
create database DATABASE_NAME; grant all privileges on DATABASE_NAME.* TO 'USER_NAME'@'localhost' identified by 'PASSWORD'; grant all privileges on DATABASE_NAME.* TO 'USER_NAME'@'172.17.0.%' identified by 'PASSWORD'; flush privileges;
mariadb -u root -p -e "SHOW DATABASES;" | \ grep -Ev "^(Database|information_schema|performance_schema|mysql|sys|innodb|_cache_|lost+found)$" | \ xargs mysqldump -u root -p --single-transaction --routines --triggers --events --databases > user_databases.sql service mariadb stop rm -r /storage/mysql mariadb-install-db --datadir=/storage/mysql --user=mysql scp 192.168.1.2:/www/user_databases.sql ./ service mariadb start mariadb -u root < user_databases.sql mysql CREATE USER 'adminchik'@'172.17.%' IDENTIFIED BY '*****'; GRANT ALL PRIVILEGES ON *.* TO 'adminchik'@'172.17.%' WITH GRANT OPTION; FLUSH PRIVILEGES;