เป็นหนึ่งในระบบการจัดการฐานข้อมูลที่เป็นที่ต้องการฟรีและโอเพ่นซอร์ส MySQL ทำให้คุณสามารถสร้างผู้ใช้และฐานข้อมูลได้หลายคน นอกจากนี้ยังมอบสิทธิ์พิเศษเพื่อให้ผู้ใช้สามารถเข้าถึงและจัดการฐานข้อมูลที่พวกเขามีสิทธิ์.


บทช่วยสอนนี้จะแสดงวิธีจัดการฐานข้อมูลและผู้ใช้ฐานข้อมูลจากบรรทัดคำสั่ง MySQL.

ก่อนที่เราจะเริ่มบทช่วยสอนนี้ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง MySQL และ MariaDB เวอร์ชันล่าสุดบนระบบของคุณ MySQL จะใช้เป็นผู้ใช้รูทเพื่อรันคำสั่งที่เหมาะสม.

ในการเข้าสู่บรรทัดคำสั่ง MySQL ให้ดำเนินการคำสั่งด้านล่างและป้อนชื่อผู้ใช้และรหัสผ่านรูทของคุณ.

$ mysql -u root -p

ขั้นตอนที่ 1 – สร้างฐานข้อมูล MySQL

เริ่มต้นด้วยการสร้างฐานข้อมูล MySQL / MariaDB ใหม่ ในการทำเช่นนั้นให้เรียกใช้คำสั่งด้านล่างและแทนที่ส่วน database_name ด้วยชื่อฐานข้อมูลที่คุณวางแผนจะสร้าง:

MySQL> สร้างฐานข้อมูล database_name;

สิ่งนี้จะให้ผลลัพธ์เช่นด้านล่าง:

QueryOK, 1 rowaffected (0.00sec)

ในกรณีที่มีฐานข้อมูลอยู่ข้อความแสดงข้อผิดพลาดด้านล่างจะปรากฏขึ้น:

ข้อผิดพลาด 1007 (HY000): ไม่สามารถสร้างฐานข้อมูล database_name ‘; ฐานข้อมูลมีอยู่

เพื่อให้แน่ใจว่าคุณจะไม่ได้รับข้อผิดพลาดนี้แม้ว่าคุณจะใช้ชื่อเดียวกันกับฐานข้อมูลของคุณให้เรียกใช้คำสั่งด้านล่าง:

MySQL> สร้างฐานข้อมูลหากไม่มีฐานข้อมูลอยู่

คุณจะเห็นผลลัพธ์ด้านล่าง:

QueryOK, 1 rowaffected, 1 คำเตือน (0.00sec)

ในกรณีนี้ส่วน Query Ok แสดงว่าแบบสอบถามได้รับผลกระทบสำเร็จแล้ว จากนั้นมี 1 คำเตือน ซึ่งหมายความว่าฐานข้อมูลของคุณอยู่ในระบบแล้วและไม่มีการสร้างฐานข้อมูล.

ขั้นตอนที่ 2 – แสดงรายการฐานข้อมูล MySQL ทั้งหมด

ในการแสดงรายการฐานข้อมูลทั้งหมดในเซิร์ฟเวอร์ MySQL / MariaDB ของคุณให้เรียกใช้คำสั่งด้านล่าง:

MySQL> แสดงฐานข้อมูล;

สิ่งนี้จะให้ผลลัพธ์เช่นนี้กับคุณ:

+——————–+
| ฐานข้อมูล
+——————–+
| information_schema |
| database_name |
| mysql
| performance_schema |
| sys |
+——————–+
5 แถวในชุด (0.00 วินาที)

จากเอาต์พุตด้านบนฐานข้อมูลต่อไปนี้ information_schema, mysql, performance_schema, และ SYS ถูกสร้างขึ้นระหว่างการติดตั้ง ฐานข้อมูลจะเก็บข้อมูลสำหรับฐานข้อมูลส่วนที่เหลือผู้ใช้การกำหนดค่าระบบสิทธิ์และข้อมูลอื่น ๆ ที่เกี่ยวข้อง ฐานข้อมูลดังกล่าวมีความสำคัญเมื่อติดตั้ง MySQL.

ขั้นตอนที่ 3 – ลบฐานข้อมูล MySQL

