Нормално е, ако кажете "достъп до DB чрез mysql -u root -p
работи добре" имате предвид, че го изпълнявате, докато сте системен root (или под sudo
). Не би трябвало да можете да го правите като обикновен потребител.
Пакетите, генерирани от Ubuntu по подразбиране, имат unix_socket удостоверяване за локалния корен. За да проверите, стартирайте
SELECT user, host, plugin FROM mysql.user;
Трябва да видите unix_socket
в plugin
колона за [email protected]
.
Ако вместо това искате да използвате удостоверяване с парола, стартирайте
UPDATE mysql.user SET plugin = '' WHERE plugin = 'unix_socket';
FLUSH PRIVILEGES;