数据库“db”在backup.sql中备份。有没有办法从脚本中恢复不同于“db”名称的数据库?
提前谢谢你!
答案 0 :(得分:9)
当然,当您导入它时,您可以这样做:
mysql -uuser -ppassword databasename < mydump.sql
只要该数据库确实存在,您就可以在我写databasename
的地方放置任何内容:)
答案 1 :(得分:3)
如果数据库的名称包含SQL文件,我找不到除修改SQL文件之外的任何其他方法。
我最喜欢的命令:
sed -i "s/\`old_db_name\`/\`new_db_name\`/g" my_sql_file.sql
答案 2 :(得分:2)
这取决于您创建MySQL dB转储文件的方式
例如,如果你这样做
mysqldump -h localhost -u user mydb -pXXX > mydb.sql
您的sql转储文件中不会有CREATE DATABASE语句。但我认为你只能备份一个数据库。
如果使用--database或--all-databases选项创建mysql转储文件 例如
mysqldump -h localhost -u user --database mydb -pXXX > mydb.sql
mysqldump -h localhost -u user --all-databases -pXXX > alldb.sql
然后您将在mysql转储文件中看到CREATE DATABASE语句。如果需要不同的dB名称,则需要在DB还原之前进行更改。
答案 3 :(得分:1)
打开.sql文件并更改其中的数据库名称。
您可以使用文本编辑器,例如记事本或gedit。