重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
如果你只是想把表结构和数据上传的话,你可以先把这些东西导出到一个sql文件中。然后把这个文件上传到服务器,然后执行这个文件,就OK了。
创新互联公司主营城中网站建设的网络公司,主营网站建设方案,app软件定制开发,城中h5小程序开发搭建,城中网站营销推广欢迎城中等地区企业咨询
导出命令式:mysqldump -u 用户名 -p 数据库名 导出的文件名
比如你想导出test数据库,那么:
mysqldump -u root -p test test.sql
然后你就可以把test.sql上传
1)、数据不多的情况下,可以直接用数据库连接工具,上面有数据库拷贝到数据库的功能来拷贝。
2)、数据量大的情况下,建议用下面的方式:
1、远程服务上面安装mysql服务器
2、本地的数据库的数据导出到一个文件中
3、ftp或者其他方式,把这个数据库文件传到远程服务器
4、用远程服务中source命令,导入
首先备份好你本地的数据库,方法如下。
1、用apmserv5.2.6(网站上面有下载)带的phpmyadmin
进行备份恢复。
a、运行apmserv5.2.6,
点击右边的“管理mysql
数据库”。服务器填写127.0.0.1:3306,
登入名称:root,密码为空进行登录。在左边是数据库列表。点击你的数据库。点导出、拉到
最下面把“另存为文件”打勾。点执行。这样你就可以备份你的数据库了。
2、运行mysql-front
备份恢复你的数据库。
a、新建一个登录。
信息栏中随便写一下名字。标识你的登录信息。
b、点击连接栏,分别填好:
服务器:服务器的ip
端
口:一般为3306
c、点击注册栏,分别填好:
用
户:你申请的数据库的用户名(如果是本地一般为root),
密
码:数据库的密码(本地为空)
数据库:你申请的数据库名。
填写好这些信息后点击“确定”这样就能链接到你的远程数据库了。左边这个远程数据。
服务器的一些数据库,点击你的数据库后等待链接。直至返回所有数据,你便能打开你的数据库。
中的数据表了。在这里你可以修改你的数据表结构,删除填加数据等(小心操作)。
d、右键点击你的数据库进行备份(输出)数据,有几种备份的类型,一般选sql。
一、一般步骤
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更方便