之前帖子,由于不能回复了,因此开此贴,原帖地址
http://topic.csdn.net/u/20110425/14/20261335-1eb4-43e5-9314-2c1a3ee0f4f2.html
感谢各位兄弟们的帮助
我的系统是LINUX的系统,原来数据库版本5.1.49,
我按照falizixun2兄弟的这个代码已经成功导出数据库所有的表结构,但出现几个问题
<?php
//把这些代码保存为一个php文件
$database='mysql'; //选择要进行的备份的数据库名称,还有下面的mysql用户密码,其他不变就可以了。
mysql_connect('localhost','root','root');
mysql_select_db($database);
$sql1 = 'SHOW tables';
$result = mysql_query($sql1) or die ("sql语句$sql1执行错误");
$T=date("Y-m-d H:i:s");
$str="--PHP代码方式执行MYSQL数据库表结构备份 操作时间:$T\r\n\r\n";
while($row = mysql_fetch_array($result))
{
$tablename=$row["Tables_in_$database"];
$sql2="show create table $tablename";
$result2 = mysql_query($sql2) or die ("sql语句$sql2执行错误".mysql_error());
$row2 = mysql_fetch_array($result2);
$str=$str.$row2['Create Table']."\r\n\r\n";
}
file_put_contents('wdf.sql',$str);
?>
问题1
导出的数据有很多问号
我数据库里有utf8格式的还有latin1格式的,是不是这个原因
下面是我截取的其中一段
CREATE TABLE `to_weituo` (
`wid` int(11) unsigned NOT NULL auto_increment COMMENT '??????ID',
`uid` int(11) NOT NULL default '0' COMMENT '?????ID',
`zb_cgate` tinyint(2) NOT NULL default '0' COMMENT '1????2????',
`zb_type` tinyint(2) NOT NULL default '0' COMMENT '????1????2????3????',
`zb_stype1` tinyint(2) NOT NULL default '0' COMMENT '???????1??2??3??',
`zb_stype2` tinyint(2) NOT NULL default '0' COMMENT '???????1?????2???????3????????4??????????5????6?????????',
`zb_price1` tinyint(2) NOT NULL default '0' COMMENT '??????',
`zb_price2` tinyint(2) NOT NULL default '0' COMMENT '??????',
`zb_name` varchar(100) character set utf8 NOT NULL default '' COMMENT '????',
`zb_area` int(8) NOT NULL default '0' COMMENT '????',
`shen` varchar(32) character set utf8 NOT NULL default '' COMMENT '???',
`city` varchar(32) character set utf8 NOT NULL default '' COMMENT '????',
`zb_hometype` tinyint(3) NOT NULL default '0' COMMENT '????',
`zb_zonetype` varchar(50) character set utf8 NOT NULL default '' COMMENT '????????(?????)',
`zb_dangchi` tinyint(2) NOT NULL default '0' COMMENT '????1?2?3??',
`zb_style` varchar(150) character set utf8 NOT NULL default '' COMMENT '???????????????1?2?3?4?',
`ftime` int(10) NOT NULL default '0' COMMENT '??????',
`zx_yaoqiu` text character set utf8 NOT NULL COMMENT '????',
`sj_yaoqiu` text character set utf8 NOT NULL COMMENT '????',
`email` varchar(120) character set utf8 NOT NULL default '' COMMENT 'Email',
`phone` char(16) character set utf8 NOT NULL default '' COMMENT '??',
`mobile` char(11) character set utf8 NOT NULL default '' COMMENT '??',
`qq` char(20) character set utf8 NOT NULL default '' COMMENT 'Q Q',
`ispass` tinyint(2) NOT NULL default '0' COMMENT '??????1?????0???',
`tb_nums` mediumint(4) NOT NULL default '0' COMMENT '???',
`usejidian` mediumint(7) NOT NULL default '0' COMMENT '????',
`sourceid` mediumint(3) NOT NULL default '0' COMMENT '??????',
`puttime` int(10) NOT NULL default '0' COMMENT '????',
PRIMARY KEY (`wid`)
) ENGINE=MyISAM AUTO_INCREMENT=4373 DEFAULT CHARSET=latin12、无法导入到新的数据库提示错误,我新的数据已经升级到5.1.53
但导入还是和上面的一样错误,导入不进去,是什么原因啊,帮忙啊
http://topic.csdn.net/u/20110425/14/20261335-1eb4-43e5-9314-2c1a3ee0f4f2.html
感谢各位兄弟们的帮助
我的系统是LINUX的系统,原来数据库版本5.1.49,
我按照falizixun2兄弟的这个代码已经成功导出数据库所有的表结构,但出现几个问题
<?php
//把这些代码保存为一个php文件
$database='mysql'; //选择要进行的备份的数据库名称,还有下面的mysql用户密码,其他不变就可以了。
mysql_connect('localhost','root','root');
mysql_select_db($database);
$sql1 = 'SHOW tables';
$result = mysql_query($sql1) or die ("sql语句$sql1执行错误");
$T=date("Y-m-d H:i:s");
$str="--PHP代码方式执行MYSQL数据库表结构备份 操作时间:$T\r\n\r\n";
while($row = mysql_fetch_array($result))
{
$tablename=$row["Tables_in_$database"];
$sql2="show create table $tablename";
$result2 = mysql_query($sql2) or die ("sql语句$sql2执行错误".mysql_error());
$row2 = mysql_fetch_array($result2);
$str=$str.$row2['Create Table']."\r\n\r\n";
}
file_put_contents('wdf.sql',$str);
?>
问题1
导出的数据有很多问号
我数据库里有utf8格式的还有latin1格式的,是不是这个原因
下面是我截取的其中一段
CREATE TABLE `to_weituo` (
`wid` int(11) unsigned NOT NULL auto_increment COMMENT '??????ID',
`uid` int(11) NOT NULL default '0' COMMENT '?????ID',
`zb_cgate` tinyint(2) NOT NULL default '0' COMMENT '1????2????',
`zb_type` tinyint(2) NOT NULL default '0' COMMENT '????1????2????3????',
`zb_stype1` tinyint(2) NOT NULL default '0' COMMENT '???????1??2??3??',
`zb_stype2` tinyint(2) NOT NULL default '0' COMMENT '???????1?????2???????3????????4??????????5????6?????????',
`zb_price1` tinyint(2) NOT NULL default '0' COMMENT '??????',
`zb_price2` tinyint(2) NOT NULL default '0' COMMENT '??????',
`zb_name` varchar(100) character set utf8 NOT NULL default '' COMMENT '????',
`zb_area` int(8) NOT NULL default '0' COMMENT '????',
`shen` varchar(32) character set utf8 NOT NULL default '' COMMENT '???',
`city` varchar(32) character set utf8 NOT NULL default '' COMMENT '????',
`zb_hometype` tinyint(3) NOT NULL default '0' COMMENT '????',
`zb_zonetype` varchar(50) character set utf8 NOT NULL default '' COMMENT '????????(?????)',
`zb_dangchi` tinyint(2) NOT NULL default '0' COMMENT '????1?2?3??',
`zb_style` varchar(150) character set utf8 NOT NULL default '' COMMENT '???????????????1?2?3?4?',
`ftime` int(10) NOT NULL default '0' COMMENT '??????',
`zx_yaoqiu` text character set utf8 NOT NULL COMMENT '????',
`sj_yaoqiu` text character set utf8 NOT NULL COMMENT '????',
`email` varchar(120) character set utf8 NOT NULL default '' COMMENT 'Email',
`phone` char(16) character set utf8 NOT NULL default '' COMMENT '??',
`mobile` char(11) character set utf8 NOT NULL default '' COMMENT '??',
`qq` char(20) character set utf8 NOT NULL default '' COMMENT 'Q Q',
`ispass` tinyint(2) NOT NULL default '0' COMMENT '??????1?????0???',
`tb_nums` mediumint(4) NOT NULL default '0' COMMENT '???',
`usejidian` mediumint(7) NOT NULL default '0' COMMENT '????',
`sourceid` mediumint(3) NOT NULL default '0' COMMENT '??????',
`puttime` int(10) NOT NULL default '0' COMMENT '????',
PRIMARY KEY (`wid`)
) ENGINE=MyISAM AUTO_INCREMENT=4373 DEFAULT CHARSET=latin12、无法导入到新的数据库提示错误,我新的数据已经升级到5.1.53
但导入还是和上面的一样错误,导入不进去,是什么原因啊,帮忙啊
<?php
//把这些代码保存为一个php文件
$database='test'; //选择要进行的备份的数据库名称
mysql_connect('localhost','root','wdf');
mysql_select_db($database);
$sql1 = 'SHOW tables';
$result = mysql_query($sql1) or die ("sql语句$sql1执行错误");
$T=date("Y-m-d H:i:s");
$str="-- PHP代码方式执行MYSQL数据库表结构备份 操作时间:$T\r\n\r\n";//这里向后缩进了一个TAB
while($row = mysql_fetch_array($result))
{
$tablename=$row["Tables_in_$database"];
$sql2="show create table $tablename";
$result2 = mysql_query($sql2) or die ("sql语句$sql2执行错误".mysql_error());
$row2 = mysql_fetch_array($result2);
$str=$str.$row2['Create Table'].";\r\n\r\n"; //注意这里更正了一个结尾的;没有分号会导致你图片里的mysql语法错误
}
file_put_contents('wdf.sql',$str);
?>
还有导入的时候必须要把原来数据库内的所有表删除,否则会报表已经存在的错误!
我导成latin1,显示的都是问号
<?php
//把这些代码保存为一个php文件
$database='wdf2'; //选择要进行的备份的数据库名称
mysql_connect('localhost','root','wdf');
mysql_select_db($database);
$sql1 = 'SHOW tables';
$result = mysql_query($sql1) or die ("sql1语句$sql1执行错误");
$T=date("Y-m-d H:i:s");
$str="-- PHP代码方式执行MYSQL数据库表结构备份 操作时间:{$T}\r\n\r\n";
while($row = mysql_fetch_array($result))
{
$tablename=$row["Tables_in_{$database}"];
$sql3="alter table $tablename default charset=utf8"; //增加部分
mysql_query($sql3) or die ("sql3语句$sql2执行错误".mysql_error());//增加部分
$sql2="show create table $tablename";
$result2 = mysql_query($sql2) or die ("sql2语句$sql2执行错误".mysql_error());
$row2 = mysql_fetch_array($result2);
$str=$str.$row2['Create Table'].";\r\n\r\n";
}
file_put_contents('wdf.sql',$str);
?>
是怎么回事啊
其他数据都导出正常,但有几个表导出整个表和数据能导出,但单独导出表结构倒不出,另外导入到新的数据库中总是提示错误下面的是我把整个表都导出,截取的前面代码,兄弟帮我看看是什么问题,是不是表在192.168.1.2这里不是同一个服务器,但如果这个表是连接的不同服务器,那应该也看不到才对啊,我实在是没办法了,大家帮忙,
我如果是单独为他在新数据库里建立表结构,然后把后面的内容倒进去,这样行不行,会不会影响使用,还请大家帮忙
对了,其他能正常导出的表,能看到是什么编码比如是utf,但这几个不能导出的表,看不到
DROP TABLE IF EXISTS `to_zsgssrc`;
CREATE ALGORITHM=UNDEFINED DEFINER=`tuo`@`192.168.1.2` SQL SECURITY DEFINER VIEW `to_zsgssrc` AS (select `to_fcom`.`id` AS `id`,`to_fcom`.`cname` AS `cname`,`to_fcom`.`goodlevel` AS `goodlevel`,`to_fcom`.`shen` AS `shen`,`to_fcom`.`city` AS `city`,concat(`to_fcom`.`town`,replace(replace(replace(`to_fcom`.`town`,_utf8'区',_utf8''),_utf8'县',_utf8''),_utf8'市',_utf8'')) AS `town`,`to_fcom`.`adds` AS `adds` from `to_fcom`);INSERT INTO `to_zsgssrc` VALUES ('270813', '成都鑫缘经典有限责任公司', '0', '四川', '成都', '成都市成都', '成都市营门口88号四威大厦B座三楼');
这个是视图吗,
如果不把视图倒进来,会不会影响程序使用
如何把视图导出和导入
用PHP导
导出数据库中所有表的时候怎么区分啊