Mysql
 sql >> база данни >  >> RDS >> Mysql

Влезте в MySQL акаунт с unix_socket

За да се свържете с отдалечен MySQL сървър, било то директно или през SSH тунел, не можете да използвате unix_socket плъгин за удостоверяване, който изисква локален достъп до unix сокет файла на операционната система DB Server.

unix_socket плъгинът се реализира с помощта на специален тип файл (unix сокет), който е форма на междупроцесна комуникация (IPC) в *nix системи. Той позволява на вашия mysql CLI клиент да говори с DB и изисква локален достъп до сокет файла (т.е.:/tmp/mysql.sock ). Когато се свържете към гнездото, unix_socket плъгинът (от страна на сървъра) ще получи uid на потребителя, свързан към сокета (т.е. вашия потребител) и автоматично ще ви удостовери, без да е необходима парола.

Възможни решения:

Ако се свържете с машина B с не-root потребител, трябва да създадете потребител на DB със същото име като името на потребителския акаунт на вашата не-root операционна система.

GRANT ALL PRIVILEGES ON *.* TO 'youruser'@'localhost' IDENTIFIED VIA unix_socket;

Сега можете да се свържете с mysql, като използвате вашия потребителски акаунт и mysql CLI клиента, като просто изпълните:

youruser:~$ mysql

Ако искате да се свържете с базата данни с root потребител, тогава имате нужда или от достъп до root акаунта, или от sudo политика, свързана с вашия потребител, за да стартирате mysql клиента.

youruser:~$ sudo mysql

Очевидно можете да активирате редовен удостоверен мрежов достъп до вашия DB root акаунт. Това може да доведе до проблеми със сигурността, така че е по-добре да го ограничите до localhost:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' IDENTIFIED BY 'xxx' WITH GRANT OPTION;

Сега можете да влезете от всеки акаунт на локална операционна система, ако можете да удостоверите вашето влизане:

youruser:~$ mysql -u root -p



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Съхраняване на дати в Hibernate като UTC времеви дати?

  2. Как да получите най-новите 2 артикула на категория в един избор (с mysql)

  3. връзката за изтриване не изтрива нито един запис в базата данни на mysql

  4. PHP попълва данните от базата данни, когато е избран District

  5. Много състояния на края на заявката в MySQL, всички връзки се използват за броени минути