

mysql( 10.1.30-MariaDB)をインストールすると、

[code]

    +-----------+------+-------------------------------------------+----------+
    | host      | user | password                                  | ssl_type |
    +-----------+------+-------------------------------------------+----------+
    | localhost | root |                                           |          |
    | 127.0.0.1 | root |                                           |          |
    | ::1       | root | 　　　　　                                |          |
    | localhost |      |                                           |          |
    | localhost | pma  |                                           |          |
    +-----------+------+-------------------------------------------+----------+
    
[/code]

という五つのユーザーがあります。

ここで二つ質問があります。

１．mysql -u root -p
**と入力するとこの三つのうち恐らくhostがlocalhostのものに接続しますが、127.0.0.1や::1に接続する際は、 mysql -h
127.0.0.1 -u root -p **やmysql -h ::1 -u root -p ****とすると接続できますか。  
それぞれ三つのアカウントに接続したうえでselect current_user()をしても

[code]

    MariaDB [(none)]> select current_user();
    +----------------+
    | current_user() |
    +----------------+
    | root@localhost |
    +----------------+
    1 row in set (0.00 sec)
    
[/code]

としか返ってこなかったので恐らくどうやってもlocalhostにしか接続できていないと思うのです。てっきりroot@127.0.0.1、root@::1になるのかと思ったのですが、なぜならないのでしょうか。  
というかどうするとこれらのhostに接続できますか。

２．::1は、ipv6を利用している方のためのものだとは思うのですが、そのipv6を利用している場合は、hostがlocalhost、127.0.0.1では接続できないということなのでしょうか。

<https://teratail.com/questions/115682>


CC BY-SA 3.0
2018-04-06T10:33:54.863
43007
2018-04-07T12:43:42.157
2018-04-07T12:43:42.157
19110
27720
question
mysql database mariadb
mysql (MariaDB) で localhost、127.0.0.1、::1 それぞれに接続するには？


`-hlocalhost` 指定時はUNIXソケット接続で、mysqld のユーザーも `username@localhost` になります。

`-h127.0.0.1`, `-h::1` 指定時はTCP/IP接続になりますが、この時どのユーザーになるかは、mysqld の `skip-name-
resolve` の設定に依存します。

`skip-name-resolve=false` の時(デフォルト)は、IPアドレスからホスト名を得ようとするので、`127.0.0.1`, `::1`
はどちらも `username@localhost` ユーザーになります。

`skip-name-resolve=true` の時は、IPアドレスをそのまま使用するので、`username@127.0.0.1`,
`username@::1` ユーザーになります。


CC BY-SA 3.0
2018-04-07T11:05:45.157
43035
2018-04-07T11:05:45.157
3249
43007
answer