安装环境:
ODBC 32位,5.3unicode
Serv-U Windows-v15.1.2
MySql 5.7.21(WAMP安装)
操作系统 Windows 10 / Windows Server 2008
1
2
3
4
ODBC介绍:
开放数据库连接(Open Database Connectivity,ODBC)是为解决异构数据库间的数据共享而产生的,现已成为WOSA(The Windows Open System Architecture ),Windows开放系统体系结构)的主要部分和基于Windows环境的一种数据库访问接口标准ODBC 为异构数据库访问提供统一接口,允许应用程序以SQL 为数据存取标准,存取不同DBMS管理的数据;官网下载:http://dev.mysql.com/downloads/connector/odbc/
MySql安装:
这里使用的是WampServer来安装Apache+MySql+PHP,本教程只使用到MySql。
安装教程:https://jingyan.baidu.com/article/4b52d702cb7792fc5c774bed.html
官网下载:http://www.wampserver.com/
ODBC安装:
ODBC的安装还是比较简单的,一直Next就行,如果安装过程中报错的话可以看下本文档最下边的常见错误处理。
ODBC配置:
ODBC安装完毕后,打开“控制面板“->”管理工具“->”ODBC数据源”
这里使用的是32位操作系统,如果是64位的就使用64的ODBC。在ODBC数据源的弹出界面中点击“系统DSN“->”添加“,选择“Mysql ODBC 5.3 Unicode Driver ”
在弹出的窗口我们填写相关信息,如下图所示:
Data Source Name”填写完毕后一定要记住,因为这个我们在后边还要使用,在这我们填写的是Serv-u。而“TCP/IP Server”填写的是Mysql数据库所在的服务器,现Sern-U与Msql数据库在同一台服务器上,所以我们填写的是127.0.0.1。“User”填写的数据库用户,在此我们填写的是root用户。当然你也可以填写Mysql数据库的其他用户。“Database”是选择对应的数据库。
Serv-u配置:
在域的配置里边选择数据库一项,然后填上刚刚在ODBC数据源配置的数据源名称Serv-U,再填上数据库的登陆id和登陆密码,如下图所示:
此时,数据库用户一处就可以添加新用户了,而且对应的usipb数据库也自动添加了一些新的表,表的内容比较多,用于存储用户信息的是suusers。
这个时候PHP就可以通过添加数据库信息来添加Serv-U用户了。
通过数据库添加FTP用户:
添加数据库用户用到两个表:suusers和userdiraccess
Suusers表中记录的内容主要是用户信息,如下图
Suusers表的字段很多,但我们只用到其中几个而已。
/*********************************创建FTP用户*******************************/
$member_ftp = array(
'StatisticsStartTime' => strtotime('now'),
'RtServerStartTime' => strtotime('now'),
'RtDailyCount' => '0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0',
'LoginID' => $member_data['student_ID'],
'PasswordChangedOn' => strtotime('now'),
'PasswordEncryptMode' => '1',
'PasswordUTF8' => '1',
'Password' => "qm".strtoupper(md5("qm".$member_data['ftp_password'])),
'FullName' => $member_data['name'],
'AllowWebClientPro' => '1',
'HomeDir' => 'C:\\2511FTP\实验室成员文件目录\\'.$member_data['major_class'].' '.$member_data['name'],
'IncludeRespCodesInMsgFiles' => '1',
//'ODBCVersion' => '3',
'Quota' => '0'
);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Userdiraccess表中记录的内容主要是目录访问权限,如下图
这个表中我们只需要写四个字段就行
/*配置目录访问权限*/
$member_diraccess = array(
'LoginID' => $member_ftp['LoginID'],
'SortIndex' => '1',
'Dir' => $member_ftp['HomeDir'],
'Access' => '7967',
'MaxSize' => null,
'NTUser' => null,
'NTPassword' => null,
'NTDomain' => null,
);
1
2
3
4
5
6
7
8
9
10
11
然后将配置好的数据写入Mysql,下例是CI框架的数据库写操作。
/*FTP数据库写入*/
$member_ftpbase = $this->db->insert('suusers', $member_ftp);
$member_diraccessbase = $this->db->insert('userdiraccess', $member_diraccess);
if (!is_bool($member_ftpbase) || !is_bool($member_diraccessbase)){
echo '成员FTP添加失败!<br>';
var_dump($member_ftpbase);
return;
}
else if(($member_ftpbase != 'trun') || ($member_diraccessbase != 'trun')){
echo '成员FTP添加失败!';
return;
}
1
2
3
4
5
6
7
8
9
10
11
12
常见问题:
一、在Server2008上面安装MySQL ODBC 5.3,安装过程中出现如下错误
Error 1918.Error installing ODBC driver Mysql ODBC 5.3 ANSI Driver,ODBC error 13: 不能加载安装或转换器。Verify that the file MySQL ODBC 5.3 ANSI Driver exists and that you can accessit
解决方法:下载安装Microsoft Visual C++2010和Microsoft Visual C++2013即可
二、点击系统DSN时候提示您使用非管理权限登陆,无法创建和修改系统DSN
解决方法:开始----运行,输入:Control Userpasswords2
如果只有一个Administrator用户的话就添加一个新的管理员用户,如果已经存在有其他用户的画就选择该用户后点击属性,在组成员里边查看该用户是否是管理员用户。
三、数据库用户的中文路径是乱码。
解决方法:该问题是由数据库的suusers表里边的HomeDir字段的字符集类型错误引起的。只需要把该字段修改为utf8字符集即可。同样,如果是数据库用户的其他地方也出现中文乱码的话也是这个修改方法。
四、设置了数据库用户后Serv-U有时候无法进入控制台
当Serv-U关联到数据库后,在启动Serv-U之前需要将数据库软件启动。
MySQL入门技能树数据库组成表86705 人正在系统学习中
来自 https://blog.csdn.net/u014279306/article/details/83833847
用户表 只有 SUUsers . UserGroupName. UserDirAccess. UserVirtualPath 这几个关键,其余的表可以不管他。 用户组级别 的表 ,也只需要 弄一弄 :SUGroups 、GroupDirAccess、GroupVirtualPath 这3个表,其它的都可不管。
INSERT INTO dbo.SUUsers (LoginID, PasswordChangedOn, PasswordEncryptMode, PasswordUTF8, Password, FullName, AdminType, AlwaysAllowLogin, HomeDir, ODBCVersion, Quota, Description)
VALUES (@tmp_log_id, @passchangon, @encpassmode, @passutf8, @pass, @tmp_fullname, @admtype, @allowlog, @homedr, @odbcver, @quota, 'AUTO_GENERATED');
Serv-u Mysql数据库用户
Serv-u 关联Mysql数据库用户需要用到ODBC数据源,windows不自带支持MySQL。所以要网上下载自己安装
官网下载地址:http://dev.mysql.com/downloads/connector/odbc/
Sohu.com Open Source Mirror Site:http://mirrors.sohu.com/mysql/Connector-ODBC/5.3/?qq-pf-to=pcqq.c2c
选择好自己的系统下就可以了
我的环境
ODBC 64位 5.3 unicode
Srv-u Windows-v15.1.2
Mysql Mysql57
Windows 10
在Server2003上面安装MySQL ODBC 5.3,安装过程中出现如下错误
Error 1918.Error installing ODBC driver Mysql ODBC 5.3 ANSI Driver,ODBC error 13: 不能加载安装或转换器。Verify that the file MySQL ODBC 5.3 ANSI Driver exists and that you can accessit
解决方法:下载安装Microsoft Visual C++ 即可
使用以下配置
ODBC:mysql-connector-odbc-5.1.13
Microsoft Visual C++ :C++ 2010 Redistributable Package
官方下载链接地址:
https://www.microsoft.com/en-gb/search/result.aspx?q=Microsoft+Visual+C%2B%2B&form=MSHOME
一、安装
Mysql,ODBC安装网上大把的资料,这里不做介绍
Mysql参考:http://jingyan.baidu.com/article/f79b7cb35c0f439144023e38.html
ODBC参考:http://jingyan.baidu.com/article/8065f87f38b31423312498e4.html
二、配置
1、ODBC配置
ODBC安装完毕后,我们可以“控制面板”—“管理工具”—“设置ODBC数据源”
64位的操作系统,这里我选择64进行设置。在弹出的界面可以看到“系统DSN”—“添加”,如下图:
选择“Mysql ODBC 5.3 Unicode Driver ”,如下图:
在弹出的窗口我们填写相关信息,如下图示:
Data Source Name”填写完毕后一定要记住,因为这个我们在后边还要使用,在这我们填写的是Srv-u。而“TCP/IP Server”填写的是Msql数据库所在的服务器,现在Server-U FTP与Msql数据库在同一台服务器上,所以我们填写的是127.0.0.1。“User”填写的数据库用户,在此我们填写的是root用户。当然你也可以填写Mysql数据库的其他用户。“Database”是选择相应的数据。
以上填写完毕后,我们点击完成即可。最后的界面如下图示:
ODBC配置完毕后,我们也可以通过odbc.ini这个文件来查看相关信息,如下图:
2、Serv-u配置
其中“数据源名称”要与ODBC的配置信息要相同,都是Srv-u。而“数据库登录ID”和“数据库密码”也要和ODBC的配置信息相同。
这些填写完毕后,相应的选项要选中。然后点击“保存”。设置完毕后,最好要重启Server-U服务。(有的时候会报错)
重启完毕后,我们现在可以使用mysql客户端连接数据库看看,如下图:
根据上图,可以很明显的看出Server-U FTP已经在Srv-u这个数据库中已经成功创建相关的表。
现在我们来添加新的用户,“用户”—“创建、修改和删除存储在数据库中的用户账户”,如下图示:
如何添加看上一篇文档进行配置,用户添加完毕后的界面如下,如下图:
现在我们使用该用户登录FTP,看看实际的效果,如下图:
通过上图我们可以很明显的看到,Test5这个用户已经成功登录FTP。那也就说明Server-U FTP集成成功。
现在我们再来看看Mysql数据库的相关情况,执行如下SQL语句:
select LoginID,HomeDir from suusers;
其中表suusers是用来存储FTP账号的相关信息,字段LoginID用来存储用户FTP账号,而字段HomeDir用来存储用户的主目录。如下图示:
至此Server-U FTP与mysql数据库集成完成。当然我们也可以把Server-U FTP与MSSQL、Oracle进行集成。
来自 https://www.cnblogs.com/YatHo/p/6104727.html