首先介绍两个mysql数据库命令:
还原一个数据库命令:mysql -h localhost -u root -p123456 www
备份一个数据库命令:mysqldump -h localhost -u root -p123456 www > d:/www2008-2-26.sql(其中WWW为数据库名)
下面介绍下备份mysql数据库的几种方法:
第一种,用mysqldump命令备份
假设在firstdb下有个test 表。则运行mysqldump -uUERNAME -pPASSWORD -hHOSTNAME firstdb test > test.sql
登录后mysql后运行:drop table test ;
现在恢复 : mysql -uUSRNAME -pPASSWORD -hHOSTNAME firstdb < test.sql
第二种,利用mysqlhotcopy命令
用法和mysqlimport类似。
第三种,使用二进制更新的日志文件恢复数据到最近位置。
这个要求打开log-bin选项,在/etc/mysql/my.cnf 下设置。
利用正则表达式很容易就可以找到log-bin选项,把注释去了就可以了。当然也可以自己加上。
然后利用mysqlbinlog XXXX-bin.XXX 就可以恢复了。默认应该是放在/var/log/mysql 。自己利用find命令找。。
第四种,拷贝整个mysql数据库,利用粘贴复制功能,备份和恢复mysql数据库都容易。
第五种,用select into 做备份
登录mysql后运行:select * from test into outfile "test.dat";
清空表:truncate test ;
恢复可以: load data infile "test.dat" into table test ;
当然还可以用mysqlimport命令代替load data 。。在bash下运行:
mysqlimport -uUSERNAME -pPASSWROD -hHOSTNAME firstdb test.dat ;
这样就可以恢复了。不过注意在linux下的权限问题。
第六种,登录mysql后用BACKUP、RESTORE命令
不推荐使用