連線MySQL資料庫的兩種方式介紹

kumu_linux發表於2012-07-24

連線MySQL資料庫的兩種方式介紹

連線MySQL操作是連線程式和MySQL資料庫例項進行通訊。從開發的角度來說,本質上是程式通訊,常用的程式通訊方式有管道、命名管道、命名字、TCP/IP套接字、Unix域名套接字

 

TCP/IP連線:

         TCP/IP套接字連線方式是MySQL在任何平臺都提供的一種連線方式,也是網路中使用最多的一種方式。這種方式在TCP/IP連線上建立一個基於網路的連線請求,一般情況下客戶端在一臺伺服器上,而MySQL例項在另外一臺伺服器上,這兩臺機器通過TCP/IP網路連線

mysql> use mysql;

Readingtable information for completion of table and column names

Youcan turn off this feature to get a quicker startup with -A


Databasechanged

mysql>select user,host,password from user;

+------+-------------------+-------------------------------------------+

|user | host              | password                                  |

+------+-------------------+-------------------------------------------+

|root | localhost         |*23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |

|root | server.sxkeji.com |                                           |

|root | 127.0.0.1         |                                           |

|      | localhost         |                                           |

|      | server.sxkeji.com |                                           |

| wu  | %                 |*00A51F3F48415C7D4E8908980D443C29C69B60C9|

+------+-------------------+-------------------------------------------+

6rows in set (0.01 sec)

 

mysql>


首先遠端連線的客戶端連線的使用者有許可權才可以被連線,我們檢視到了wu這個使用者允許任何機器遠端連線

# mysql -h192.168.0.110 -uwu -p

Enterpassword:

Welcometo the MySQL monitor.  Commands end with; or \g.

YourMySQL connection id is 16

Serverversion: 5.1.52 Source distribution

 

Copyright(c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

Thissoftware comes with ABSOLUTELY NO WARRANTY. This is free software,

andyou are welcome to modify and redistribute it under the GPL v2 license

 

Type'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql>
//顯示連線成功

 

Unix域套接字連線:

在Linux和Unix環境下,還可以使用Unix域套接字連線。Unix域套接字其實不是網路協議,所以只能使用MySQL客戶端和資料庫例項在同一臺伺服器上的情況下使用。可以在配置檔案中指定套接字檔案路徑,如-socket=/tmp/mysql.sock。當資料庫啟動之後使用如下方法查詢套接字

mysql>show variables like 'socket'\G

***************************1. row ***************************

Variable_name:socket

        Value: /var/lib/mysql/mysql.sock

1row in set (0.00 sec)

mysql>
 

然後就可以通過套接字的方式連線了

# mysql -uwu -S /var/lib/mysql/mysql.sock

Welcometo the MySQL monitor.  Commands end with; or \g.

YourMySQL connection id is 18

Serverversion: 5.1.52 Source distribution


Copyright(c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

Thissoftware comes with ABSOLUTELY NO WARRANTY. This is free software,

andyou are welcome to modify and redistribute it under the GPL v2 license


Type'help;' or '\h' for help. Type '\c' to clear the current input statement.

 
mysql>


相關文章