หากคุณต้องการลบฐานข้อมูล MySQL ให้ดำเนินการตามคำสั่งด้านล่าง:

MySQL> DROP DATABASE database_name;

คุณควรได้รับผลลัพธ์ต่อไปนี้:

QueryOK, 0 แถวที่ได้รับผลกระทบ (0.00sec)

ความพยายามที่จะลบฐานข้อมูลที่ไม่มีอยู่ในระบบจะแสดงข้อความแสดงข้อผิดพลาดดังแสดงด้านล่าง:

ข้อผิดพลาด 1008 (HY000): ไม่สามารถทิ้งฐานข้อมูล ‘database_name’; ไม่มีฐานข้อมูล

เพื่อให้แน่ใจว่าคุณไม่ได้รับข้อผิดพลาดนี้ให้เรียกใช้คำสั่งด้านล่าง:

MySQL> DROP DATABASE IF EXISTS database_name

ผลลัพธ์ควรมีลักษณะดังนี้:

QueryOK, 0 แถวได้รับผลกระทบ, 1 คำเตือน (0.00sec)

แบบสอบถามตกลง บ่งชี้ว่าแบบสอบถามประสบความสำเร็จในขณะที่ 1 คำเตือน หมายความว่าฐานข้อมูลไม่มีอยู่.

ขั้นตอนที่ 4 – สร้างบัญชีผู้ใช้ใหม่ใน MySQL

บัญชีผู้ใช้ MySQL หรือ MariaDB ประกอบด้วยสองส่วน ชื่อผู้ใช้และชื่อโฮสต์.

ดำเนินการคำสั่งด้านล่างเพื่อสร้างบัญชีผู้ใช้ MariaDB หรือ MySQL ใหม่ เปลี่ยนชิ้นส่วน database_user สามารถถูกแทนที่ ด้วยชื่อผู้ใช้ที่คุณต้องการ.

MySQL> สร้างผู้ใช้ ‘database_user’ @ ‘localhost’ ระบุโดย ‘user_password’;

ในคำสั่งนี้ชื่อโฮสต์ถูกตั้งค่าเป็น localhost หมายความว่าผู้ใช้จะพบการเชื่อมต่อกับเซิร์ฟเวอร์ MySQL จากโลคอลโฮสต์ได้ง่ายขึ้น.

หากต้องการให้สิทธิ์การเข้าถึงโฮสต์อื่นให้แทนที่ค่า localhost ในคำสั่งข้างต้นด้วยที่อยู่ IP สำหรับเครื่องระยะไกลของคุณหรือเพียงแค่ใช้ ‘%’  สำหรับโฮสต์ นี่จะเป็นการอนุญาตให้บัญชีผู้ใช้ MySQL เชื่อมต่อกับโฮสต์ได้อย่างง่ายดาย.

เพื่อหลีกเลี่ยงการได้รับข้อผิดพลาดเมื่อสร้างบัญชีผู้ใช้ใหม่ซึ่งมีอยู่แล้วในฐานข้อมูลดำเนินการคำสั่งด้านล่าง:

MySQL> สร้างผู้ใช้หากไม่มี ‘database_user’ @ ‘localhost’ ที่ระบุโดย ‘user_password’;

ควรให้ผลลัพธ์เช่นเดียวกับด้านล่าง:

QueryOK, 0 แถวได้รับผลกระทบ, 1 คำเตือน (0.00sec)

ขั้นตอนที่ 5 – เปลี่ยนรหัสผ่านสำหรับบัญชีผู้ใช้ MySQL

หัวข้อนี้ได้รับการคุ้มครองอย่างครอบคลุมในบทความของเรา วิธีเปลี่ยนรหัสผ่านรูท MySQL ของฉัน.

แผนการเปลี่ยนรหัสผ่านสำหรับบัญชีผู้ใช้ MySQL / MariaDB ขึ้นอยู่กับรุ่นของเซิร์ฟเวอร์ที่ใช้งานบนเครื่องเสมือนของคุณ.

หากต้องการค้นหาเวอร์ชันของเซิร์ฟเวอร์ของคุณให้เรียกใช้คำสั่งด้านล่าง:

$ mysql – รุ่น

