
рддрд┐рдиреАрд╣рд░реВ рднрдиреНрдЫрдиреН рдХрд┐ рд╕рдмреИрднрдиреНрджрд╛ рд░рд╛рдореНрд░реЛ рдкрд╛рд╕рд╡рд░реНрдб рддреНрдпреЛ рд╣реЛ рдЬреБрди рддрдкрд╛рдИрдВрд▓реЗ рд╕рдореНрдЭрдиреБ рдкрд░реНрджреИрдиред MySQL рдХреЛ рдорд╛рдорд▓рд╛рдорд╛, рдпреЛ рдкреНрд▓рдЧрдЗрдирдХреЛ рдХрд╛рд░рдг рд╕рдореНрднрд╡ рдЫред рд░ MariaDB рдХреЛ рд▓рд╛рдЧрд┐ рдпрд╕рдХреЛ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ тАФ .
рдпреА рджреБрд╡реИ рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рдирдпрд╛рдБ рд╣реЛрдЗрдирдиреН, рдпрд╣реА рдмреНрд▓рдЧрдорд╛ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдзреЗрд░реИ рдЫрд▓рдлрд▓ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ рд▓реЗрдЦрдорд╛ рдпрджреНрдпрдкрд┐, MariaDB резреж.рек рдорд╛ рдирдпрд╛рдБ рдХреЗ рдЫ рднрдиреЗрд░ рд╣реЗрд░реНрджрд╛, рдореИрд▓реЗ рдкрддреНрддрд╛ рд▓рдЧрд╛рдПрдБ рдХрд┐ unix_socket рдЕрдм рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рд╕реНрдерд╛рдкрд┐рдд рдЫ рд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд┐рдзрд┐рд╣рд░реВ рдордзреНрдпреЗ рдПрдХ рд╣реЛ ("рдПрдХ рдордзреНрдпреЗ" рдХрд┐рдирднрдиреЗ MariaDB резреж.рек рдорд╛, рдкреНрд░рддрд┐ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рднрдиреНрджрд╛ рдмрдвреА рдкреНрд▓рдЧрдЗрдирд╣рд░реВ рдЙрдкрд▓рдмреНрдз рдЫрдиреН, рдХрд╛рдЧрдЬрд╛рддрдорд╛ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдЧрд░рд┐рдП рдЕрдиреБрд╕рд╛рд░ред ).
рдореИрд▓реЗ рднрдиреЗрдЭреИрдВ, рдпреЛ рд╕рдорд╛рдЪрд╛рд░ рд╣реЛрдЗрди, рд░ рдЬрдм рддрдкрд╛рдИрдВ рд╕рдорд░реНрдерд┐рдд рдЯреЛрд▓реА рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ MySQL рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ Debian .deb рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐, рд╕рдХреЗрдЯ рдкреНрд░рдорд╛рдгреАрдХрд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рд░реВрдЯ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдиреНрдЫред рдпреЛ MySQL рд░ MariaDB рджреБрд╡реИрдорд╛ рд▓рд╛рдЧреВ рд╣реБрдиреНрдЫред
root@app:~# apt-cache show mysql-server-5.7 | grep -i maintainers
Original-Maintainer: Debian MySQL Maintainers <pkg-mysql-maint@lists.alioth.debian.org>
Original-Maintainer: Debian MySQL Maintainers <<a href="mailto:pkg-mysql-maint@lists.alioth.debian.org">pkg-mysql-maint@lists.alioth.debian.org</a>>рдЭреЛрд▓рд╛рд╣рд░реВ рд╕рд╣рд┐рдд Debian MySQL рдХреЛ рд▓рд╛рдЧрд┐, рд░реВрдЯ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓рд╛рдИ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдкреНрд░рдорд╛рдгрд┐рдд рдЧрд░рд┐рдиреНрдЫ:
root@app:~# whoami
root=
root@app:~# mysql
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 4
Server version: 5.7.27-0ubuntu0.16.04.1 (Ubuntu)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
mysql> select user, host, plugin, authentication_string from mysql.user where user = 'root';
+------+-----------+-------------+-----------------------+
| user | host | plugin | authentication_string |
+------+-----------+-------------+-----------------------+
| root | localhost | auth_socket | |
+------+-----------+-------------+-----------------------+
1 row in set (0.01 sec)MariaDB рдХреЛ рд▓рд╛рдЧрд┐ .deb рдкреНрдпрд╛рдХреЗрдЬрдХреЛ рд▓рд╛рдЧрд┐ рдкрдирд┐ рдпрд╣реА рдХреБрд░рд╛ рд╕рддреНрдп рд╣реЛ:
10.0.38-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04
MariaDB [(none)]> show grants;
+------------------------------------------------------------------------------------------------+
| Grants for root@localhost |
+------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED VIA unix_socket WITH GRANT OPTION |
| GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION |
+------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Percona рднрдгреНрдбрд╛рд░рдмрд╛рдЯ .deb рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВрд▓реЗ auth-socket рд░ Percona рд╕рд░реНрднрд░рдХреЛ рд▓рд╛рдЧрд┐ рд░реВрдЯ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкрдирд┐ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрджрдЫред рдпрд╣рд╛рдБ рдПрдЙрдЯрд╛ рдЙрджрд╛рд╣рд░рдг рдЫ: ╨╕ Ubuntu 16.04:
root@app:~# whoami
root
root@app:~# mysql
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 9
Server version: 8.0.16-7 Percona Server (GPL), Release '7', Revision '613e312'
Copyright (c) 2009-2019 Percona LLC and/or its affiliates
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
mysql> select user, host, plugin, authentication_string from mysql.user where user ='root';
+------+-----------+-------------+-----------------------+
| user | host | plugin | authentication_string |
+------+-----------+-------------+-----------------------+
| root | localhost | auth_socket | |
+------+-----------+-------------+-----------------------+
1 row in set (0.00 sec)рддреНрдпрд╕реЛ рднрдП рдЬрд╛рджреВ рдХреЗ рд╣реЛ? рдкреНрд▓рдЧрдЗрдирд▓реЗ рдЬрд╛рдБрдЪ рдЧрд░реНрдЫ рдХрд┐ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ Linux рдХреНрд▓рд╛рдЗрдиреНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд▓рд╛рдЙрдиреЗ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рдмрд╛рд░реЗрдорд╛ рдЬрд╛рдирдХрд╛рд░реА рд╕рдЩреНрдХрд▓рди рдЧрд░реНрди SO_PEERCRED рд╕рдХреЗрдЯ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ MySQL рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╕рдБрдЧ рдореЗрд▓ рдЦрд╛рдиреНрдЫред рддреНрдпрд╕рдХрд╛рд░рдг, рдкреНрд▓рдЧрдЗрди рдХреЗрд╡рд▓ SO_PEERCRED рд╡рд┐рдХрд▓реНрдкрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрдиреЗ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рдЬрд╕реНрддреИ LinuxSO_PEERCRED рд╕рдХреЗрдЯ рд╡рд┐рдХрд▓реНрдкрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╕рдХреЗрдЯрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рдХреЛ UID рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рддреНрдпрд╕рдкрдЫрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓реЗ рддреНрдпреЛ UID рд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджрдЫред
"vagrant" рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рдЙрджрд╛рд╣рд░рдг рд▓рд┐рдФрдВ:
vagrant@mysql1:~$ whoami
vagrant
vagrant@mysql1:~$ mysql
ERROR 1698 (28000): Access denied for user 'vagrant'@'localhost'MySQL рдорд╛ "vagrant" рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдирднрдПрдХреЛрд▓реЗ, рдкрд╣реБрдБрдЪ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫред рдПрдЙрдЯрд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реМрдВ рд░ рдлреЗрд░рд┐ рдкреНрд░рдпрд╛рд╕ рдЧрд░реМрдВ:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'vagrant'@'localhost' IDENTIFIED VIA unix_socket;
Query OK, 0 rows affected (0.00 sec)
vagrant@mysql1:~$ mysql
Welcome to the MariaDB monitor. Commands end with ; or g.
Your MariaDB connection id is 45
Server version: 10.0.38-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
MariaDB [(none)]> show grants;
+---------------------------------------------------------------------------------+
| Grants for vagrant@localhost |
+---------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'vagrant'@'localhost' IDENTIFIED VIA unix_socket |
+---------------------------------------------------------------------------------+
1 row in set (0.00 sec)рднрдпреЛ!
рдЦреИрд░, рдЧреИрд░-рдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреЗ рд╣реБрдиреНрдЫ?Debian рдХреЗ рдпреЛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫреИрди? MySQL 8 рдХреЛ рд▓рд╛рдЧрд┐ Percona Server рдкреНрд░рдпрд╛рд╕ рдЧрд░реМрдВ, рдЬреБрди рдорд╛ рд╕реНрдерд╛рдкрд┐рдд рдЫ CentOS 7:
mysql> show variables like '%version%comment';
+-----------------+---------------------------------------------------+
| Variable_name | Value |
+-----------------+---------------------------------------------------+
| version_comment | Percona Server (GPL), Release 7, Revision 613e312 |
+-----------------+---------------------------------------------------+
1 row in set (0.01 sec)
mysql> CREATE USER 'percona'@'localhost' IDENTIFIED WITH auth_socket;
ERROR 1524 (HY000): Plugin 'auth_socket' is not loadedрдмрдорд░ред рдХреЗ рдЫреБрдЯреЗрдХреЛ рдЫ? рдкреНрд▓рдЧрдЗрди рд▓реЛрдб рднрдПрдХреЛ рдЫреИрди:
mysql> pager grep socket
PAGER set to 'grep socket'
mysql> show plugins;
47 rows in set (0.00 sec)рдкреНрд░рдХреНрд░рд┐рдпрд╛рдорд╛ рдПрдЙрдЯрд╛ рдкреНрд▓рдЧрдЗрди рдердкреМрдВ:
mysql> nopager
PAGER set to stdout
mysql> INSTALL PLUGIN auth_socket SONAME 'auth_socket.so';
Query OK, 0 rows affected (0.00 sec)
mysql> pager grep socket; show plugins;
PAGER set to 'grep socket'
| auth_socket | ACTIVE | AUTHENTICATION | auth_socket.so | GPL |
48 rows in set (0.00 sec)рдЕрдм рд╣рд╛рдореАрд╕рдБрдЧ рдЪрд╛рд╣рд┐рдиреЗ рд╕рдмреИ рдХреБрд░рд╛ рдЫред рдлреЗрд░рд┐ рдкреНрд░рдпрд╛рд╕ рдЧрд░реМрдВ:
mysql> CREATE USER 'percona'@'localhost' IDENTIFIED WITH auth_socket;
Query OK, 0 rows affected (0.01 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'percona'@'localhost';
Query OK, 0 rows affected (0.01 sec)рдЕрдм рддрдкрд╛рдИрдВ "percona" рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓рдЧ рдЗрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
[percona@ip-192-168-1-111 ~]$ whoami
percona
[percona@ip-192-168-1-111 ~]$ mysql -upercona
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 19
Server version: 8.0.16-7 Percona Server (GPL), Release 7, Revision 613e312
Copyright (c) 2009-2019 Percona LLC and/or its affiliates
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
mysql> select user, host, plugin, authentication_string from mysql.user where user ='percona';
+---------+-----------+-------------+-----------------------+
| user | host | plugin | authentication_string |
+---------+-----------+-------------+-----------------------+
| percona | localhost | auth_socket | |
+---------+-----------+-------------+-----------------------+
1 row in set (0.00 sec)рдЕрдирд┐ рдлреЗрд░рд┐ рдХрд╛рдо рдЧрд░реНрдпреЛ!
рдкреНрд░рд╢реНрди: рдХреЗ рдПрдЙрдЯреИ рдкрд░реНрдХреЛрдирд╛ рд▓рдЧрдЗрди рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкреНрд░рдгрд╛рд▓реАрдорд╛ рд▓рдЧ рдЗрди рдЧрд░реНрди рд╕рдореНрднрд╡ рд╣реБрдиреЗрдЫ, рддрд░ рдлрд░рдХ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рд░реВрдкрдорд╛?
[percona@ip-192-168-1-111 ~]$ logout
[root@ip-192-168-1-111 ~]# mysql -upercona
ERROR 1698 (28000): Access denied for user 'percona'@'localhost'рд╣реЛрдЗрди, рдпреЛ рдХрд╛рдо рдЧрд░реНрджреИрдиред
рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛
MySQL рдзреЗрд░реИ рддрд░рд┐рдХрд╛рдорд╛ рдзреЗрд░реИ рд▓рдЪрд┐рд▓реЛ рдЫ, рдЬрд╕рдордзреНрдпреЗ рдПрдЙрдЯрд╛ рдпрд╕рдХреЛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд┐рдзрд┐ рд╣реЛред рдпрд╕ рдкреЛрд╕реНрдЯрд▓реЗ рджреЗрдЦрд╛рдПрдХреЛ рдЫ, OS рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рдЖрдзрд╛рд░рдорд╛ рдкрд╛рд╕рд╡рд░реНрдб рдмрд┐рдирд╛ рдкрд╣реБрдБрдЪ рдкреНрд░рджрд╛рди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдпреЛ рдирд┐рд╢реНрдЪрд┐рдд рдкрд░рд┐рджреГрд╢реНрдпрд╣рд░реВрдорд╛ рдЙрдкрдпреЛрдЧреА рд╣реБрди рд╕рдХреНрдЫ, рдЬрд╕рдордзреНрдпреЗ рдПрдЙрдЯрд╛ RDS/Aurora рдмрд╛рдЯ рдирд┐рдпрдорд┐рдд MySQL рдорд╛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдЧрд░реНрджрд╛ рд╣реЛ рдЕрдЭреИ рдкрдирд┐ рдкрд╣реБрдБрдЪ рдЫ, рддрд░ рдкрд╛рд╕рд╡рд░реНрдб рдмрд┐рдирд╛ред
рд╕реНрд░реЛрдд: www.habr.com
