Используйте размер файла в качестве имени файла, как?

Причина в том, что недавняя установка Ubuntu (может быть, и другие), mysql использует по умолчанию плагин UNIX auth_socket .

В основном означает, что: db_users, используя его , будет «auth» с помощью системных пользовательских credentias. Вы можете увидеть, настроен ли ваш пользователь root следующим образом:

$ sudo mysql -u root # I had to use "sudo" since is new installation

mysql> USE mysql;
mysql> SELECT User, Host, plugin FROM mysql.user;

+------------------+-----------------------+
| User             | plugin                |
+------------------+-----------------------+
| root             | auth_socket           |
| mysql.sys        | mysql_native_password |
| debian-sys-maint | mysql_native_password |
+------------------+-----------------------+

Как вы можете видеть в запрос, пользователь root использует плагин auth_socket

. Есть два способа решить эту проблему:

  1. Вы можете настроить пользователя root на использование кнопки mysql_native_password плагин
  2. Вы можете создать новый db_user с вами system_user (рекомендуется)

Вариант 1:

$ sudo mysql -u root # I had to use "sudo" since is new installation

mysql> USE mysql;
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;

$ service mysql restart

Вариант 2: (замените YOUR_SYSTEM_USER своим именем пользователя)

$ sudo mysql -u root # I had to use "sudo" since is new installation

mysql> USE mysql;
mysql> CREATE USER 'YOUR_SYSTEM_USER'@'localhost' IDENTIFIED BY '';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'YOUR_SYSTEM_USER'@'localhost';
mysql> UPDATE user SET plugin='auth_socket' WHERE User='YOUR_SYSTEM_USER';
mysql> FLUSH PRIVILEGES;
mysql> exit;

$ service mysql restart

Помните, что если вы используете опцию № 2, вам нужно будет подключиться к mysql в качестве имени вашей системы (mysql -u YOUR_SYSTEM_USER)

Примечание. В некоторых системах (например, Debian stretch) плагин auth_socket называется 'unix_socket' , поэтому соответствующая команда SQL должна быть: UPDATE user SET plugin='unix_socket' WHERE User='YOUR_SYSTEM_USER';

0
задан Michael S. 29 March 2019 в 12:33
поделиться