หากระบบของคุณทำงานบน MySQL 5.7.6 หรือ MariaDB 10.1.20 และเวอร์ชันที่ใหม่กว่าสำหรับทั้งคู่คุณสามารถเปลี่ยนรหัสผ่านผู้ใช้โดยใช้คำสั่งด้านล่าง:

MySQL> แก้ไข USER ‘database_user’ @ ‘localhost’ ระบุโดย ‘new_password’;

สำหรับ MySQL 5.7.5 หรือ MariaDB 10.1.20 และเวอร์ชันที่เก่ากว่าสำหรับทั้งคู่ให้ใช้:

MySQL> ตั้งค่ารหัสผ่านสำหรับ ‘database_user’ @ ‘localhost’ = PASSWORD (‘new_password’);

ตัวเลือกทั้งสองจะให้ผลลัพธ์คล้ายกับตัวเลือกด้านล่าง:

QueryOK, 0 แถวที่ได้รับผลกระทบ (0.00sec)

ขั้นตอนที่ 6 – แสดงรายการบัญชีผู้ใช้ MySQL ทั้งหมด

ในการแสดงรายการบัญชีผู้ใช้ MySQL / MariaDB ทั้งหมดเพียงดำเนินการคำสั่งด้านล่างเพื่อสอบถาม mysql.users โต๊ะ:

MySQL> ผู้ใช้ SELECT, โฮสต์จาก mysql.user;

คุณควรเห็นผลลัพธ์ด้านล่าง จากผลลัพธ์คุณสามารถดูรายการผู้ใช้เซิร์ฟเวอร์ MySQL 5.7 ที่เป็นค่าเริ่มต้นที่ทำงานบนเซิร์ฟเวอร์ Ubuntu คุณจะเห็นบัญชีผู้ใช้อื่นสองบัญชีที่เพิ่มไว้ก่อนหน้านี้, ‘database_user’ @ ‘%’ และ ‘database_user’ @ ‘localhost’

+——————+———–+
| ผู้ใช้ | โฮสต์ |
+——————+———–+
| database_user | % |
| database_user | localhost |
| debian-sys-maint | localhost |
| mysql.session | localhost |
| mysql.sys localhost |
| รูต | localhost |
+——————+———–+
6 แถวในชุด (0.00 วินาที)

ขั้นตอนที่ 7 – การลบบัญชีผู้ใช้ MySQL

หากคุณต้องการลบบัญชีผู้ใช้ใด ๆ ให้เรียกใช้คำสั่งด้านล่าง:

MySQL> DROP USER ‘database_user @’ localhost ‘;

สิ่งนี้จะให้ผลลัพธ์ต่อไปนี้กับคุณ:

DROPUSER’database_user @ ‘localhost’;

ในกรณีที่คุณพยายามลบบัญชีผู้ใช้ที่ไม่มีอยู่ในฐานข้อมูลของคุณคุณจะเห็นข้อผิดพลาดต่อไปนี้:

ข้อผิดพลาด 1396 (HY000): การดำเนินการ DROPUSER ตัดต่อฐานข้อมูล _user ‘@’ localhost ‘

เพื่อป้องกันข้อผิดพลาดนี้เกิดขึ้นรันคำสั่งด้านล่าง:

MySQL> DROP USER IF EXISTS ‘database_user’ @ ‘localhost’;

คุณควรเห็นผลลัพธ์ต่อไปนี้:

QueryOK, 0 แถวได้รับผลกระทบ, 1 คำเตือน (0.00sec)

ขั้นตอนที่ 8 – การให้สิทธิ์กับบัญชีผู้ใช้ MySQL

บัญชีผู้ใช้ใด ๆ สามารถได้รับสิทธิพิเศษหลายประเภท คุณสามารถเข้าถึงสิทธิ์ทั้งหมดที่ MySQL ได้รับจากลิงค์นี้ ลองดูตัวอย่างเล็ก ๆ น้อย ๆ.

ในการให้สิทธิ์บัญชีผู้ใช้ทั้งหมดในฐานข้อมูลทั้งหมดให้เรียกใช้คำสั่งด้านล่าง:

MySQL> ให้สิทธิ์ทั้งหมดบน *. * ถึง ‘database_user’ @ ‘localhost’;

ในการให้สิทธิ์บัญชีผู้ใช้ทั้งหมดเหนือตารางที่กำหนดจากฐานข้อมูลให้เรียกใช้คำสั่งด้านล่าง:

