# 命令行备份数据库

# 本地

命令格式:

mysqldump -u [用户名] -p[密码] [数据库名] > [导出文件名.sql]

示例:假设用户名是root,密码是123456,要导出名为testdb的数据库,将其导出到当前目录下名为testdb_export.sql的文件中。在命令行中输入以下内容: mysqldump -u root -p123456 testdb > testdb_export.sql

# 远程

假设远程 MySQL 服务器的 IP 地址是[远程服务器IP],端口是3306(MySQL 默认端口),你的用户名是root,密码是root,要备份的数据库是sm,备份文件名为sm_db_remote.sql,在本地命令行中可以这样使用mysqldump命令:

mysqldump -h [远程服务器IP] -P 3306 -u root -proot sm > sm_db_remote.sql

其中-h参数用于指定远程主机的 IP 地址,-P(注意是大写)参数用于指定远程 MySQL 服务器的端口号,后面的-u和-p参数分别用于指定用户名和密码,最后是要备份的数据库名称和输出的备份文件名。

# 导出路径

  1. 默认位置(相对路径)

    • 当你使用mysqldump -u [用户名] -p[密码] [数据库名]> [导出文件名.sql]这样的命令时,如果没有指定文件的绝对路径,文件会被导出到你执行命令时所在的当前目录。
    • 例如,你在命令行中打开了一个终端窗口,当前目录是C:\Users\YourName(在 Windows 系统下)或者/home/YourName(在 Linux 系统下),那么文件就会被导出到这个目录下。你可以通过命令行中的pwd(在 Linux 和 Mac 系统中)或者cd命令查看当前所在的目录位置。
  2. 指定绝对路径

    • 如果你想将文件导出到特定的位置,可以在>符号后面指定文件的绝对路径。

    • 例如,在 Windows 系统下,如果你想将文件导出到

      D:\backup
      

      目录下,文件名是

      testdb_backup.sql
      

      ,假设用户名是

      root
      

      ,密码是

      password
      

      ,数据库名是

      testdb
      

      ,命令可以写成:

      • mysqldump -u root -p password testdb > D:\backup\testdb_backup.sql
    • 在 Linux 系统下,如果你想将文件导出到

      /var/backup
      

      目录下,文件名是

      mydb_export.sql
      

      ,用户名是

      admin
      

      ,密码是

      secret
      

      ,数据库名是

      mydb
      

      ,命令可以写成:

      • mysqldump -u admin -psecret mydb >/var/backup/mydb_export.sql