我正在尝试从位于slicehost(两个不同的托管公司)的服务器中的PHP脚本连接到dreamhost的
mysql服务器.
我需要这样做,所以我可以在slicehost将新数据传输到dreamhost.使用转储不是一种选择,因为表结构不同,我只需要传输一小部分数据(每日100-200条记录)
问题是我在slicehost使用新的 MySQL密码哈希方法,而dreamhost使用旧的方法,所以我得到
原文链接:https://www.f2er.com/php/138077.html我需要这样做,所以我可以在slicehost将新数据传输到dreamhost.使用转储不是一种选择,因为表结构不同,我只需要传输一小部分数据(每日100-200条记录)
问题是我在slicehost使用新的 MySQL密码哈希方法,而dreamhost使用旧的方法,所以我得到
$link = MysqL_connect($MysqLHost,$MysqLUser,$MysqLPass,FALSE); Warning: MysqL_connect() [function.MysqL-connect]: OK packet 6 bytes shorter than expected Warning: MysqL_connect() [function.MysqL-connect]: MysqLnd cannot connect to MysqL 4.1+ using old authentication Warning: MysqL_query() [function.MysqL-query]: Access denied for user 'nodari'@'localhost' (using password: NO)
事实:
>我需要在slicehost继续使用新方法,我不能使用较旧的PHP版本/库
>数据库太大,无法每天使用转储进行传输
>即使我这样做,表格也有不同的结构
>我需要每天只复制一小部分(仅当天的变化,100-200条记录)
>由于表格如此不同,我需要使用PHP作为规范化数据的桥梁
>已经用谷歌搜索了它
>已经与两位支持人员进行了交谈
对我来说更明显的选择是在dreamhost上开始使用新的MysqL密码哈希方法,但它们不会改变它,我不是root,所以我不能自己做.
任何疯狂的想法?
通过VolkerK消化:
MysqL> SET SESSION old_passwords=0; Query OK,0 rows affected (0.01 sec) MysqL> SELECT @@global.old_passwords,@@session.old_passwords,Length(PASSWORD('abc')); +------------------------+-------------------------+-------------------------+ | @@global.old_passwords | @@session.old_passwords | Length(PASSWORD('abc')) | +------------------------+-------------------------+-------------------------+ | 1 | 0 | 41 | +------------------------+-------------------------+-------------------------+ 1 row in set (0.00 sec)
显而易见的事情就是运行一个
MysqL的> SET GLOBAL old_passwords = 0;
但我需要SUPER特权这样做,他们不会给我
如果我运行查询
SET PASSWORD FOR 'nodari'@'HOSTNAME' = PASSWORD('new password');
我收到了错误
ERROR 1044 (42000): Access denied for user 'nodari'@'67.205.0.0/255.255.192.0' to database 'MysqL'
我不是根…
dreamhost支持的人坚持说问题就在我的最后.但他说他会运行我告诉他的任何查询,因为它是私人服务器.
所以,我需要告诉这个人确切地说要运行什么.
所以,告诉他跑
SET SESSION old_passwords=0; SET GLOBAL old_passwords=0; SET PASSWORD FOR 'nodari'@'HOSTNAME' = PASSWORD('new password'); grant all privileges on *.* to nodari@HOSTNAME identified by 'new password';
会是一个好的开始吗?