登录方式:
[root@10-4-14-168 ~]# mysql -uroot -p Enter password:
查看权限表
mysql> SELECT user,host,password FROM mysql.user; +------+-------------+-------------------------------------------+ | user | host | password | +------+-------------+-------------------------------------------+ | root | localhost | *11B9ACA21786F766739D0EB1483C5F64212B81AC | | root | 10.4.14.168 | *11B9ACA21786F766739D0EB1483C5F64212B81AC | | root | 127.0.0.1 | *11B9ACA21786F766739D0EB1483C5F64212B81AC | | root | ::1 | *11B9ACA21786F766739D0EB1483C5F64212B81AC | +------+-------------+-------------------------------------------+ 4 rows in set (0.00 sec)
查看当前的IP地址:
inet addr:10.4.14.168
验证一下三种登陆方式:
# mysql -h localhost -uroot -p
可以登陆
mysql> status; -------------- mysql Ver 14.14 Distrib 5.5.39, for Linux (x86_64) using readline 5.1 Connection id: 6 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.5.39-cll-lve MySQL Community Server (GPL) by Atomicorp Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: latin1 Db characterset: latin1 Client characterset: utf8 Conn. characterset: utf8 UNIX socket: /var/lib/mysql/mysql.sock Uptime: 19 min 8 sec Threads: 1 Questions: 24 Slow queries: 0 Opens: 33 Flush tables: 1 Open tables: 26 Queries per second avg: 0.020 --------------
# mysql -h 127.0.0.1 -uroot -p
mysql> status; -------------- mysql Ver 14.14 Distrib 5.5.39, for Linux (x86_64) using readline 5.1 Connection id: 4 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.5.39-cll-lve MySQL Community Server (GPL) by Atomicorp Protocol version: 10 Connection: 127.0.0.1 via TCP/IP Server characterset: latin1 Db characterset: latin1 Client characterset: utf8 Conn. characterset: utf8 TCP port: 3306 Uptime: 2 min 24 sec Threads: 2 Questions: 21 Slow queries: 0 Opens: 33 Flush tables: 1 Open tables: 26 Queries per second avg: 0.145 --------------
# mysql -h 10.4.14.168 -uroot -p
mysql> status; -------------- mysql Ver 14.14 Distrib 5.5.39, for Linux (x86_64) using readline 5.1 Connection id: 5 Current database: Current user: root@10-4-14-168 SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.5.39-cll-lve MySQL Community Server (GPL) by Atomicorp Protocol version: 10 Connection: 10.4.14.168 via TCP/IP Server characterset: latin1 Db characterset: latin1 Client characterset: utf8 Conn. characterset: utf8 TCP port: 3306 Uptime: 3 min 9 sec Threads: 2 Questions: 30 Slow queries: 0 Opens: 33 Flush tables: 1 Open tables: 26 Queries per second avg: 0.158 --------------
# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.5.39-cll-lve MySQL Community Server (GPL) by Atomicorp
Copyright (c) 2000, 2014, 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> status;
--------------
mysql Ver 14.14 Distrib 5.5.39, for Linux (x86_64) using readline 5.1
Connection id: 7
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.5.39-cll-lve MySQL Community Server (GPL) by Atomicorp
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: latin1
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /var/lib/mysql/mysql.sock
Uptime: 22 min 31 sec
Threads: 1 Questions: 31 Slow queries: 0 Opens: 33 Flush tables: 1 Open tables: 26 Queries per second avg: 0.022
--------------
下面尝试修改下host域
mysql> select user,host from mysql.user; +------+-------------+ | user | host | +------+-------------+ | root | 10.4.14.168 | | root | 127.0.0.1 | | root | ::1 | | root | localhost | +------+-------------+ 4 rows in set (0.00 sec) mysql> UPDATE mysql.user SET host ='10.4.5.9' WHERE host ='::1'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> SELECT user,host FROM mysql.user; +------+-------------+ | user | host | +------+-------------+ | root | 10.4.14.168 | | root | 10.4.5.9 | | root | 127.0.0.1 | | root | localhost | +------+-------------+ 4 rows in set (0.00 sec)
现在如果10.4.5.9这台机器和这台10.4.14.168的连通性没问题的话就可以这种方式登陆:
inet addr:10.4.5.9
[root@10-4-5-9 ~]# mysql -h 10.4.14.168 -uroot -P 3306 -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.5.39-cll-lve MySQL Community Server (GPL) by Atomicorp Copyright (c) 2000, 2013, 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>
mysql> status; -------------- mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1 Connection id: 3 Current database: Current user: [email protected] SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.5.39-cll-lve MySQL Community Server (GPL) by Atomicorp Protocol version: 10 Connection: 10.4.14.168 via TCP/IP Server characterset: latin1 Db characterset: latin1 Client characterset: latin1 Conn. characterset: latin1 TCP port: 3306 Uptime: 1 min 13 sec Threads: 2 Questions: 14 Slow queries: 0 Opens: 33 Flush tables: 1 Open tables: 26 Queries per second avg: 0.191 --------------
由此:引出了user表中host列的IP地址和localhost的区别:
IP地址:-h IP 是通过TCP/IP连接方式连接的。
localhost :-h localhost 或者 直接忽略-h 是通过socket连接方式连接的。
一般远程连接或者PHP、C等连接MySQL的时候都要指定IP地址,通过TCP/IP 方式连接
可以通过修改配置文件my.cnf
protocol=tcp 强制使用TCP/IP 连接
skip-networking 强制使用socket来连接。