MySQL数据库备份与还原

it2022-05-05  172

备份数据库
1.使用mysqldump命令备份 备份一个数据库:mysqldump -u 用户名 -p密码 数据库名 [表名1,表名2...]>备份文件路径及名字.sql           如果没有表名,则备份整个数据库           eg: mysql -u root -p test studentinfo >D:\test.sql   备份多个数据库:mysqldump -u 用户名 -p --databases 数据库1,数据库2...  >  备份文件路径及名字.sql   备份所有数据库:mysqldump -u 用户名 -p --all -databases >  备份文件路径及名字.sql        注:备份时候不一定是.sql文件扩展名,可以任意指定   2.直接复制整个数据库目录 将mysql数据库文件直接复制出来,最好将服务先停止,保证数据一致对INNODB存储引擎的表不适用还原时最好是相同版本的MySQL数据库   3.使用mysqlhotcopy工具快速备份 如备份时不能停止mysql服务,可使用此工具。比mysqldump命令快此工具是一个Perl脚本,主要在Linux下使用使用LOCK TABLES、FLUSH TABLES和cp来进行快速备份原理:先将备份的数据库加上一个读操作锁,用FLUSH TABLES将内存中的数据写回到硬盘数据库中,最后将备份的数据库文件复制到目标目录   还原数据库
1.使用mysql命令还原 mysql -u root -p[数据库名]  < backup.sql 2.直接复制到数据库目录 和前面复制目录备份一样,将目录复制到对应的文件夹下windows下目录:C:/mysql/data     C:/Document and Settings/All Users/Application Data/MySQL/MySQL Server5.1/data等默认路径Linux下:/var/lib/mysql/    /usr/local/mysql/data    usr/local/mysql/var  等默认目录使用mysqlhotcopy备份的数据库也是通过这种方式还原,复制到数据库目录后,要将数据库的用户和组变成mysql: chwon -R mysql.mysql dataDir   数据库迁移
1.数据库迁移分类: MySQL相同版本的数据库之间迁移迁移到MySQL其他版本的数据库中迁移到其他类型的数据库中 MySQL相同版本之间迁移:      mysqldump -h 主机名  -u root -password=password1  -all-databases  |      mysql -h  host2  -u  root  -password=password2   用SELECT...INTO  OUTFILE导出文本文件 SELECT [列名] FROM 表名 [WHERE条件]  INTO  OUTFILE  '目标文件路径'[OPTION];   用mysqldump导出文本文件 mysqldump  -u  root  -pPassword  -T  目录  dbname table [OPTION]; 用mysql命令导出文本文件 mysql  -u  root  -pPassword  -e "SELECT语句"  dbname  >  D:/backup.txt导出xml文件: mysql  -u  root  -pPassword  -xml  -X  -e "SELECT语句"  dbname  > D:/backup.xml导出html文件: mysql  -u  root  -pPassword  --html  -H  -e  "SELECT语句"  dbname  >  D:/backup.html

转载于:https://www.cnblogs.com/fanchangfa/p/3745208.html


最新回复(0)