《 空中接口学园 》 >> 学园事务 >>>> 【读懂通信】网站迁移过程的一些经验 |
-- 作者:tom -- 发布时间:2021-08-22 20:46:12 随着【读懂通信】网站的迁移,原来的后台数据库也面临着迁移,从Access到MySQL。 Access是Windows平台的标配,这么多年用下来,对小型网站来说,还是很方便的,备份也是简单的数据库文件的备份。 MySQL则是Linux平台的标配,好几年前就在工作中用到,但是从来没有想过在网站上应用,主要是需要改代码。 前面说过,这次网站迁移不小心把平台也迁移成了Linux系统,Linux系统上没法用access,于是就霸王硬上弓,不得不从Access迁到MySQL了。 -- 作者:tom -- 发布时间:2021-08-22 20:54:15 1. 数据迁移 首先是进行数据库迁移,用到了两个工具: 一个是db2mysql.exe,将数据表的内容导出为sql文件; 另外一个是CSDTools2000.mda,导出access的表结构。当然,事情还不算完,还要根据access的表结构,生成mysql表的对应sql语句。 其中比较麻烦的是字段类型的转换,比如MEMO要转换为TEXT,INT要转换为SMALLINT等等,最后我用excel生成了建表的sql语句。 有了建表的sql语句以及内容的sql文件后,利用MySQL的客户端,就实现了数据库的迁移,总体感觉还比较顺,可能是Access数据库里面的表格数量不多。 -- 作者:tom -- 发布时间:2021-08-22 21:07:45 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的,只需要: 这样,就可以用GBK的编码方式了,注意PHP脚本最后还得存成ANSI的格式。 -- 作者:tom -- 发布时间:2021-08-22 21:12:59 3. 数据库的查询操作 Access与MySQL的查询操作也是有明显差别的,好在替换的方式是固定的,比较好掌握。MySQL的字段名称大小写敏感,而且不支持数字序号字段,必须完整的字段名。 在SQL语句方面,目前发现Top N要改成limit N,其他没有什么差别。 目前已经有4条评论 >>> 发表你的见解 |
Powered by:Old version Copyright ©2002 - 2019空中接口学园 , 页面执行时间:31.250毫秒 |