打开cmd命令行,一定不是mysql的命令行,我第一次就错在这个地方,郁闷了很久
备份MySQL数据库的命令
mysqldump -hhostname -uusername-ppassword databasename > backupfile.sql
例如:
1.cd D:\ProgramFiles\MySQL\MySQL Server 5.5\bin
2.mysqldump –uroot –p123456 –h 127.0.0.1 test > D:/test.sql
3.说明:-p和123456密码之间一定不能有空格,做了测试,它好像需要你再次输入密码,输完密码后有说找不到XX表;为了避免出现错误,别闲着蛋疼没事加空格之类的,直接都不要空格,来得干脆
备份MySQL数据库为带删除表的格式
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump-–add-drop-table -uusername -ppassword databasename > backupfile.sql
直接将MySQL数据库压缩备份
mysqldump -hhostname-uusername -ppassword databasename | gzip > backupfile.sql.gz[估计需要在linux,猜的,没试过]
备份MySQL数据库某个(些)表
mysqldump -hhostname-uusername -ppassword databasename specific_table1 specific_table2 >backupfile.sql
同时备份多个MySQL数据库
mysqldump -hhostname-uusername -ppassword –databases databasename1 databasename2 databasename3 >multibackupfile.sql
仅仅备份数据库结构
mysqldump –no-data–databases databasename1 databasename2 databasename3 > structurebackupfile.sql
仅仅备份数据库的表结构,不备份其数据
mysqldump -uroot -p123456 -d databasename table1 table2 table3 > structurebackupfile.sql
备份服务器上所有数据库
mysqldump–all-databases > all_backupfile.sql
还原MySQL数据库的命令
mysql -hhostname-uusername -ppassword databasename < backupfile.sql
例如:
第一种方式:
1. 打开window cmd
2. 切换到mysql安装目录的bin下
3. mysql –uroot –p123456 –h 127.0.0.1 test <D:/test_backup.sql
4. 说明:如果没有写-h 127.0.0.1,则默认本机;在备份时这个数据库必须存在,否则可能会出现导不进去的情况
第二种方式:
1. 打开mysql cmd
2. source d:/test.sql
还原压缩的MySQL数据库
gunzip <backupfile.sql.gz | mysql -uusername -ppassword databasename [这个命令估计在linux下执行,没试过]
将数据库转移到新服务器
mysqldump -uusername-ppassword databasename | mysql –host=*.*.*.* -C databasename
这个文章网上太多了,google一下几十个,没有贴原地址。亲自做了实验,也算是自己的东西了吧,留个备份,以便下次忘了。
二.mysql增量备份
1.首先开启二进制log
[mysqld]
log-bin="E:/java/res/mysql/log/mysql_logbin"
expire_logs_days=30
2.重启mysql服务,即开启了二进制日志的功能
三.显示锁级别
show variables like '%isolation%’;