MySQL

Fatal error: Maximum execution time of 60 seconds exceeded in...

Instalując Drupal na pendrive w celach treningowych bądź jako przenośne środowisko pracy możemy (szczególnie przy wolniejszych pamięciach) napotkać na błędy związane z timeout uniemożliwiające instalację Drupala.

Komunikat błędu: 
Fatal error: Maximum execution time of 60 seconds exceeded in ..xampplitehtdocsdrupal7includesregistry.inc on line 144 ścieżka dostępu, plik i linia będą zapewne inne ale opis błędu będzie podobny Może się zdarzyć jeszcze komunikat: MySQL :: Timeout Error
Możliwe przyczyny: 

Wolna pamięć
Dużo zainstalowanych modułów
Import jakiegoś dużego pliku (np. z tłumaczeniem)
Zbyt rygorystyczne limity czasowe w pliku ..xampplitephpphp.ini

Rozwiązanie: 

1. Zatrzymujemy serwer MySQL i XAMPP.
2. Znajdujemy plik konfiguracyjny PHP, np. ..xampplitephpphp.ini ale spotyka się inne lokalizacje
3. Wykonujemy kopię pliku php.ini
4. Edytujemy w pliku wartości zmiennych : max_execution_time = XX (XX wartość liczbowa podawana w sekundach) najczęściej wystarczy wyedytować tylko tę wartość.
W przypadku gdy komunikat wskazuje na MySQL należy jeszcze w tym samym pliku php.ini wyedytować wartość zmiennej mysql.connect_timeout = XX
5. Uruchamiamy serwer XAMPP i MySQL.
6. Możemy wznowić instalację Drupala.

hasło do konta root w mysql w XAMPP - co zrobić jeśli go zapomnimy

Podczas zabaw z mysql można przez przypadek utracić dostęp do konta root. Jeśli mamy zwykły serwer mysql możemy wykorzystać kilka sposobów opisanych choćby na oficjanej dokumentacji mysql. Jednak z pakietem XAMPP ten sposób nie działa.

Komunikat błędu: 
odmowa dostępu
Możliwe przyczyny: 

konto root z nieznanym hasłem

Rozwiązanie: 
  1. Zatrzymujemy serwer mySQL,
  2. Znajdujemy na dysku miejsce z plikami obecnej (uszkodzonej) instalacji mysql - np. w c:xampplitemysqldatamysql
  3. Wykonujemy kopię plików user.frm, user.MYI, user.MYD,
  4. Instalujemy gdzieś obok (np. w c:xampp2) xampp lite w tej samej wersji (wazne aby wersja mysql się zgadzała)
  5. Odszukujemy pliki user.frm, user.MYI, user.MYD w c:xampp2mysqldatamysql i kopiujemy do c:xampplitemysqldatamysql
  6. Odpalamy mySQL
  7. Cieszymy się pustym hasłem root

Rozwiązanie alternatywne

(z bloga http://www.trajewski.net/?p=57)

1) w konsoli ssh zatrzymujemy usługę serwera baz danych

/etc/init.d/mysql stop

2)uruchamiamy ją na nowo w trybie safe mode

mysqld_safe --skip-grant-tables &

3) po wykonaniu powyższych czynności, z konsoli logujemy się do serwera baz danych jako root

mysql -u root

4) w konsoli mysql’a ustawiamy nowe hasło dla roota i przeładowujemy dla niego uprawnienia

mysql> use mysql;
mysql> update user set password=PASSWORD("new-password") where user='root';
mysql> flush privileges;
mysql> quit;

5) na koniec – restart usługi serwera baz danych MySQL

/etc/init.d/mysql restart

Subskrybuje zawartość