MySQL> ให้สิทธิ์ทั้งหมดบน database_name.table_name เป็น ‘database_user’ @ ‘localhost’;

ตอนนี้ในการให้สิทธิ์บัญชีผู้ใช้เฉพาะกับฐานข้อมูลบางประเภทให้ใช้คำสั่งด้านล่าง:

MySQL>  GRANT SELECT, INSERT, DELETE บน database_name. * ไปยัง database_user @ ‘localhost’;

ขั้นตอนที่ 9 – ยกเลิกสิทธิ์จากบัญชีผู้ใช้ MySQL

หากต้องการยกเลิกสิทธิ์จากบัญชีผู้ใช้ MySQL ใด ๆ ไวยากรณ์ที่ใช้เกือบจะเหมือนกับในการให้สิทธิ์ ตัวอย่างเช่นหากต้องการยกเลิกสิทธิ์ทั้งหมดจากบัญชีผู้ใช้ที่แน่นอนสำหรับ MySQL ผ่านฐานข้อมูลเฉพาะให้รันคำสั่งด้านล่าง:

MySQL> ยกเลิกสิทธิ์ทั้งหมดบน database_name. * เป็น ‘database_user’ @ ‘localhost’;

ขั้นตอนที่ 10 – การแสดงสิทธิ์สำหรับบัญชีผู้ใช้ MySQL

ในการระบุสิทธิ์พิเศษที่ให้กับบัญชีผู้ใช้ MySQL บางประเภทให้ดำเนินการตามคำสั่งด้านล่าง:

MySQL> แสดง GRANTS สำหรับ ‘database_user’ @ ‘localhost’;

ผลลัพธ์จะเป็น:

+—————————————————————————+
| ให้สิทธิ์สำหรับ database_user @ localhost |
+—————————————————————————+
| GRANTUSAGEON *. * TO’database_user ‘@’ localhost ‘|
| ให้สิทธิ์ทั้งหมด PRIVILEGESON`database_name`. * TO’database_user ‘@’ localhost ‘|
+—————————————————————————+
2rowsinset (0.00 วินาที)

แค่นั้นแหละ.

ข้อสรุป

ณ จุดนี้คุณควรรู้พื้นฐานและวิธีจัดการฐานข้อมูล MySQL และผู้ใช้จากบรรทัดคำสั่ง.

ลองดูบริการบนเว็บโฮสติ้งที่ดีที่สุด 3 อันดับแรก

FastComet

ราคาเริ่มต้น:
$ 2.95


ความเชื่อถือได้
9.7


การตั้งราคา
9.5


เป็นมิตรกับผู้ใช้
9.7


สนับสนุน
9.7


คุณสมบัติ
9.6

อ่านความคิดเห็น

เยี่ยมชม FastComet

A2 โฮสติ้ง

ราคาเริ่มต้น:
$ 3.92


ความเชื่อถือได้
9.3


การตั้งราคา
9.0


เป็นมิตรกับผู้ใช้
9.3


สนับสนุน
9.3


คุณสมบัติ
9.3

อ่านความคิดเห็น

เยี่ยมชม A2 Hosting

ChemiCloud

ราคาเริ่มต้น:
$ 2.76


ความเชื่อถือได้
10


การตั้งราคา
9.9


เป็นมิตรกับผู้ใช้
9.9


สนับสนุน
10


คุณสมบัติ
9.9

อ่านความคิดเห็น

เยี่ยมชม ChemiCloud

บทความเชิงปฏิบัติที่เกี่ยวข้อง

  • วิธีการโฮสต์เว็บไซต์ Drupal 8 กับเซิร์ฟเวอร์ NGINX บนแผน VPS
    สื่อกลาง
  • วิธีการติดตั้ง phpIPAM บน CentOS 7
    สื่อกลาง
  • วิธีรีเซ็ตรหัสผ่านรูทของ MySQL บน Ubuntu 18.04?
    มือใหม่
  • วิธีการติดตั้ง Zabbix บน CentOS 7
    สื่อกลาง
  • วิธีการติดตั้ง phpMyAdmin บน CentOS 7 VPS หรือเซิร์ฟเวอร์เฉพาะ
    สื่อกลาง
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me