mysqldump是一个命令行客户端程序,用于转储本地或远程MySQL用于备份到单个平面文件中的数据库或数据库集合。
如何备份和恢复 MySQL 数据库
备份
MySQL数据库或数据库,该数据库必须存在于数据库服务器中并且你必须有权访问它。命令的格式是。
# mysqldump -u [username] –p[password] [database_name] > [dump_file.sql]所述命令的参数如下。
[username] :有效的 MySQL 用户名。[password] :用户的有效 MySQL 密码。[database_name] :要备份的有效数据库名称。[dump_file.sql] :要生成的备份转储文件的名称。要备份单个数据库,请使用如下命令。该命令将转储数据库 [
rsyslog] 结构,将数据放在一个名为的单个转储文件中rsyslog.sql.
# mysqldump -u root -prumenz123 rsyslog > rsyslog.sql如果要备份多个数据库,请运行以下命令。以下示例命令备份数据库 [
rsyslog,syslog] 将结构和数据放入一个名为rsyslog_syslog.sql.
# mysqldump -u root -prumenz123 --databases rsyslog syslog > rsyslog_syslog.sql如果要备份所有数据库,请使用以下带有选项的命令
–all-database. 以下命令将所有数据库及其结构和数据的备份保存到一个名为all-databases.sql.
# mysqldump -u root -prumenz123 --all-databases > all-databases.sql如果你只想备份没有数据的数据库结构,那么使用选项
–no-data在命令中。以下命令导出数据库 [rsyslog]Structure成文件rsyslog_structure.sql.
# mysqldump -u root -prumenz123 -–no-data rsyslog > rsyslog_structure.sql备份数据库
Data只有没有结构,然后使用选项–no-create-info与命令。此命令将数据库 [rsyslog]Data成文件rsyslog_data.sql.
# mysqldump -u root -prumenz123 --no-create-db --no-create-info rsyslog > rsyslog_data.sql使用以下命令,你可以备份数据库的单个表或某些表。例如,下面的命令只备份
wordpress数据库中的表wp_posts.
# mysqldump -u root -prumenz123 wordpress wp_posts > wordpress_posts.sql如果要从数据库中备份多个或某些表,请用空格分隔每个表。
# mysqldump -u root -prumenz123 wordpress wp_posts wp_comments > wordpress_posts_comments.sql以下命令备份远程服务器 [
192.168.1.110] 数据库 [gallery] 进入本地服务器。
# mysqldump -h 192.168.1.110 -u root -prumenz123 gallery > gallery.sql在上面的教程中,我们已经看到了如何只备份数据库、表、结构和数据,现在我们将看到如何使用以下格式恢复它们。
# mysql -u [username] –p[password] [database_name] < [dump_file.sql]要恢复数据库,你必须在目标机器上创建一个空数据库并使用
msyql命令。例如,以下命令将恢复rsyslog.sql文件到rsyslog数据库。
# mysql -u root -prumenz123 rsyslog < rsyslog.sql如果要恢复目标计算机上已存在的数据库,则需要使用
mysqlimport命令。
# mysqlimport -u root -prumenz123 rsyslog < rsyslog.sql