เมื่อฉันพิมพ์ มายเอสคิวแอล
เข้าสู่เทอร์มินัลฉันได้รับข้อผิดพลาดต่อไปนี้:
ข้อผิดพลาด 2002 (HY000): ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ภายในผ่านซ็อกเก็ต '/run/mysqld/mysqld.sock' (2)
แต่ถ้าเรียกใช้ mysql ด้วยอาร์กิวเมนต์ด้านล่าง:
mysql -h 127.0.0.1 -P 3306 -u ราก -p
มันถามรหัสผ่าน mysql ที่กำหนดไว้แล้วใน /etc/my.cnf ดังนั้นฉันจึงวางรหัสผ่านเดิมและเชื่อมต่อกับเทอร์มินัลฐานข้อมูลดังนี้:
ใส่รหัสผ่าน:
ยินดีต้อนรับสู่จอภาพ MariaDB คำสั่งลงท้ายด้วย ; หรือ \g
รหัสการเชื่อมต่อ MariaDB ของคุณคือ 4
รุ่นเซิร์ฟเวอร์: 10.6.4-MariaDB เซิร์ฟเวอร์ MariaDB
ลิขสิทธิ์ (c) 2000, 2018, Oracle, MariaDB Corporation Ab และอื่นๆ
พิมพ์ 'ความช่วยเหลือ;' หรือ '\h' เพื่อขอความช่วยเหลือ พิมพ์ '\c' เพื่อล้างคำสั่งอินพุตปัจจุบัน
ในของฉัน /etc/my.cnf
ฉันมีเนื้อหาดังต่อไปนี้:
[มายเอสคิวลด์]
ที่อยู่การผูก = 127.0.0.1
พอร์ต = 3360
max_allowed_packet=64M
local-infile = 0
innodb_file_per_table
[ลูกค้า]
ผู้ใช้ = ราก
รหัสผ่าน = MYSQLPASSWORDHERE
socket=/usr/local/mysql/data/mysql.sock
คำถามคือ เนื่องจากฉันมีรหัสผ่านรูท พอร์ต และที่อยู่การผูกที่กำหนดไว้ล่วงหน้าแล้ว /etc/my.cnf
เหตุใดจึงยังคงแสดงข้อผิดพลาดเกี่ยวกับซ็อกเก็ตหากฉันเรียกใช้ มายเอสคิวแอล
สั่งโดยไม่มีข้อโต้แย้งใดๆ
เป้าหมายของฉันคือการวิ่ง มายเอสคิวแอล
คำสั่งในเทอร์มินัลโดยไม่มีข้อโต้แย้งใด ๆ และจะแสดงเทอร์มินัล mysql ให้ฉัน