一、mysql申請連接的四種方式
1 . TCP/IP
TCP/IP套接字連接方式是MySQL在任何平台都提供的一種連接方式,也是網絡中使用最多的一種方式。這種方式在TCP/IP連接上建立一個基於網絡的連接請求,一般情況下客戶端在一台服務器上,而MySQL實例在另外一台服務器上,這兩台機器通過TCP/IP網絡連接 .
如 : mysql -h ip -u username -p
可以使用 —skip-networking 選項禁止TCP/IP連接 .
遠程連接的客戶端連接的用戶有權限才可以被連接 , 可通過查詢 schema mysql 中的 user 表來得知用戶權限 .
2 . Unix Socket
在Linux和Unix環境下 , 可以使用 Unix 域套接字連接 . 但 Unix 域套接字其實不是網絡協議 , 所以只能使用MySQL客戶端和數據庫實例在同一台服務器上的情況下使用 .
本方式需要在服務器配置文件中指定 : socket=/tmp/mysql.sock .
如 : mysql -u username -S /tmp/mysql.sock
-S 是 --socket 的簡寫形式 , 其值必須與服務器配置文件中指定路徑相同 .
可通 --protocol 嚴格指定連接方式 , 如 : mysql --protocol=socket --socket=/tmp/mysql.sock
另 : 此種連接方式性能要比 tcp/ip 好 .
3 . named pipe
只適合在 windows 下使用此種方式連接 , 性能可比 tcp/ip 方式提升 30%-50% .
如 : mysql -u username -p password --protocol=pipe [ --socket=mysql ]
服務器端要求配置 : enable-named-pipe
socket=MySQL
后面選項中可不填 , --protocol=pipe 之后 --socket=mysql 可省略指定 .
4 . shared memory
4.1 版本之后 , mysql 對 windows 系統還提供了共享內存的連接方式 . 由於此種連接方式幾乎無法收到詳細介紹 , 所以此連法之優缺點也不慎清楚 .
如 : mysql --protocol=memory --shared-memory-base-name=mysql
需要服務器端配置 : shared_memory=ON share_memory_base_name=mysql .
二、登錄
mysql -h 127.0.0.1 -P 3307 -u root -proot
-h表示主機,即主機的ip地址
-P指port,端口,mysql數據庫的默認端口是3306
-u表示user用戶名
-p表示密碼
三、設置局域網可連接
查詢 select user,host from user; 直接在mysql命令中修改 mysql -u root -p use mysql update user set host = '192.168.1.%' where user = 'root'; flush privileges; 修改后在局域網即可連接
