Exchange 2007 迁移 2010
2015-12-07 16:12
363 查看
Exchange 2007 迁移 2010
理论部分:
为什么迁移2007
在2010出现之后,2010对I/O的需要大大降低了百分之50到70左右,2010还可以使用较为廉价的磁盘如STAT SCSI等。
2007对数据库的支持很有限,最多才能创建50个,一些大的企业是不够的,而且2007使用存储组来组织数据库的,不利于管理
2007的高可用性实现的也不是特别好,2010的DAG不支持2007,所以因为以上种种原因我们需要将2007迁移到2010
迁移实际上就是升级,只不过不是直接升级而是在另外一台服务器上创建好一个邮件服务器
ps:两个邮件服务器加入到一个域中组成一个邮件系统这就是所说的共存环境
2010的数据库数量最好和2007的数据库数量相同或共多,否则组织就会完全紊乱,存储一定要到大于2007的存储
迁移的顺序分为
迁移脱机通讯簿。
更改发送连接器。
迁移用户邮箱。
脱机通讯簿:Exchange中的脱机通讯录(Offline Address Book / OAB)是一个很有用的功能,用户可以在脱机通讯录上查询到大量有用信息。而且,由于是“脱机”的,当客户端没有连接到Exchange服务器时,依然可以使用需要注意一点,脱机通讯录仅供Outlook客户端使用Exchange方式连接(MAPI/Outlook Anywhere),并且启用了缓存模式(Cache Mode)的情况下使用,其它任何类型的客户端都是不会用到脱机通讯录功能的。
更改发送连接器的目的是将中心传输服务器转移到2010上一便收发互联网邮件
用户邮箱就不用说了,就是迁移那些数据
最后进行卸载2007的相关操作
实验部分:
实验案例:Exchange 2007 迁移 2010
![](http://s3.51cto.com/wyfs02/M02/77/34/wKioL1ZlP5HhxSxeAAACijw_ZpY024.gif)
实验环境
![](http://s3.51cto.com/wyfs02/M00/77/34/wKioL1ZlP5LSDMKkAAAC5vr9-tk701.gif)
HY公司通过Windows AD域管理公司网络资源,域名为benet.com。并部署过一台Exchange Server 2007企业版服务器,用于实现企业内的邮件通信。部署时采用的“典型安装”,即集成了“邮箱服务器”、“客户端访问服务器”和“集线器传输服务器” (今天的实验因为没有在家搭建,是在公司的环境下准备的域名有些变化域名为benet.com)
![](http://s3.51cto.com/wyfs02/M02/77/35/wKiom1ZlPyThyII_AAAC5vr9-tk998.gif)
主机名 DC (dc) 192.168.4.10
![](http://s3.51cto.com/wyfs02/M01/77/35/wKiom1ZlPySBxX6HAAAC5vr9-tk710.gif)
2007 WIN-mailserver 192.168.4.11
![](http://s3.51cto.com/wyfs02/M00/77/35/wKiom1ZlPybhFpFLAAAC5vr9-tk214.gif)
2010 WIN-mailserver 192.168.4.12
![](http://s3.51cto.com/wyfs02/M01/77/35/wKiom1ZlPyajpHxAAAACijw_ZpY156.gif)
需求描述
![](http://s3.51cto.com/wyfs02/M02/77/35/wKiom1ZlPyegQ4XkAAAC5vr9-tk680.gif)
公司现在新购置了一台服务器,希望将Exchange Server 2007迁移到这台新服务器上,并升级至Exchange Server 2010。要确保平滑迁移,原有的脱机通讯簿、用户邮箱等信息不能丢失
![](http://s3.51cto.com/wyfs02/M00/77/35/wKiom1ZlPyjhDUZKAAACijw_ZpY723.gif)
实验思路
![](http://s3.51cto.com/wyfs02/M02/77/35/wKiom1ZlPyniY_oNAAAC5vr9-tk418.gif)
搭建共存环境。
![](http://s3.51cto.com/wyfs02/M01/77/35/wKiom1ZlPynjEgmOAAAC5vr9-tk439.gif)
迁移脱机通讯簿。
![](http://s3.51cto.com/wyfs02/M02/77/35/wKiom1ZlPyrD-NU0AAAC5vr9-tk692.gif)
更改发送连接器。
![](http://s3.51cto.com/wyfs02/M00/77/35/wKiom1ZlPyrhcAPTAAAC5vr9-tk704.gif)
迁移用户邮箱。
![](http://s3.51cto.com/wyfs02/M01/77/35/wKiom1ZlPyqxYy-7AAAC5vr9-tk140.gif)
卸载Exchange Server 2007。
![](http://s3.51cto.com/wyfs02/M02/77/35/wKiom1ZlPyvS9aJ5AAAC5vr9-tk256.gif)
验证
首先我们一定要确保2007 和2010 Exchange 相关的服务一定要是启动状态
![](http://s3.51cto.com/wyfs02/M00/77/34/wKioL1ZlP5yCVVmOAABiMQKHdwk011.jpg)
图1
2007的服务状态
![](http://s3.51cto.com/wyfs02/M01/77/35/wKiom1ZlPzGT_Cd8AABwiBde43Y508.jpg)
图2
2010 的服务
首先我们现在2007 上创建三个用户,用于测试,用户的名字张三、李四、王五
![](http://s3.51cto.com/wyfs02/M02/77/35/wKiom1ZlPzLyhtu-AAAzzMtOnwA411.jpg)
图3
用户已经创建好了
使用张三给王五发送一封邮件王五能够收到
这个测试不演示
已经成功了
现在我们的所有操作都是在2010 上进行操作
现在我们开始正式迁移
第一步迁移脱机通讯簿
![](http://s3.51cto.com/wyfs02/M00/77/35/wKiom1ZlPzTAJiboAAA3gp8icdk703.jpg)
图4
没有迁移之前的脱机通讯簿在2007 上
对脱机通讯簿右键迁移
![](http://s3.51cto.com/wyfs02/M01/77/35/wKiom1ZlPzWBnlsmAAAsAIo7Adc360.jpg)
图5
现在迁移脱机通信部到 2010上
![](http://s3.51cto.com/wyfs02/M00/77/34/wKioL1ZlP6XRiyvuAAA14zlE7Sg304.jpg)
图6
迁移之后的脱机通讯簿,已经在2010上了
脱机通讯簿迁移完成了
开始迁移发送连接器
![](http://s3.51cto.com/wyfs02/M01/77/34/wKioL1ZlP6fhEYVxAAA-OUYlOKQ592.jpg)
图7
找到组织配置的集线器传输,找到发送连接器,右键属性找到原服务器
现在可以看见是在2007 上存在的,现在我们将他迁移到2010
将旧的删除,如山图所示
再点击添加
![](http://s3.51cto.com/wyfs02/M00/77/34/wKioL1ZlP6jSxYiaAAAs8u5kTyw186.jpg)
图8
添加2010的服务器
![](http://s3.51cto.com/wyfs02/M01/77/34/wKioL1ZlP6ngPFDUAAA0OuJrnlk185.jpg)
图9
迁移之后的原服务器就变成了2010
接下来我们迁移邮箱
ps:一般情况下接收连接器是2010默认就存在的,所以我们这里不去修改,但是如果想要收发互联网邮件则需要将 default server name 启用匿名
![](http://s3.51cto.com/wyfs02/M00/77/35/wKiom1ZlPzygAKtCAAA-BFZGuF0435.jpg)
图10
找到要迁移的用户ctrl+鼠标左键选中,右边会出现一个名字为新建本地迁移的选项卡
ps:如果有多个用户建议一次迁移50 ― 100 个用户
![](http://s3.51cto.com/wyfs02/M02/77/34/wKioL1ZlP62Bh_n0AAA4t4X3e-A374.jpg)
图11
选择移动到的目标数据库,2010的数据库后面都会有数据库随即ID
![](http://s3.51cto.com/wyfs02/M00/77/34/wKioL1ZlP67D2cjBAAAnoUjI0xU479.jpg)
图12
这里选择跳过邮箱,点击下一步
之后就点击新建就可以了
![](http://s3.51cto.com/wyfs02/M01/77/36/wKiom1ZlP0GDqQupAAA8zApmors987.jpg)
图13
已经迁移完成了,我们可以本地迁移看一下
![](http://s3.51cto.com/wyfs02/M02/77/36/wKiom1ZlP0OTKKWQAAAuEEO249E792.jpg)
图14
全部完成了
在实际生产环境下应该会很慢的
其实现在我们就迁移完成了
ps:在实际生产环境下,我们需要在2010上创建与2007 相同数量的数据库,并且名字最好相同
而且存储需要比2007 更大
现在我们将2007 卸载
在2007 的EMC中找到服务器配置―邮箱
![](http://s3.51cto.com/wyfs02/M02/77/36/wKiom1ZlP0Tj0A5JAAA7oFea3AE035.jpg)
图15
找到默认的数据库(删除所有邮箱否则不能卸载)卸载掉
![](http://s3.51cto.com/wyfs02/M00/77/34/wKioL1ZlP7Xwsf1iAAA-LkZsKJs077.jpg)
图16
卸载完成之后才能删除(注意如果数据库中存在邮箱则无法完成删除)
现在卸载删除公共文件夹数据库
PS:公用文件夹数据库是无法进行常规删除的我们需要借助一个工具
插入2003的安装光盘
![](http://s3.51cto.com/wyfs02/M01/77/36/wKiom1ZlP0jSbmTqAAAxr6NJe34183.jpg)
图17
找到这个工具,双击运行
![](http://s3.51cto.com/wyfs02/M01/77/34/wKioL1ZlP7eBJdz-AAAsLf0XMaA002.jpg)
图18
这里没有问题,直接运行程序即可,因为这里是2008r2 工具却是2003的所以可能会出现一些问题,但是做今天的实验一点问题都没有
![](http://s3.51cto.com/wyfs02/M02/77/36/wKiom1ZlP0vyLOmTAABBTkuH9RI750.jpg)
图19
下一步
![](http://s3.51cto.com/wyfs02/M01/77/36/wKiom1ZlP03wfEv_AABR6Y-ZJVk271.jpg)
图20
我同意,下一步
![](http://s3.51cto.com/wyfs02/M02/77/36/wKiom1ZlP1ChchQdAAAuPHVn8HI611.jpg)
图21
随便输入,下一步
![](http://s3.51cto.com/wyfs02/M00/77/36/wKiom1ZlP1LSTyjZAABEZZK3ilM701.jpg)
图22
默认安装就可以了
完成就可以了
![](http://s3.51cto.com/wyfs02/M02/77/34/wKioL1ZlP8KxFG--AAAsQaW-wb4890.jpg)
图23
输入上图的控制台命令
![](http://s3.51cto.com/wyfs02/M01/77/36/wKiom1ZlP1WxySavAABRaEtPOBU311.jpg)
图24
连接到配置
![](http://s3.51cto.com/wyfs02/M02/77/36/wKiom1ZlP1uyK77-AAAy9aqMbqM475.jpg)
图25
找到这个路径,删除CN=public Folder Datadase 这个目录
![](http://s3.51cto.com/wyfs02/M00/77/36/wKiom1ZlP1-B_c5UAAAxkGoqayI994.jpg)
图26
我们可以看到公用文件夹的数据库已经不存在了
现在我们开始卸载Exchange server 2007
找到控制面版――卸载程序――右键卸载就可以了
![](http://s3.51cto.com/wyfs02/M02/77/34/wKioL1ZlP9CTnfxLAAA86q5I0Io170.jpg)
图27
将有勾的全部去掉
![](http://s3.51cto.com/wyfs02/M02/77/36/wKiom1ZlP2Sj0NoqAAA0_TwMB9A984.jpg)
图28
检查卸载的先决条件,其实就是检查数据库中还有邮箱吗,如果是卸载不掉的
![](http://s3.51cto.com/wyfs02/M02/77/34/wKioL1ZlP9ajQbMYAAA1Zct1mBU340.jpg)
图29
没有任何问题
![](http://s3.51cto.com/wyfs02/M00/77/34/wKioL1ZlP9nB-Mb_AAAzLOuKRsI359.jpg)
图30
开始卸载了
现在我们等路2010 测试一下邮箱还能不能发送
还是存在的,能够正常工作
今天的实验就到这里 如果有哪些地方看不懂 可以联系我的QQ会有专业的人员为您解答
理论部分:
为什么迁移2007
在2010出现之后,2010对I/O的需要大大降低了百分之50到70左右,2010还可以使用较为廉价的磁盘如STAT SCSI等。
2007对数据库的支持很有限,最多才能创建50个,一些大的企业是不够的,而且2007使用存储组来组织数据库的,不利于管理
2007的高可用性实现的也不是特别好,2010的DAG不支持2007,所以因为以上种种原因我们需要将2007迁移到2010
迁移实际上就是升级,只不过不是直接升级而是在另外一台服务器上创建好一个邮件服务器
ps:两个邮件服务器加入到一个域中组成一个邮件系统这就是所说的共存环境
2010的数据库数量最好和2007的数据库数量相同或共多,否则组织就会完全紊乱,存储一定要到大于2007的存储
迁移的顺序分为
迁移脱机通讯簿。
更改发送连接器。
迁移用户邮箱。
脱机通讯簿:Exchange中的脱机通讯录(Offline Address Book / OAB)是一个很有用的功能,用户可以在脱机通讯录上查询到大量有用信息。而且,由于是“脱机”的,当客户端没有连接到Exchange服务器时,依然可以使用需要注意一点,脱机通讯录仅供Outlook客户端使用Exchange方式连接(MAPI/Outlook Anywhere),并且启用了缓存模式(Cache Mode)的情况下使用,其它任何类型的客户端都是不会用到脱机通讯录功能的。
更改发送连接器的目的是将中心传输服务器转移到2010上一便收发互联网邮件
用户邮箱就不用说了,就是迁移那些数据
最后进行卸载2007的相关操作
实验部分:
实验案例:Exchange 2007 迁移 2010
![](http://s3.51cto.com/wyfs02/M02/77/34/wKioL1ZlP5HhxSxeAAACijw_ZpY024.gif)
实验环境
![](http://s3.51cto.com/wyfs02/M00/77/34/wKioL1ZlP5LSDMKkAAAC5vr9-tk701.gif)
HY公司通过Windows AD域管理公司网络资源,域名为benet.com。并部署过一台Exchange Server 2007企业版服务器,用于实现企业内的邮件通信。部署时采用的“典型安装”,即集成了“邮箱服务器”、“客户端访问服务器”和“集线器传输服务器” (今天的实验因为没有在家搭建,是在公司的环境下准备的域名有些变化域名为benet.com)
![](http://s3.51cto.com/wyfs02/M02/77/35/wKiom1ZlPyThyII_AAAC5vr9-tk998.gif)
主机名 DC (dc) 192.168.4.10
![](http://s3.51cto.com/wyfs02/M01/77/35/wKiom1ZlPySBxX6HAAAC5vr9-tk710.gif)
2007 WIN-mailserver 192.168.4.11
![](http://s3.51cto.com/wyfs02/M00/77/35/wKiom1ZlPybhFpFLAAAC5vr9-tk214.gif)
2010 WIN-mailserver 192.168.4.12
![](http://s3.51cto.com/wyfs02/M01/77/35/wKiom1ZlPyajpHxAAAACijw_ZpY156.gif)
需求描述
![](http://s3.51cto.com/wyfs02/M02/77/35/wKiom1ZlPyegQ4XkAAAC5vr9-tk680.gif)
公司现在新购置了一台服务器,希望将Exchange Server 2007迁移到这台新服务器上,并升级至Exchange Server 2010。要确保平滑迁移,原有的脱机通讯簿、用户邮箱等信息不能丢失
![](http://s3.51cto.com/wyfs02/M00/77/35/wKiom1ZlPyjhDUZKAAACijw_ZpY723.gif)
实验思路
![](http://s3.51cto.com/wyfs02/M02/77/35/wKiom1ZlPyniY_oNAAAC5vr9-tk418.gif)
搭建共存环境。
![](http://s3.51cto.com/wyfs02/M01/77/35/wKiom1ZlPynjEgmOAAAC5vr9-tk439.gif)
迁移脱机通讯簿。
![](http://s3.51cto.com/wyfs02/M02/77/35/wKiom1ZlPyrD-NU0AAAC5vr9-tk692.gif)
更改发送连接器。
![](http://s3.51cto.com/wyfs02/M00/77/35/wKiom1ZlPyrhcAPTAAAC5vr9-tk704.gif)
迁移用户邮箱。
![](http://s3.51cto.com/wyfs02/M01/77/35/wKiom1ZlPyqxYy-7AAAC5vr9-tk140.gif)
卸载Exchange Server 2007。
![](http://s3.51cto.com/wyfs02/M02/77/35/wKiom1ZlPyvS9aJ5AAAC5vr9-tk256.gif)
验证
首先我们一定要确保2007 和2010 Exchange 相关的服务一定要是启动状态
![](http://s3.51cto.com/wyfs02/M00/77/34/wKioL1ZlP5yCVVmOAABiMQKHdwk011.jpg)
图1
2007的服务状态
![](http://s3.51cto.com/wyfs02/M01/77/35/wKiom1ZlPzGT_Cd8AABwiBde43Y508.jpg)
图2
2010 的服务
首先我们现在2007 上创建三个用户,用于测试,用户的名字张三、李四、王五
![](http://s3.51cto.com/wyfs02/M02/77/35/wKiom1ZlPzLyhtu-AAAzzMtOnwA411.jpg)
图3
用户已经创建好了
使用张三给王五发送一封邮件王五能够收到
这个测试不演示
已经成功了
现在我们的所有操作都是在2010 上进行操作
现在我们开始正式迁移
第一步迁移脱机通讯簿
![](http://s3.51cto.com/wyfs02/M00/77/35/wKiom1ZlPzTAJiboAAA3gp8icdk703.jpg)
图4
没有迁移之前的脱机通讯簿在2007 上
对脱机通讯簿右键迁移
![](http://s3.51cto.com/wyfs02/M01/77/35/wKiom1ZlPzWBnlsmAAAsAIo7Adc360.jpg)
图5
现在迁移脱机通信部到 2010上
![](http://s3.51cto.com/wyfs02/M00/77/34/wKioL1ZlP6XRiyvuAAA14zlE7Sg304.jpg)
图6
迁移之后的脱机通讯簿,已经在2010上了
脱机通讯簿迁移完成了
开始迁移发送连接器
![](http://s3.51cto.com/wyfs02/M01/77/34/wKioL1ZlP6fhEYVxAAA-OUYlOKQ592.jpg)
图7
找到组织配置的集线器传输,找到发送连接器,右键属性找到原服务器
现在可以看见是在2007 上存在的,现在我们将他迁移到2010
将旧的删除,如山图所示
再点击添加
![](http://s3.51cto.com/wyfs02/M00/77/34/wKioL1ZlP6jSxYiaAAAs8u5kTyw186.jpg)
图8
添加2010的服务器
![](http://s3.51cto.com/wyfs02/M01/77/34/wKioL1ZlP6ngPFDUAAA0OuJrnlk185.jpg)
图9
迁移之后的原服务器就变成了2010
接下来我们迁移邮箱
ps:一般情况下接收连接器是2010默认就存在的,所以我们这里不去修改,但是如果想要收发互联网邮件则需要将 default server name 启用匿名
![](http://s3.51cto.com/wyfs02/M00/77/35/wKiom1ZlPzygAKtCAAA-BFZGuF0435.jpg)
图10
找到要迁移的用户ctrl+鼠标左键选中,右边会出现一个名字为新建本地迁移的选项卡
ps:如果有多个用户建议一次迁移50 ― 100 个用户
![](http://s3.51cto.com/wyfs02/M02/77/34/wKioL1ZlP62Bh_n0AAA4t4X3e-A374.jpg)
图11
选择移动到的目标数据库,2010的数据库后面都会有数据库随即ID
![](http://s3.51cto.com/wyfs02/M00/77/34/wKioL1ZlP67D2cjBAAAnoUjI0xU479.jpg)
图12
这里选择跳过邮箱,点击下一步
之后就点击新建就可以了
![](http://s3.51cto.com/wyfs02/M01/77/36/wKiom1ZlP0GDqQupAAA8zApmors987.jpg)
图13
已经迁移完成了,我们可以本地迁移看一下
![](http://s3.51cto.com/wyfs02/M02/77/36/wKiom1ZlP0OTKKWQAAAuEEO249E792.jpg)
图14
全部完成了
在实际生产环境下应该会很慢的
其实现在我们就迁移完成了
ps:在实际生产环境下,我们需要在2010上创建与2007 相同数量的数据库,并且名字最好相同
而且存储需要比2007 更大
现在我们将2007 卸载
在2007 的EMC中找到服务器配置―邮箱
![](http://s3.51cto.com/wyfs02/M02/77/36/wKiom1ZlP0Tj0A5JAAA7oFea3AE035.jpg)
图15
找到默认的数据库(删除所有邮箱否则不能卸载)卸载掉
![](http://s3.51cto.com/wyfs02/M00/77/34/wKioL1ZlP7Xwsf1iAAA-LkZsKJs077.jpg)
图16
卸载完成之后才能删除(注意如果数据库中存在邮箱则无法完成删除)
现在卸载删除公共文件夹数据库
PS:公用文件夹数据库是无法进行常规删除的我们需要借助一个工具
插入2003的安装光盘
![](http://s3.51cto.com/wyfs02/M01/77/36/wKiom1ZlP0jSbmTqAAAxr6NJe34183.jpg)
图17
找到这个工具,双击运行
![](http://s3.51cto.com/wyfs02/M01/77/34/wKioL1ZlP7eBJdz-AAAsLf0XMaA002.jpg)
图18
这里没有问题,直接运行程序即可,因为这里是2008r2 工具却是2003的所以可能会出现一些问题,但是做今天的实验一点问题都没有
![](http://s3.51cto.com/wyfs02/M02/77/36/wKiom1ZlP0vyLOmTAABBTkuH9RI750.jpg)
图19
下一步
![](http://s3.51cto.com/wyfs02/M01/77/36/wKiom1ZlP03wfEv_AABR6Y-ZJVk271.jpg)
图20
我同意,下一步
![](http://s3.51cto.com/wyfs02/M02/77/36/wKiom1ZlP1ChchQdAAAuPHVn8HI611.jpg)
图21
随便输入,下一步
![](http://s3.51cto.com/wyfs02/M00/77/36/wKiom1ZlP1LSTyjZAABEZZK3ilM701.jpg)
图22
默认安装就可以了
完成就可以了
![](http://s3.51cto.com/wyfs02/M02/77/34/wKioL1ZlP8KxFG--AAAsQaW-wb4890.jpg)
图23
输入上图的控制台命令
![](http://s3.51cto.com/wyfs02/M01/77/36/wKiom1ZlP1WxySavAABRaEtPOBU311.jpg)
图24
连接到配置
![](http://s3.51cto.com/wyfs02/M02/77/36/wKiom1ZlP1uyK77-AAAy9aqMbqM475.jpg)
图25
找到这个路径,删除CN=public Folder Datadase 这个目录
![](http://s3.51cto.com/wyfs02/M00/77/36/wKiom1ZlP1-B_c5UAAAxkGoqayI994.jpg)
图26
我们可以看到公用文件夹的数据库已经不存在了
现在我们开始卸载Exchange server 2007
找到控制面版――卸载程序――右键卸载就可以了
![](http://s3.51cto.com/wyfs02/M02/77/34/wKioL1ZlP9CTnfxLAAA86q5I0Io170.jpg)
图27
将有勾的全部去掉
![](http://s3.51cto.com/wyfs02/M02/77/36/wKiom1ZlP2Sj0NoqAAA0_TwMB9A984.jpg)
图28
检查卸载的先决条件,其实就是检查数据库中还有邮箱吗,如果是卸载不掉的
![](http://s3.51cto.com/wyfs02/M02/77/34/wKioL1ZlP9ajQbMYAAA1Zct1mBU340.jpg)
图29
没有任何问题
![](http://s3.51cto.com/wyfs02/M00/77/34/wKioL1ZlP9nB-Mb_AAAzLOuKRsI359.jpg)
图30
开始卸载了
现在我们等路2010 测试一下邮箱还能不能发送
还是存在的,能够正常工作
今天的实验就到这里 如果有哪些地方看不懂 可以联系我的QQ会有专业的人员为您解答
相关文章推荐
- 用C++解决数学类问题的练习
- 补间动画的实现
- HDU 1505 City Game(DP求二维最大子矩阵)
- atoi 和itoa用法
- Gson在不知道对象结构的情况下遍历各个字段
- IE 下加载jQuery
- 如何洞悉隐性需求
- WPF限制TextBox只能输入数字
- hadoop2.X中各个http端口的配置
- 释放某个文件的cache
- 第15周项目1——验证算法
- 第15周—项目1 哈希表及其运算的实现
- 4个 Linux 服务器监控工具
- 工作流学习(一)
- Android 基础:SQLiteOpenHelper(SQLite的CURD)
- 面向对象的JDBC
- 如何用github/gitlab做代码review
- java.io.IOException: tmpFile.renameTo(classFile) failed
- ECMAScript 原始类型
- swift学习之UIButton