内容提示:sqldump -u wcnc -p smgp_apps_wcnc >wcnc.sql 2.导出一个表 mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc users>wcnc_users.sql 3.导出一个数据库结构 mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc>d:wcnc_db.sql -d 没有数据 --add-drop-tab... 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc >wcnc.sql 2.导出一个表 mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc users>wcnc_users.sql 3.导出一个数据库结构 mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc>d:wcnc_db.sql -d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table 4.导入数据库 常用source 命令 进入mysql数据库控制台, 如mysql -u root -p mysql>use 数据库 然后使用source命令,后面参数为脚本文件(如这里用到的.sql) mysql>source d:wcnc_db.sql 5. mysql导入建表sql语句时中文注释的乱码问题的解决办法如下: 在sql文件开头加上 SET NAMES'utf8'; ------------------------------------------------------------------------------------------------- MySQL数据库备份和还原的常用命令: 备份MySQL数据库的命令 mysqldump -hhostname -uusername -ppassword databasename> backupfile.sql 备份MySQL数据库为带删除表的格式 备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。 mysqldump -–add-drop-table -uusername -ppassword databasename> backupfile.sql 直接将MySQL数据库压缩备份 mysqldump -hhostname -uusername -ppassword databasename | gzip> backupfile.sql.gz 备份MySQL数据库某个(些)表 mysqldump -hhostname -uusername -ppassword databasenamespecific_table1 specific_table2 >backupfile.sql 同时备份多个MySQL数据库 mysqldump -hhostname -uusername -ppassword –databases databasename1databasename2 databasename3 >multibackupfile.sql 仅仅备份数据库结构 mysqldump –no-data –databases databasename1 databasename2databasename3 > structurebackupfile.sql 备份服务器上所有数据库 mysqldump –all-databases > allbackupfile.sql 还原MySQL数据库的命令 mysql -hhostname -uusername -ppassword databasename< backupfile.sql 还原压缩的MySQL数据库 gunzip < backupfile.sql.gz | mysql -uusername-ppassword databasename 将数据库转移到新服务器 mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.*-C databasename -------------------------------------------------------------------------------------------------- 上面为导入导出*.sql文件的操作。 MySQL数据库还可以通过拷贝来备份数据库文件,下面介绍一下注意事项。 Mysql安装后在data文件夹中有4种文件.frm .MYD .MYI .opt *.frm 是描述了表的结构; *.MYD 保存了表的数据记录; *.MYI 则是表的索引; *.opt 记录数据库的选项,数据库的字符集设置 (character_set_database和collation_database ); 只要在mysql的安装文件中找到data文件夹,然后在里面建立一个文件夹,比如test。这个test其实就对应着数据库的名称,所以,你想要起什么样的数据库名称就把文件夹起什么名字。 然后把.frm文件导进去。注意还要在data目录下加入ib_logfile0,ib_logfile1,ibdata1这几个文件。 要不然在mysql里只能找到表名(其实一个.frm文件就是对应的数据库中的一个表。) 而不能对其进行操作。 如果查询的时候出现某某表不存在的问题,在确认.frm ,db.opt文件完整的情况下,那么这种表使用的应该是innodb表引擎,应该将数据目录中的innodb数据文件(认ibdata1) 说明: 比如你原来的mysql中有一些数据库了。可以先把原来的data改名字备份在同一目录下。(可能要改名字系统会提示有另一程序在使用这个文件,这个时候可以到控制面板的服务里面,把mysql的服务先关掉,等改完名字,把东西都导进去后再开服务) 然后另建一个data,把在里面建好数据库名把.frm导进去。 -------------------------------------------------------------------------------------------------- 停止服务可以通过管理工具里面的服务来停,或者用cmd 打开dos界面输入net stop mysql,启动用net startmysql; 只要用旧的ibdata1覆盖原来的,再把相关的数据库copy过去,然后重新启动数据库,就ok了,进入以后要是对表不能操作可能是数据表已经损坏了。(如果不行报1146错,建议重启一下机器在看看) ib_logfile0,ib_logfile1好象也可以不用覆盖,不然有时候mysql数据库启动不了了,报1067错误。 (责任编辑:IT) |