Tech-Research WIKI

технологичные раскопки

Инструменты пользователя

Инструменты сайта


docs:mariadb_install

MySQL/MariaDB

Перенос папки с данными

Аналогично 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;

root

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;

как перенести дамп на новый сервер

  1. mariadb -u root -p -e "SHOW DATABASES;" | \
  2. grep -Ev "^(Database|information_schema|performance_schema|mysql|sys|innodb|_cache_|lost+found)$" | \
  3. xargs mysqldump -u root -p --single-transaction --routines --triggers --events --databases > user_databases.sql
  4.  
  5.  
  6. service mariadb stop
  7.  
  8.  
  9. rm -r /storage/mysql
  10. mariadb-install-db --datadir=/storage/mysql --user=mysql
  11.  
  12. scp 192.168.1.2:/www/user_databases.sql ./
  13.  
  14. service mariadb start
  15. mariadb -u root < user_databases.sql
  16.  
  17.  
  18. mysql
  19.  
  20. CREATE USER 'adminchik'@'172.17.%' IDENTIFIED BY '*****';
  21.  
  22. GRANT ALL PRIVILEGES ON *.* TO 'adminchik'@'172.17.%' WITH GRANT OPTION;
  23.  
  24. FLUSH PRIVILEGES;
Последнее изменение: 2026/01/01 19:03

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki