求助——MySQL数据库导入导出时的 大小写问题

totola147 2013-08-09 10:49:37
服务器1 mysql 配置 lower_case_table_name=0
服务器2 mysql 配置 lower_case_table_name=0
使用mysqldump 导出数据库 然后在另一台机器 服务器2 导入

问题1:
导入服务器2上后 有部分表名称全部成小写了;检查从服务器1导出的数据库脚本文件,查看创建该表的脚本,是正确的,区分大小写的 为什么会这样,如果全部都不区分大小写我可以理解,但是只是有一部分不区分大小写,另我很困惑(数据库表名称使用了大驼峰命名)
使用notepad++ 打开脚本文件 区分大小写搜搜,搜索不到小写的表名称,但是导入后却出现了小写


问题2:
数据库导出以后,数据库中原来建立的视图成为了一张表;试图都不在了

问题3:
有什么可靠的方法,将MySQL数据库完整的导出 包括触发器,存储过程,视图;以及外键,外键的级联操作设置
...全文
606 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
知道就是你 2013-08-15
  • 打赏
  • 举报
回复
/*!50001 DROP TABLE IF EXISTS `count_yysbh`*/; 50001表示假如 数据库版本是5.00.01以上版本,“DROP TABLE IF EXISTS `count_yysbh”才会被执行
知道就是你 2013-08-15
  • 打赏
  • 举报
回复
mysql 注释解释详见 http://blog.csdn.net/jenminzhang/article/details/8627106
totola147 2013-08-15
  • 打赏
  • 举报
回复
引用 7 楼 JenMinZhang 的回复:
mysql 注释解释详见 http://blog.csdn.net/jenminzhang/article/details/8627106
非常感谢!! 明白了
totola147 2013-08-14
  • 打赏
  • 举报
回复
引用 3 楼 ACMAIN_CHM 的回复:
检查一下权限。
对不起,刚开始学习使用mysql 不知道怎样查看所有数据库对象的所有者以及权限
totola147 2013-08-14
  • 打赏
  • 举报
回复
引用 4 楼 JenMinZhang 的回复:
使用 “ mysqldump -h -u -p -ntd -R db_name >db_name.sql ”,第一次导出时注意触发器,存储过程,函数的权限(所有者),导出后注意如果可以的话,建议将权限(所有者)更改为同一个人(就直接将所有的权限(DEFINER=`root`@`localhosl`) 信息替换为空 ) 或使用phpmyadmin数据库可视化工具导出,注意要记得将 “ 添加 CREATE PROCEDURE / FUNCTION / EVENT ”前面的复选框选中 !
恩,我想问题可能就出在 definer那部分了 这是其中的一部分 /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 trigger Trig_AskHelpInsert after insert ON `AskHelp` for each row begin update UserDetail set coin=coin - new.costScore where userID = new.userID; insert into Token(userID,value,changeType,operateDate,operationInfo) values(new.userID,-new.costScore,'AskHelp',now(),new.askhelpID); end */;; 我想请教一下 这里的/*!的注释是什么意思,还有50017
知道就是你 2013-08-12
  • 打赏
  • 举报
回复
使用 “ mysqldump -h -u -p -ntd -R db_name >db_name.sql ”,第一次导出时注意触发器,存储过程,函数的权限(所有者),导出后注意如果可以的话,建议将权限(所有者)更改为同一个人(就直接将所有的权限(DEFINER=`root`@`localhosl`) 信息替换为空 ) 或使用phpmyadmin数据库可视化工具导出,注意要记得将 “ 添加 CREATE PROCEDURE / FUNCTION / EVENT ”前面的复选框选中 !
rucypli 2013-08-09
  • 打赏
  • 举报
回复
3 mysqldump -R
ACMAIN_CHM 2013-08-09
  • 打赏
  • 举报
回复
检查一下权限。
totola147 2013-08-09
  • 打赏
  • 举报
回复
引用 1 楼 rucypli 的回复:
3 mysqldump -R
试过这个种方法,有部分存储过程会提示存储过程不存在,但是竟然都能打印输出存储过程的名字;明明存在却说不存在,费解

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