Где я могу найти файл базы данных и файлы таблиц?
Я установил MySql, используя:
yum install mysql-server
Он работает нормально из терминала. Я создал базу данных с именем music и создал несколько таблиц внутри этой базы данных. Теперь я хочу перенести всю базу данных на другую машину. Как я могу это сделать?
В общем, где я могу найти файлы базы данных и файлы таблиц? Я много искал по ключевому слову music, но не смог его найти.
3 ответа
Теперь я хочу перенести всю базу данных на другую машину. Как я могу это сделать?
mysqldump -u root -p music | mysql -u root -p -h <other.machine.ip.addr>
В общем, где я могу найти файлы базы данных и файлы таблиц?
Они расположены в datadir
MySQL:
ls $(awk -F= '/datadir/ { print $2 }' /etc/my.cnf)
В Debian базы данных хранятся в /var/lib/mysql. Для их портирования вы можете использовать mysqldump -A -u root -p > dumpfile
и восстановить их в новой машине mysql -u root -p < dumpfile
или путем копирования папок (не забудьте скопировать файлы после переноса).
Зависит от того, какой тип движка SQL вы используете. Вероятно, InnoDB, который хранит все базы данных в нескольких файлах (обычно /var/lib/mysql/ibdata*). Так что для резервного копирования вам нужно будет использовать mysqldump
,
Для резервного копирования используйте что-то вроде этого:
mysqldump --hex-blob -u${BUSER} -p${BPASS} ${database} -r ${BACKUP_DIR}/${database}.mysql
Для восстановления скопируйте ${BACKUP_DIR}/${database}.mysql на другой компьютер и выполните:
mysql -u${BUSER} -p ${database} < ${database}.mysql
Конечно, не забудьте сначала создать пустую базу данных CREATE DATABASE name
, Также, как уже предлагалось, вы можете использовать -A
с mysqldump
но это сбросит все базы данных.