Rumah >pangkalan data >tutorial mysql >apakah soket mysql

apakah soket mysql

藏色散人
藏色散人asal
2023-04-03 15:22:492507semak imbas

soket mysql merujuk kepada fail soket Unix pada platform seperti Unix, terdapat dua cara untuk klien menyambung ke pelayan MySQL, iaitu kaedah TCP/IP dan kaedah fail soket Unix; lebih pantas daripada TCP/IP, tetapi ia hanya boleh disambungkan ke pelayan pada komputer yang sama.

apakah soket mysql

Persekitaran pengendalian tutorial ini: sistem linux5.9.8, versi mysql8, komputer Dell G3.

Apakah soket mysql?

.pengenalan fail soket

soket ialah fail soket Unix Pada platform seperti Unix, terdapat dua cara untuk pelanggan menyambung ke Pelayan MySQL, masing-masing Ia adalah kaedah TCP/IP dan kaedah fail soket. Sambungan fail soket Unix lebih pantas daripada TCP/IP, tetapi hanya boleh digunakan untuk menyambung ke pelayan pada komputer yang sama.

Laluan dan nama fail soket boleh dikonfigurasikan dengan menetapkan pembolehubah soket Nilai lalai ialah /tmp/mysql.sock (direktori mungkin berbeza untuk beberapa format pengedaran). Konfigurasi rujukan adalah seperti berikut:

# my.cnf 配置文件
[mysqld]
socket = /data/mysql/tmp/mysql.sock
[client]
socket = /data/mysql/tmp/mysql.sock

# 查看对应目录下的socket文件
root@localhost tmp]# ls -lh
total 8.0K
srwxrwxrwx 1 mysql mysql 0 Jun 10 15:19 mysql.sock
-rw------- 1 mysql mysql 6 Jun 10 15:19 mysql.sock.lock

# 通过 -S 命令指定socket登录
[root@localhost ~]# mysql -uroot -pxxxx -S /data/mysql/tmp/mysql.sock
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.22 MySQL Community Server - GPL

Copyright (c) 2000, 2020, 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 8.0.22 for Linux on x86_64 (MySQL Community Server - GPL)

Connection id:          12
Current database:
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         8.0.22 MySQL Community Server - GPL
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    utf8mb4
Conn.  characterset:    utf8mb4
UNIX socket:            /data/mysql/tmp/mysql.sock
Binary data as:         Hexadecimal
Uptime:                 1 hour 27 min 31 sec

Threads: 3  Questions: 27  Slow queries: 0  Opens: 135  Flush tables: 3  Open tables: 56  Queries per second avg: 0.005

Salin

Melihat status sambungan di atas, dapat dilihat bahawa MySQL boleh disambungkan secara setempat melalui soket. Apabila log masuk secara tempatan, jika bahagian [klien] fail konfigurasi my.cnf tidak menyatakan laluan fail soket, mysql akan mencari /tmp/mysql.sock secara lalai, oleh itu, apabila perkhidmatan mysqld dimulakan, yang dijana fail soket bukan laluan lalai. Jika ya, ralat mungkin dilaporkan semasa log masuk (ERROR 2002 (HY000): Tidak dapat menyambung ke pelayan MySQL tempatan melalui soket '/tmp/mysql.sock'). Malah, mengkonfigurasi laluan tertentu dalam kedua-dua bahagian [mysqld] dan bahagian [klien] boleh mengelakkan masalah ini Anda juga boleh mewujudkan sambungan lembut di bawah laluan tmp, seperti: ln -s /data/mysql/tmp/mysql. .sock /tmp/mysql.sock . Begitu juga, kebenaran direktori fail soket mesti dikeluarkan kepada pengguna sistem mysql.

Pembelajaran yang disyorkan: "Tutorial Video MySQL"

Atas ialah kandungan terperinci apakah soket mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn