Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

MySQL: เข้าสู่ระบบด้วย User อื่นผ่าน Command Line (mysql -u -p)

การ Login MySQL ด้วย User ที่แตกต่างจาก User ปัจจุบัน ทำได้ผ่าน Command Line ด้วยคำสั่ง mysql -u username -p

รูปแบบคำสั่ง

mysql -u your_username -p
  • -u - ระบุ username
  • -p - ขอ password (จะ prompt ให้พิมพ์ hidden)
  • ไม่ต้องพิมพ์ password ต่อท้าย -p (ไม่ปลอดภัย)

ขั้นตอนสร้าง User ใหม่และ Login

1. สร้าง User ใหม่ใน MySQL

CREATE USER 'John'@'localhost' IDENTIFIED BY 'john123456';

2. ให้สิทธิ์ (Privileges)

GRANT ALL PRIVILEGES ON *.* TO 'John'@'localhost';
FLUSH PRIVILEGES;

3. ตรวจสอบ User ที่สร้าง

SELECT user FROM mysql.user;

ผลลัพธ์: จะเห็น 'John' ในรายการ

4. เปิด Command Prompt (Windows)

  1. กด Win + R
  2. พิมพ์ cmd → Enter

5. เข้าไปในโฟลเดอร์ bin ของ MySQL

cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"

6. Login ด้วย User ใหม่

mysql -u John -p

จะขึ้น prompt: Enter password: → พิมพ์ john123456 (ไม่แสดงบนหน้าจอ) → Enter

7. Login สำเร็จ

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.x MySQL Community Server

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

mysql>

ตัวเลือกการ Login เพิ่มเติม

คำสั่งคำอธิบาย
mysql -u root -pLogin เป็น root
mysql -u user -p -h 192.168.1.100Login ไป Server อื่น (remote)
mysql -u user -p -P 3307ระบุ Port ที่ไม่ใช่ 3306
mysql -u user -p db_nameLogin และเลือก Database ทันที
mysql -u user -p --protocol=tcpบังคับใช้ TCP (ไม่ใช่ socket)

การ Login แบบไม่ต้องพิมพ์รหัสผ่าน (สำหรับ Script/Automation)

# ไฟล์ .my.cnf ใน home directory
[client]
user = john
password = john123456

# แล้วรันแค่
mysql

คำเตือน: การเก็บ password ในไฟล์ต้องระวังสิทธิ์ไฟล์ (chmod 600 .my.cnf)

Switch User ภายใน MySQL Client

ไม่สามารถ switch user ได้ภายใน session ต้องออกมาและ login ใหม่ หรือใช้:

-- ไม่รองรับโดยตรง ต้อง reconnect
\q  -- quit
mysql -u other_user -p