完整记录使用NavicatPremium管理SAE共享Mysql数据库的全过程。它借鉴了互联网上的许多文章,包括流水甜心博客和SAE新浪博客。SAE的Mysql数据库默认由phpMyAdmin管理。截至本文撰写之时,SAE的phpMyAdmin还停留在3.3.81版本,体验比较差。每次都需要登录SAE控制台,输入安全密码才能进入数据库管理。有点难。SAE官方提供的VPN隧道可能会因为网络问题无法连接数据库,而且每次都需要使用OpenVPN登录,输入用户名和密码也是一件比较麻烦的事情。本文利用Navicat的http通道功能方便快捷的管理SAE共享Mysql数据库。本文使用的Navicat为NavicatPremium11.2.15forwindows版本。根据一般经验,可以使用NavicatPremium11.2+版本,稍微修改一下NavicatforMysql也可以使用。1、找到SAEMysql数据库的数据库名、用户名和密码,记录下来,以后用到。1、安装Navicat后,在安装根目录下找到ntunnel_mysql.php文件。安装根目录默认地址为:C:\ProgramFiles\PremiumSoft\NavicatPremium,并将ntunnel_mysql.php放在自己SAE工程的可访问目录下。我用的是ThinkPHP5.0,可访问的目录是\public,所以把这个文件放在\public\下。2、修改ntunnel_mysql.php文件内容,修改替换307-316行代码。注意$uername和$password填写的是你刚才在详情页查询到的数据库用户名和密码。(如果你使用不同版本的Navicat,代码的位置可能会有一点变化):文件中的原始代码:if($_POST["port"])$hs.=":".$_POST["port"];$conn=mysql_connect($hs,$_POST["login"],$_POST["password"]);$errno_c=mysql_errno();//if(phpversion_int()>=50203){//对于unicode数据库名称//mysql_set_charset('UTF8');//}if(($errno_c<=0)&&($_POST["db"]!="")){$res=mysql_select_db($_POST["db"],$conn);$errno_c=mysql_errno();}replacedby:$username='0a7sdfna';//这里是你自己的Mysql数据库用户名$password='hs7sdbsnsniioesdfsd33sjk9887f5dfab';//这里是你自己的Mysql数据库密码if($_POST["login"]==$username&&$_POST["password"]==$password){$hs=SAE_MYSQL_HOST_M.':'。SAE_MYSQL_PORT;$conn=mysql_connect($hs,SAE_MYSQL_USER,SAE_MYSQL_PASS);$errno_c=mysql_errno();如果(($errno_c<=0)){$res=mysql_select_db(SAE_MYSQL_DB,$conn);$errno_c=mysql_errno();}}else{EchoHeader(401);echoGetBlock("认证失败");exit();}3.修改完成后上传代码更新到SAE服务器4.新建一个NavicatMysql数据库连接。依次对“常规”、“HTTP”和“高级”选项卡进行调整。在常规选项卡中输入连接名称、主机名、端口、用户名和密码。其中主机名填写SAEMysql分布式数据库的主库地址w.rdc.sae.sina.com.cn,3306端口,用户名和密码填写数据库用户名和密码您刚刚在详细信息页面上查询的。选中HTTP选项卡中的“使用HTTP通道”,然后输入通道URL。这个网站就是你刚才上传到你SAE服务器的nutnnel_mysql.php文件的可访问地址。在Advanced选项卡中,勾选Useadvancedconnection,然后点击“Adddatabasetolist”,在详情页输入刚才查询的数据库名称。5.点击确定后,连接建立。您也可以在单击“确定”之前单击“连接测试”进行测试。如果没有问题,它会通过。然后,尽情享受吧!Tips:由于SAE的限制,部分操作无法完成。Navicat会给出相应的错误信息,提示操作的表过多。原因是您使用的是共享数据库,如果你用的是独立数据库,应该不会报错~
