sql >> Databáze >  >> RDS >> Mysql

Vzdálené připojení mySQL se nemůže připojit k MySQL 4.1+ pomocí staré chyby nezabezpečeného ověřování z XAMPP

Není mi opravdu jasné, proč se to stalo problémem v mé instalaci XAMPP, protože také spouštím PHP 5.3.x na místním boxu serveru a tam jsem tyto problémy nezaznamenal. Souvisí to však s mým serverem mySQL běžícím v režimu šifrování "staré heslo". Novější verze PHP tyto druhy připojení neumožňují, takže musíte aktualizovat svůj server mySQL, aby používal novější šifrování hesel. Zde jsou kroky, za předpokladu, že máte kontrolu nad serverem mySQL. Pokud ne, nespadá to do rozsahu mých znalostí.

  1. vyhledejte konfigurační soubor pro server mysql s názvem my.cnf . Našel jsem svůj na /etc/my.cnf . Můžete jej upravit pomocí sudo nano /etc/my.cnf

  2. Hledejte řádek, který říká old_passwords=1 a změňte to na old_passwords=0 . Nyní jste serveru řekli, že až bude příště spuštěn a bude požádán o zašifrování hesla pomocí příkazu PASSWORD(), použije nové 41znakové šifrování namísto 16znakového „starého“ šifrování

  3. Nyní musíte restartovat svůj mysql server / službu. YMMV, ale na Fedoře to šlo snadno pomocí sudo service mysqld restart . Zkontrolujte pokyny svého operačního systému pro restartování démona nebo služby mysql

  4. Nyní musíme skutečně upravit našeho user tabulka v mysql. Otevřete tedy interaktivní shell pro mysql (na serveru můžete zadat mysql -uYourRootUsername -pYourRootPassword )

  5. Změňte na mysql databáze. Toto je databáze, která obsahuje všechny dobré věci pro provoz serveru a ověřování. Pro práci s touto databází musíte mít přístup root. Pokud dostanete 'přístup odepřen', jste SOL. Promiňte. use mysql; přepne na tuto databázi

  6. Nyní chceme aktualizovat uživatele, který vám způsoboval smutek. Nakonec budete pravděpodobně chtít aktualizovat všechny své uživatele, ale nyní se zaměřujeme pouze na uživatele, který vyvolal chybu. update user set Password=password('YOUR_PASSWORD') where User='YOUR_USERNAME';

  7. Nyní stačí říci mysql, aby použil nové heslo pro ověření, když se tento uživatel pokusí připojit. flush privileges; .

Měli byste být připraveni jít!




  1. Jak přidat podmíněný jedinečný index na PostgreSQL

  2. Kontrola hodnoty v poli uvnitř jednoho SQL dotazu s klauzulí WHERE

  3. Jak nasadit databázi Chamilo MySQL pro vysokou dostupnost

  4. MySQL a Java - Získejte ID poslední vložené hodnoty (JDBC)