mysql怎么数据传输,mysql有哪些导入数据的方式

mysql怎么迁移数据库

第一种方案的优点:会重建数据文件,减少数据文件的占用空间。

创新互联专注于科尔沁网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供科尔沁营销型网站建设,科尔沁网站制作、科尔沁网页设计、科尔沁网站官网定制、重庆小程序开发服务,打造科尔沁网络公司原创品牌,更为您提供科尔沁网站排名全网营销落地服务。

第一种方案的缺点:时间占用长。(导入导出都需要很长的时间,并且导出后的文件还要经过网络传输,也要占用一定的时间。)

第二种方案的优点:设置完成后传输无人值守

第二种方案的缺点:

设置繁琐。

传输中网络出现异常,不能及时的被发现,并且会一直停留在数据传输的状态不能被停止,如不仔细观察不会被发现异常。

传输相对其他fang时间长。

异常后很难从异常的位置继续传输。

第三种方案的优点:时间占用短,文件可断点传输。操作步骤少。(绝大部分时间都是在文件的网络传输)

第三种方案的缺点:可能引起未知问题,暂时未发现。

mysql数据库如何上传?

一、一般步骤

1、用phpADMIN生成CSV格式文件

以PHP+MySQL模式建立个人主页的读者,在自己的机器上都有PHP+MySQL环境吧?就在这个环境下,用phpADMIN生成以分号为分隔符的dotmud.csv文件。

2、将dotmud.csv文件通过FTP上传到服务器。

3、上传data.php程序(程序附后),在浏览器调用data.php程序,将dotmud.csv文件的内容加入到数据库。

二、特殊处理

一般的数据,通过上述步骤,基本可以顺利上传。但对于包含特殊字符的数据(比如数据库记录中包含换行符、单引号、分号),就要做些特殊的处理。

1、换行符的处理

PHP的fgetcsv()函数以换行符作为每行的结束标志。如果MySQL数据表的记录包含换行符,fgetcsv()就不能完整读取记录行。

笔者的解决方法是修改phpADMIN的lib.inc.php3文件(读者也可以不修改phpADMIN文件,而是用其他方法直接加工phpADMIN生成的dotmud.csv文件,达到同样的效果)的get_table_csv()函数:

在 $schema_insert=ereg_replace($sep."$","",$schema_insert) 行后加入如下命令行

$schema_insert=ereg_replace("\r\n","`return`",$schema_insert)

将换行符转换为不容易出现的换行标识串`return`(读者可根据自己数据的特点设置独特的换行标识串),再在data.php程序中加一行命令$data[$i]=ereg_replace("`return`","\r\n",$data[$i]),用来将换行标识串还原成换行符。

2、分隔符的处理

如果MySQL记录行恰好包含CSV分隔符,fgetcsv()进行分隔处理时就会出现问题。

笔者仍然是通过修改lib.inc.php3文件解决的。

在get_table_csv()的$schema_insert="$row[$j]".$sep行前加一行

$row[$j]=ereg_replace($sep,"`return_sep`",$row[$j]) 命令,将分隔符转为分隔标识串`return_sep`,同时在data.php中用命令行 $data[$i]=ereg_replace("`return_sep`",";",$data[$i]) 进行还原处理。

3、单引号的处理

MySQL的SQL语句行对单引号有特殊的定义,如果直接提交含单引号的SQL语句,就会出错。这种情况需要加上转义符。在data.php中加一行 $data[$i]=ereg_replace("'","\'",$data[$i]) 就可解决。

另外,在数据记录特别多的的情况下,dotmud.csv文件可能比较大,如果在服务器的限定时间内不能执行完data.php程序,就需要按行分拆dotmud.csv。如笔者有个7000行的dotmud.csv文件,在自己的机器上执行到600行就提示超时,便拆成10个文件上传到全路互联(),结果对方的服务器速度快,每个文件的处理时间还不到1秒,而php默认的限定执行时间可是30秒啊!看来我做的分拆实属多余。

以上方法解决了数据库内容的上传问题。对于数据库结构的上传,只要稍微修改一下data.php程序就可实现。其实,如果库结构比较简单,用phpADMIN更方便

如何在两台服务器之间安全迁移MySQL数据库

迁移MySQL数据库通常只需要几个简单的步骤,但是由于您要转移的数据量可能比较庞大,因此一般耗时也会比较长。

下面的步骤将指导您如何从旧的服务器上导出MySQL数据库,对它进行安全加固;然后将其复制并导入到新的服务器上,以保证数据的完整。

将MySQL数据库导出至转储文件(dump file)

Oracle提供了一个名为mysqldump的工具,允许您轻松地将数据库结构和其数据导出到一个SQL的转储文件。您可以使用如下的命令:

1.mysqldump -u root -p --opt [database name] [database name].sql 

不过,请注意如下几点:

我们可以使用--single-transaction的标志,以避免数据库在导出数据的过程中被锁死。这样能够在将数据导出到转储文件的同时,您仍可继续在旧的数据库上更新数据。不过请注意,那些在导出进程已经开始之后被更新的数据,是不会被导入转储文件之中的。

在运行该命令之前,请务必将[database name]替换成您的实际数据库名称。

请输入您自己的用户名和相对应的密码,并确保该用户具有备份数据库所需的权限。

安全加固备份文件

在大多数情况下,数据是一家企业的最重要的资产。因此,我们不希望数据库的各种备份被暴露在不受保护的服务器上,因为这样有可能会造成错误地泄露,甚至会出现被黑客窃取等更为糟糕的状况。

因此,通常您可以尝试的做法是:压缩、加密文件,然后删除原文件。在Linux操作系统上,请使用以下的命令对已压缩文件进行加密:

