使用帮助
关注公众微信
 读懂通信 LTE学习大使 登陆 搜索

>> 对学园运作和发展的讨论
空中接口学园学园事务站务 → 【读懂通信】网站迁移过程的一些经验
  发表一个新主题  发表一个新投票  回复主题 您是本文的第 2201 个阅读者  浏览上一篇主题  刷新本主题   树形显示文章 浏览下一篇主题
 * 主题: 【读懂通信】网站迁移过程的一些经验 保存该页为文件  报告本帖给版主  显示可打印的版本  把本贴打包邮递  把本贴加入论坛收藏夹  发送本页面给朋友  把本贴加入IE收藏夹 
 tom 在线,有人找我吗?
  
  
  等级:LTE学习大使
  文章:4520
  积分:
  注册:2003-06-10
给tom发送一个短消息 把tom加入好友 查看tom的个人资料 搜索tom在站务的所有文章 点击这里发送电邮给tom 引用回复这个文章 回复这个文章楼主
发文心情 【读懂通信】网站迁移过程的一些经验
随着【读懂通信】网站的迁移,原来的后台数据库也面临着迁移,从Access到MySQL。

  Access是Windows平台的标配,这么多年用下来,对小型网站来说,还是很方便的,备份也是简单的数据库文件的备份。

  MySQL则是Linux平台的标配,好几年前就在工作中用到,但是从来没有想过在网站上应用,主要是需要改代码。

  前面说过,这次网站迁移不小心把平台也迁移成了Linux系统,Linux系统上没法用access,于是就霸王硬上弓,不得不从Access迁到MySQL了。

----------------------------------------------

点击查看用户来源及管理<br>发贴IP:*.*.*.* 2021-08-22 20:46:12
  鲜花(0)  鸡蛋(0)
 tom 在线,有人找我吗?
  
  
  等级:LTE学习大使
  文章:4520
  积分:
  注册:2003-06-10
给tom发送一个短消息 把tom加入好友 查看tom的个人资料 搜索tom在站务的所有文章 点击这里发送电邮给tom 引用回复这个文章 回复这个文章2
发文心情 
1. 数据迁移
     首先是进行数据库迁移,用到了两个工具:
     一个是db2mysql.exe,将数据表的内容导出为sql文件;
    另外一个是CSDTools2000.mda,导出access的表结构。当然,事情还不算完,还要根据access的表结构,生成mysql表的对应sql语句。
   其中比较麻烦的是字段类型的转换,比如MEMO要转换为TEXT,INT要转换为SMALLINT等等,最后我用excel生成了建表的sql语句。

   有了建表的sql语句以及内容的sql文件后,利用MySQL的客户端,就实现了数据库的迁移,总体感觉还比较顺,可能是Access数据库里面的表格数量不多。

----------------------------------------------

点击查看用户来源及管理<br>发贴IP:*.*.*.* 2021-08-22 20:54:15
 tom 在线,有人找我吗?
  
  
  等级:LTE学习大使
  文章:4520
  积分:
  注册:2003-06-10
给tom发送一个短消息 把tom加入好友 查看tom的个人资料 搜索tom在站务的所有文章 点击这里发送电邮给tom 引用回复这个文章 回复这个文章3
发文心情 
2. 字符集的选择
   开始时没注意,后来发现是个大问题,并经历了先改UTF8再改回GBK的大返工。

   之所以一开始要改UTF8,因为Linux平台用的是UTF8的字符集,PHP脚本从MYSQL数据库里面取出来的文本采用了UTF8的字符集,PHP脚本不用UTF8的字符集就会显示乱码。

  然而,在Windows平台下,HTML文件格式缺省都是GBK,因此【读懂通信】网站的HTML文件格式也是GBK。

   如果脚本用UTF8,HTML文件用GBK,乱码是无法解决的,只能靠一边。

   考虑到积累的HTML文件比较多,改起来会挂一漏万,还是改脚本方便,前提是MySQL要支持GBK。

   其实,Linux平台的MySQL也是支持GBK的,只需要:
   1. 建表的SQL语句中写一下DEFAULT CHARSET=gbk
   2. 表格内容的SQL文件导入前,先采用ANSI格式保存
   3. 创建数据库连接时PHP脚本写一下
         mysqli_query($conn , "set names gbk")

   这样,就可以用GBK的编码方式了,注意PHP脚本最后还得存成ANSI的格式。

----------------------------------------------

点击查看用户来源及管理<br>发贴IP:*.*.*.* 2021-08-22 21:07:45
 tom 在线,有人找我吗?
  
  
  等级:LTE学习大使
  文章:4520
  积分:
  注册:2003-06-10
给tom发送一个短消息 把tom加入好友 查看tom的个人资料 搜索tom在站务的所有文章 点击这里发送电邮给tom 引用回复这个文章 回复这个文章4
发文心情 
3. 数据库的查询操作
       Access与MySQL的查询操作也是有明显差别的,好在替换的方式是固定的,比较好掌握。MySQL的字段名称大小写敏感,而且不支持数字序号字段,必须完整的字段名。

      在SQL语句方面,目前发现Top N要改成limit N,其他没有什么差别。

----------------------------------------------

点击查看用户来源及管理<br>发贴IP:*.*.*.* 2021-08-22 21:12:59

本主题文章数4,分页: [1]

管理选项锁定 | 解锁 | 提升 | 删除 | move | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告

Powered by:Old version
Copyright ©2002 - 2019空中接口学园 , 页面执行时间:186.768毫秒