在哪里可以找到数据库文件和表文件?

在哪里可以找到数据库文件和表文件?

我安装了MySQL的使用 :

yum install mysql-server

它在终端上运行良好。我创建了一个名为音乐并在该数据库中创建了一些表。现在我想将整个数据库移植到其他机器上。我该怎么做?

一般来说,我可以在哪里找到数据库文件和表文件?我通过关键字搜索了很多次音乐但找不到它。

答案1

现在我想将整个数据库移植到其他机器。我该怎么做?

mysqldump -u root -p music | mysql -u root -p -h <other.machine.ip.addr>

一般来说我可以在哪里找到数据库文件和表文件?

它们位于datadirMySQL 的:

ls $(awk -F= '/datadir/ { print $2 }' /etc/my.cnf)

答案2

在 Debian 中,数据库存储在 /var/lib/mysql 中。要移植它们,您可以mysqldump -A -u root -p > dumpfile通过复制文件夹在新机器上使用和恢复它们mysql -u root -p < dumpfile(传输后不要忘记更改文件的权限)。

答案3

取决于您使用的 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。另外,正如已经建议的那样,您可以使用-Awith mysqldump,但这将转储所有数据库。

相关内容