เบงเบดเบ—เบตเบเบฒเบ™เปƒเบŠเป‰ MySQL เป‚เบ”เบเบšเปเปˆเบกเบตเบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™ (เปเบฅเบฐเบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เบ”เป‰เบฒเบ™เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž)

เบงเบดเบ—เบตเบเบฒเบ™เปƒเบŠเป‰ MySQL เป‚เบ”เบเบšเปเปˆเบกเบตเบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™ (เปเบฅเบฐเบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เบ”เป‰เบฒเบ™เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž)

เบžเบงเบเป€เบ‚เบปเบฒเป€เบงเบปเป‰เบฒเบงเปˆเบฒเบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เปเบกเปˆเบ™เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบ—เปˆเบฒเบ™เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบˆเบทเปˆ. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡ MySQL เบ™เบตเป‰เปเบกเปˆเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบเป‰เบญเบ™ plugin auth_socket เปเบฅเบฐเบชเบฐเบšเบฑเบšเบ‚เบญเบ‡เบ•เบปเบ™เบชเปเบฒเบฅเบฑเบš MariaDB - unix_socket.

เบ—เบฑเบ‡เบชเบญเบ‡ plugins เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบšเปเปˆเปƒเบซเบกเปˆเป€เบฅเบตเบ, เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ–เบทเบเบ›เบถเบเบชเบฒเบซเบฒเบฅเบทเบซเบผเบฒเบเปƒเบ™ blog เบ™เบตเป‰, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบเปˆเบฝเบงเบเบฑเบš. เบงเบดเบ—เบตเบเบฒเบ™เบ›เปˆเบฝเบ™เบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เปƒเบ™ MySQL 5.7 เป‚เบ”เบเปƒเบŠเป‰ plugin auth_socket. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบŠเบญเบเบซเบฒเบชเบดเปˆเบ‡เปƒเบซเบกเปˆเปƒเบ™ MariaDB 10.4, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ„เบปเป‰เบ™เบžเบปเบšเบงเปˆเบฒ unix_socket เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบฅเบฐเป€เบ›เบฑเบ™เบซเบ™เบถเปˆเบ‡เปƒเบ™เบงเบดเบ—เบตเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ„เบงเบฒเบกเบ–เบทเบเบ•เป‰เบญเบ‡ ("เบซเบ™เบถเปˆเบ‡เปƒเบ™", เป€เบžเบฒเบฐเบงเปˆเบฒเปƒเบ™ MariaDB 10.4 เบกเบตเบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡ plugin เบ—เบตเปˆเบกเบตเบขเบนเปˆเบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เปƒเบŠเป‰เบซเบ™เบถเปˆเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบดเบชเบนเบ”เบขเบทเบ™เบขเบฑเบ™, เป€เบŠเบดเปˆเบ‡. เบ–เบทเบเบญเบฐเบ—เบดเบšเบฒเบเป„เบงเป‰เปƒเบ™เป€เบญเบเบฐเบชเบฒเบ™ "เบเบฒเบ™เบžเบดเบชเบนเบ”เบขเบทเบ™เบขเบฑเบ™" เบˆเบฒเบ MariaDB 10.04).

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบ‚เป‰เบญเบเป€เบงเบปเป‰เบฒ, เบ™เบตเป‰เบšเปเปˆเปเบกเปˆเบ™เบ‚เปˆเบฒเบง, เปเบฅเบฐเป€เบกเบทเปˆเบญเบ•เบดเบ”เบ•เบฑเป‰เบ‡ MySQL เป‚เบ”เบเปƒเบŠเป‰เปเบžเบฑเบเป€เบเบฑเบ” .deb เบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เป‚เบ”เบเบ—เบตเบกเบ‡เบฒเบ™ Debian, เบœเบนเป‰เปƒเบŠเป‰เบฎเบฒเบเปเบกเปˆเบ™เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป€เบžเบทเปˆเบญเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ„เบงเบฒเบกเบ–เบทเบเบ•เป‰เบญเบ‡เบ‚เบญเบ‡เป€เบ•เบปเป‰เบฒเบชเบฝเบš. เบ™เบตเป‰เปเบกเปˆเบ™เบ„เบงเบฒเบกเบˆเบดเบ‡เบชเปเบฒเบฅเบฑเบšเบ—เบฑเบ‡ MySQL เปเบฅเบฐ MariaDB.

