Я пытался подключиться к удаленной БД, размещенной в другом месте, а не на моем компьютере в качестве локального хоста, но всякий раз, когда я это делаю (используя тот же пароль, хост и т. Д., Что и на реальном сервере), я получаю следующие ошибки:
Warning: mysql_connect() [function.mysql-connect]: Premature end of data
(mysqlnd_wireprotocol.c:553) in C:\xampp\htdocs\Test\auth.php on line 12
Warning: mysql_connect() [function.mysql-connect]: OK packet 1 bytes shorter
than expected in C:\xampp\htdocs\Test\auth.php on line 12
Warning: mysql_connect() [function.mysql-connect]: mysqlnd cannot connect to
MySQL 4.1+ using the old insecure authentication. Please use an
administration tool to reset your password with the
command SET PASSWORD = PASSWORD('your_existing_password').
Это сохранит новое и более безопасное хеш-значение в mysql.user. Если
этот пользователь используется в других скриптах, выполняемых PHP 5.2 или более ранней версии
может потребоваться удалить флаг старых паролей из файла my.cnf в
C: \ xampp \ htdocs \ Test \ auth.php в строке 12
Could not connect to host:mysqlnd cannot connect to MySQL 4.1+ using the
old insecure authentication. Please use an administration tool to reset your
password with the command SET PASSWORD = PASSWORD('your_existing_password').
This will store a new, and more secure, hash value in mysql.user.
If this user is used in other scripts executed by PHP 5.2 or
earlier you might need to remove the old-passwords flag from your my.cnf file
Что я делаю не так?
Редактировать: Я все еще не могу получить его, я попытался обновить xampp.
Редактировать:
SELECT Length( PASSWORD( 'xyz' ) )
Это вернуло 41 на моем локальном хосте и 16 на сервере, поэтому я добавил old_passwords = 1 в my.cnf, перезапустил mysql, так что теперь они оба равны 16. Те же ошибки по-прежнему.
Редактировать: Все еще не понимая, это работает для других людей, но не для меня ...
Редактировать: Попробовал погуглить, попробовал несколько исправлений; никто не работал.