如果 *** 作系统兼容性强的话,mysql数据直接复制数据可以用。
直接复制数据的步骤如下:
复制一定前必须关闭MYSQL程序(不关闭程序,复制出的表易出问题,复制不全面);
选中要复制的数据右键复制或者ctrl+c后粘贴即可。
如果 *** 作系统不兼容的话,mysql数据直接复制数据不可以用。
最好的方法是使用导入数据的方法,导入数据的步骤如下:
选中数据库mydata;
右击出现“运行sql文件”;
把需要导入的数据库文件,后缀名是sql选好,直接导入即可。
但是这种方法对大数据量的表进行 *** 作非常慢。因为不仅导出了数据同时导出了表结构。
在针对大数据量的表时,可以使用infile导入数据,导入时间会很快,命令如下:
mysql>load data infile '文件路径' into table 表名;
1、首先双击打开mysql数据库,打开需要导出的文件。
2、打开navicat,找到你要转储sql文件的数据库,右键->转储sql文件,如图所示。
3、然后选择你要将转储后的sql文件保存位置,并给该文件起一个名字,假设叫testsql,然后点击保存就可以了,如图所示。
4、待sql文件转储完成之后,去你刚才选中的文件夹就可以看到已经转储成功的sql文件了,如图所示。
把下面的文件复制到txt文档中,然后把txt改成bat这样备份出来的就没有问题了。
cd D:\\program files\\mysql\\mysql server 51\\bin(MySQL位置)
mysqldump -hlocalhost -P3306 -uroot -pwd(数据库密码)name( 数据库名)> D:\数据库sql(备份数据库路径)
括号里的你复制的时候要删掉,我加上去只是让你知道那是要输入你数据库的东西的。
定期的备份可使我们数据库崩溃造成的损失大大降低。在MySQL中进行数据备份的方法有两种,一种是使用mysqldump程序,一种是使用mysqlhotcopy、cp、tar或cpio等打包程序直接拷贝数据库文件。mysqldump程序备份数据库较慢,但它生成的文本文件便于移植。使用mysqlhotcopy等程序备份速度快,因为它直接对系统文件进行 *** 作,需人为协调数据库数据的备份前后一致性。
使用mysqldump备份数据库其实就是把数据库转储成一系列CREATE TABLE和INSERT语句,通过这些语句我们就可重新生成数据库。使用mysqldump的方法如下:
% mysqldump --opt testdb | gzip > /data/backup/testdbbak
#--opt选项会对转储过程进行优化,生成的备份文件会小一点,后的管道 *** 作会进行数据压缩
% mysqldump --opt testdb mytable1,mytable2 | gzip > /data/backup/testdb_mytablebak
#可在数据库后接数据表名,只导出指定的数据表,多个数据表可用逗号分隔
--opt选项还可激活--add-drop-table选项,它将会在备份文件的每条CREATE TABLE前加上一条DROP TABLE IF EXISTS语句。这可方便进行数据表的更新,而不会发生“数据表已存在”的错误。
用mysqldump命令还可直接把数据库转移到另外一台服务器上,不用生成备份文件。重复执行可定期更新远程数据库。
% mysqladmin -h remote_host create testdb
% mysqldump --opt testdb | mysql -h remote_host testdb
另外还可通过ssh远程调用服务器上的程序,如:
% ssh remote_host mysqladmin create testdb
% mysqldump --opt testdb | ssh remote_host mysql testdb
通过直接拷贝系统文件的方式备份数据库,在备份时,要确保没有人对数据库进行修改 *** 作。要做到这点,最好关闭服务器。如果不能关闭的,要以只读方试锁定有关数据表。下面是一些示例:
% cp -r db /backup/db #备份db数据库到/backup/db目录
% cp table_name /backup/db #只备份table_name数据表
% scp -r db remotehot:/usr/local/mysql/data #用scp把数据库直接拷贝到远程服务器
在把数据库直接拷贝到远程主机时,应注意两台机器必须有同样的硬件结构,或者将拷贝的数据表全部是可移植数据表类型。
使用mysqlhotcopy工具,它是一个Perl DBI脚本,可在不关闭服务器的情况下备份数据库,它主要的优点是:
它直接拷贝文件,所以它比mysqldump快。
可自动完成数据锁定工作,备份时不用关闭服务器。
能刷新日志,使备份文件和日志文件的检查点能保持同步。
下面是该工具的使用示例:
% mysqlhotcopy db /bakcup/ #把db数据库备份到backup/db目录里,会自动创建一个db目录
使用BACKUP TABLE语句进行备份,该语句最早出现在MySQL 32325版本中,仅适用于MyISAM数据表。用法如下:
mysql> BACKUP TABLE mytable TO '/backup/db'; #把mytable数据表备份到/backup/db目录下
为了执行该语句,你必须拥有那些表的FILE权限和SELECT权限,备份目录还必须是服务器可写的。该语句执行时,会先把内存中的数据写入磁盘,再把各个数据表的frm(表结构定义文件)、MYD(数据)文件从数据目录拷贝到备份目录。它不拷贝MYI(索引)文件,因为它能用另外两个文件重建。BACKUP TABLE语句备份时,依次锁定数据表,当同时备份多个数据表时,数据表可能会被修改,所以备份0完成时,备份文件中的数据和现时数据表中的数据可能会有差异,为了消除该差异,我们可用只读方式锁定数据表,在备份完成后再解锁。如:
mysql> LOCK TABLES tb1 READ,tb2 READ;
mysql> BACKUP TABLE tb1,tb2 TO 'backup/db';
mysql> UNLOCK TABLES;
使用BACKUP TABLE语句备份的数据表可用RESTORE TABLE重新加载到服务器。
InnoDB和BDB数据库也可用mysqldump和直接拷贝法进行备份。使用直接拷贝法时应注意需把组成InnoDB和BDB数据库的所有文件都拷贝下来,如InnoDB的frm文件、日志文件和表空间配置文件;BDB的数据文件、日志文件等。
使用镜像机制进行备份,我们可用SLAVE STOP语句挂起从服务器的镜像,在从服务器上通过直接拷贝法或其它工具制作备份。备份完成,用SLAVE START重新启动镜像,从服务器重新与主服务器同步,接收备份时主服务器所做的修改。
在MySQL中没有为数据库重命名的命令,但我们可用mysqldump转储数据库,再创建一个新的空数据库,把转储文件加载到该新数据库,这样就完成数据库重命名的工作。如:
% mysqldump old_db >dbsql #转储db数据库数据
% mysqladmin create new_db #新建一个空的数据库
% mysql new_db < dbsql #把db数据库的数据加载到新的数据库中
% mysqladmin drop old_db #删除旧的数据库
一个更简单的重命名数据库的方法是直接修改数据库目录名,但该方法不适用于InnoDB和BDB数据库。注意,在更名后,需在权限表中更新相关数据表信息,需执行以下语句:
mysql> UPDATE db SET db='new_db' WHERE db='old_db';
mysql> UPDATE tables_priv SET db='new_db' WHERE db='old_db';
mysql> UPDATE columns_priv SET db='new_db' WHERE db='old_db';
mysql> UPDATE host SET db='new_db' WHERE db='old_db';
以上就是关于mysql能不能通过直接拷贝mysql文件夹的方式全部的内容,包括:mysql能不能通过直接拷贝mysql文件夹的方式、怎么将mysql数据库数据导出成.sql文件、Navicat for MySQL 转储SQL文件数据丢失等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)