Access denied for user 'debian-sys-maint' - installing phpmyadmin on mysql 5.7?

Z Podręcznik Administratora by OPZ SGU
Skocz do: nawigacja, szukaj

Podczas przywracania pełnego zrzutu mysql w Ubuntu 16.04 została zainstalowana nowsza wersja serwera co spowodowało pewne problemy:).


1) Aktualizację baz danych komendą

 mysql_upgrade -u root -p


2)

Poznajemy hasło "debian-sys-maint'"

cat /etc/mysql/debian.cnf 

Wynik

[client]
host     = localhost
user     = debian-sys-maint
password = xxxxxxxxxxxxxxxx
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host     = localhost
user     = debian-sys-maint
password = xxxxxxxxxxxxxxxx
socket   = /var/run/mysqld/mysqld.sock


xxxx to nasze hasło.


Logujemy się na serwer mysql z terminala

 mysql -u root -p

dalej

use mysql


W moim wypadku, przez to że przenosiłem ze starej wersji mysql, nie mam konta "debian-sys-maint" więc muszę je utworzyć.

INSERT INTO `mysql`.`user` (
  `Host`,
  `User`,
  `authentication_string`,
  `Select_priv`,
  `Insert_priv`,
  `Update_priv`,
  `Delete_priv`,
  `Create_priv`,
  `Drop_priv`,
  `Reload_priv`,
  `Shutdown_priv`,
  `Process_priv`,
  `File_priv`,
  `Grant_priv`,
  `References_priv`,
  `Index_priv`,
  `Alter_priv`,
  `Show_db_priv`,
  `Super_priv`,
  `Create_tmp_table_priv`,
  `Lock_tables_priv`,
  `Execute_priv`,
  `Repl_slave_priv`,
  `Repl_client_priv`,
  `Create_view_priv`,
  `Show_view_priv`,
  `Create_routine_priv`,
  `Alter_routine_priv`,
  `Create_user_priv`,
  `ssl_type`,
  `ssl_cipher`,
  `x509_issuer`,
  `x509_subject`,
  `max_questions`,
  `max_updates`,
  `max_connections`,
  `max_user_connections`
)
VALUES (
  'localhost',
  'debian-sys-maint',
  password('xxxxxxxxxxxxxxxxx'),
 'Y',
  'Y',
  'Y',
  'Y',
  'Y',
  'Y',
  'Y',
  'Y',
  'Y',
  'Y',
  'Y',
  'Y',
  'Y',
  'Y',
  'Y',
  'Y',
  'Y',
  'Y',
  'Y',
  'Y',
  'Y',
  'N',
  'N',
  'N',
  'N',
  'N',
  '',
  '',
  '',
  '',
  0,
  0,
  0,
  0
);
FLUSH PRIVILEGES;

W starszej wersji mysql nie ma pola authentication_string tylko password -> w razie błędów należy sprawdzić jakie mamy!.

Jeżeli posiadamy użyszkodnika "debian-sys-maint" to wystarczy ustawić mu hasło


update user set authentication_string=password('xxxxxxxxxx') where user='debian-sys-maint';

na koniec

FLUSH PRIVILEGES;

I restarcik mysql :>


Powinno hassać:)