1.zip --encrypt dump.zip db.sql 

在压缩开始之前,系统将提示您输入密码。

传输备份文件

至此,我们已经获得了一个加密的转储文件。下面让我们通过网络使用SCP命令,将其传输到新的服务器上:

1.scp /path/to/source-file user@host:/path/to/destination-folder/ 

将MySQL转储导入新服务器

通过上面一步,我们已将备份文件传到了新的服务器上,下面让我们来进行解密和提取:

1.unzip -P your-password dump.zip 

为了存储空间和安全方面的原因,一旦文件导入成功,请记得删除其对应的转储文件。

您可以使用以下的命令来导入文件:

1.mysql -u root -p newdatabase /path/to/newdatabase.sql 

在新服务器上验证导入的数据

现在我们在新服务器上已经导入了数据库,那么我们就需要一种方法来验证数据的真实存在,并确保没有任何遗漏。

我建议您同时在旧的和新的数据库上运行如下查询,并将获得的结果进行对比。

该查询会在所有的表里计算行数,以显示出新、旧数据库中的数据量。

1.SELECT   

2.TABLE_NAME,   

3.TABLE_ROWS  

4.FROM   

`

5.information_schema`.`tables`  

6.WHERE   

`

7.table_schema` = 'YOUR_DB_NAME'; 

此外,我建议您检查各个表中数字列的MIN和MAX记录,以确保数据本身是有效的,而不仅仅是看数据的总量(虽然这是查询所唯一能够读出的值)。另一种可供测试的选择是将数据库从新的服务器导出为SQL转储文件,并将其与旧服务器的SQL转储文件做比较。

此外,在应用程序被迁移之前,我建议您先将一个应用程序的实例重定向到新的数据库上,以确认一切运行正常。

另一种导出和导入的选项

我们之所以把该选项放在最后,是因为我们的确不建议您去使用它。

该方法实现起来非常的容易,因为它仅使用一个命令,便能一次性将转储文件导出、传输、并将其数据导入到新的数据库之中。

而它的不足之处在于,一旦其网络链接断掉,您就需要重新启动它了。

因此,我们认为它并不值得被推荐,尤其是在大型数据库中,可能会非常不适用。

当然,如果您非要尝试一下的话,可以使用如下的命令:

1.mysqldump -u root -pPassword --all-databases | ssh user@new_host.host.com 'cat - | mysql -u root -pPassword' 

重要提示

请确保在新旧两处,安装有相同官方发行版本的MySQL服务器。否则,你需要按照MySQL网站上的升级说明来进行统一(请参见(https://dev.mysql.com/doc/refman/5.7/en/upgrading.html)。

请确保您在旧的服务器上拥有足够的空间来保存转储文件和压缩文件(应该有db_size×2的空间)。

请确保您在新的服务器上拥有足够的空间来保存加密的和解密的转储文件、并能导入数据库(应该有db_size×3的空间)。

如果您曾经考虑过只是将datadir从一个数据库转移到另一个的话,我建议您最好不要这样做。否则,您会搞乱数据库的内部结构,而且会给将来可能的问题埋下隐患。

在新的服务器配置中,请不要忘了配置诸如innodb_log_file_size这样的重要标志。因为如果忘记了根据新服务器的规格而更新配置的话,很可能会导致严重的性能问题。

在许多情况下,一般升级到新的数据库服务器的初衷是为了提高查询性能。而如果此类升级没有达到预期的改善,那么您就应该考虑去优化SQL查询,而不仅仅是升级硬件那么简单了

MYSQL数据库的数据怎么转移?谢谢

写一个数据导入导出的代码。

从一个数据库表中读取保存到另一个数据库表。

循环导入一个表中的所有的记录。

然后再导入其他的表。

php mysql 可以很方便的远程连接数据库的。

数据库怎么进行数据传输

方法/步骤

第一步,打开Navicat for MySQL软件,查看数据库book和student,对比数据库表,如下图所示:

第二步,对比结果发现这两个数据库有两张表一致,需要将book数据库的数据同步到student数据库;选中book数据库,选择“Tools”,点击“Data Transfer...”,如下图所示:

第三步,选择目的源为CMP,Database为student,点击“Start”开始同步数据,如下图所示:

第四步,这时会弹出同步数据的提示,点击“OK”,确定通过,如下图所示:

第五步,完成数据同步后,这时消息日志为运行成功,如下图所示:

第六步,查看数据库student,对应的表数据,可以看到表数据已经同步过来,如下图所示:

怎么把mysql的数据库上传?

方法/步骤

1

登录到phpMyAdmin

2

新建一个要导入的数据库,点击“+new”

3

如图,分别填写数据库名称,以及选择数据库的排序规则,

4

完成步骤3,点击“创建”

5

完成步骤4,从右侧就可以看到我们新创建的数据库了,如果没有立即显示,刷新即可立马显示了。

6

单击我们新创建的数据库,

7

然后,我们选择“导入”,

8

完成步骤7,我们点击“选择文件”,

9

点击了“选择文件”之后,就会出现如图所示的弹出框,我们选择要导入的sql就可以了,后缀名可以是.sql,也可以是压缩文件.zip。如图,选择好文件之后,点击“确定”就可以了

10

完成步骤⑨,你就可以从刚才的页面中看到自己上传的文件了,如图所示,其余选项默认就可以了,然后点击“执行”就可以了。

11

这个时候,你就可以看到你的数据已经导入到你新创建的数据库中了


标题名称:mysql怎么数据传输,mysql有哪些导入数据的方式
文章转载:http://scyanting.com/article/heipdo.html