root@app:~# apt-cache show mysql-server-5.7 | grep -i maintainers
Original-Maintainer: Debian MySQL Maintainers <[email protected]>
Original-Maintainer: Debian MySQL Maintainers <<a href="mailto:[email protected]">[email protected]</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)

เบเปเบฅเบฐเบ™เบตเบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบŠเบธเบ” .deb เบชเปเบฒเบฅเบฑเบš MariaDB:

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)

เปเบžเบฑเบเป€เบเบฑเบ” .deb เบˆเบฒเบเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™ Percona เบ—เบตเปˆเป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™เบเบฑเบ‡เบเบณเบ™เบปเบ”เบ„เปˆเบฒเบเบฒเบ™เบžเบดเบชเบนเบ”เบขเบทเบ™เบขเบฑเบ™เบœเบนเป‰เปƒเบŠเป‰เบฎเบฒเบเบžเบฒเบเปƒเบ•เป‰ auth-socket เปเบฅเบฐเบชเบณเบฅเบฑเบšเป€เบŠเบตเบšเป€เบงเบต Percona. เปƒเบซเป‰เบ‚เบญเบ‡เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเบกเบต เป€เบŠเบตเบšเป€เบงเบต Percona เบชเปเบฒเบฅเบฑเบš MySQL 8.0.16-7 เปเบฅเบฐ 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)

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™ magic? เบ›เบฑเปŠเบเบญเบดเบ™เบˆเบฐเบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบœเบนเป‰เปƒเบŠเป‰ Linux เบเบปเบ‡เบเบฑเบšเบœเบนเป‰เปƒเบŠเป‰ MySQL เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเป€เบฅเบทเบญเบเบŠเบฑเบญเบเป€เบเบฑเบ” SO_PEERCRED เป€เบžเบทเปˆเบญเป€เบเบฑเบšเบเปเบฒเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบ”เปเบฒเป€เบ™เบตเบ™เป‚เบ„เบ‡เบเบฒเบ™เบฅเบนเบเบ„เป‰เบฒ. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, plugin เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เปƒเบ™เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบฎเบญเบ‡เบฎเบฑเบšเบ—เบฒเบ‡เป€เบฅเบทเบญเบ SO_PEERCRED เป€เบŠเบฑเปˆเบ™ Linux เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เบ•เบปเบงเป€เบฅเบทเบญเบเบŠเบฑเบญเบเป€เบเบฑเบ” SO_PEERCRED เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบŠเบญเบเบซเบฒเบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเป€เบ•เบปเป‰เบฒเบฎเบฑเบšเป„เบ”เป‰. เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบฅเบฒเบงเป„เบ”เป‰เบฎเบฑเบšเบŠเบทเปˆเบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบš uid เบ™เบตเป‰เปเบฅเป‰เบง.

เบ™เบตเป‰เปเบกเปˆเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบเบฑเบšเบœเบนเป‰เปƒเบŠเป‰ "vagrant":

vagrant@mysql1:~$ whoami
vagrant
vagrant@mysql1:~$ mysql
ERROR 1698 (28000): Access denied for user 'vagrant'@'localhost'

เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบšเปเปˆเบกเบตเบœเบนเป‰เปƒเบŠเป‰ "vagrant" เปƒเบ™ MySQL, เบžเบงเบเป€เบฎเบปเบฒเบ–เบทเบเบ›เบฐเบ•เบดเป€เบชเบ”เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡. เบกเบฒเบชเป‰เบฒเบ‡เบœเบนเป‰เปƒเบŠเป‰เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเปเบฅเป‰เบงเบฅเบญเบ‡เบญเบตเบเบ„เบฑเป‰เบ‡:

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 เบ—เบตเปˆเบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™? เบฅเบญเบ‡เปƒเบŠเป‰ Percona Server เบชเปเบฒเบฅเบฑเบš MySQL 8 เบ—เบตเปˆเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™ 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)

เปƒเบซเป‰เป€เบžเบตเปˆเบก plugin เป€เบ‚เบปเป‰เบฒเปƒเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™:

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 เบ”เบฝเบงเบเบฑเบ™, เปเบ•เปˆเป€เบ›เบฑเบ™เบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบšเป?

[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 เบ›เบปเบเบเบฐเบ•เบดเป‚เบ”เบเปƒเบŠเป‰ เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ IAMเป€เบžเบทเปˆเบญเบเบฑเบ‡เบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป„เบ”เป‰, เปเบ•เปˆเบšเปเปˆเบกเบตเบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™