विदà¥?र: ये ६ लोग जीवनà¤à¤° दà¥?ःख और दरà¥?द हà¥
สารบัญ:
- ก่อนที่จะเริ่ม
- สร้างฐานข้อมูล MySQL ใหม่
- แสดงรายการฐานข้อมูล MySQL ทั้งหมด
- ลบฐานข้อมูล MySQL
- สร้างบัญชีผู้ใช้ MySQL ใหม่
- เปลี่ยนรหัสผ่านบัญชีผู้ใช้ MySQL
- รายการบัญชีผู้ใช้ MySQL ทั้งหมด
- ลบบัญชีผู้ใช้ MySQL
- ให้สิทธิ์กับบัญชีผู้ใช้ MySQL
- เพิกถอนการอนุญาตจากบัญชีผู้ใช้ MySQL
- แสดงสิทธิ์บัญชีผู้ใช้ MySQL
- ข้อสรุป
MySQL เป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์แบบโอเพนซอร์สที่นิยมมากที่สุด เซิร์ฟเวอร์ MySQL ช่วยให้เราสามารถสร้างผู้ใช้และฐานข้อมูลจำนวนมากและให้สิทธิ์ที่เหมาะสมเพื่อให้ผู้ใช้สามารถเข้าถึงและจัดการฐานข้อมูล
บทช่วยสอนนี้อธิบายวิธีใช้บรรทัดคำสั่งเพื่อสร้างและจัดการฐานข้อมูล MySQL หรือ MariaDB และผู้ใช้
ก่อนที่จะเริ่ม
ก่อนที่คุณจะเริ่มต้นด้วยบทช่วยสอนนี้เราคาดว่าคุณได้ติดตั้งเซิร์ฟเวอร์ MySQL หรือ MariaDB ไว้ในระบบของคุณแล้ว คำสั่งทั้งหมดจะถูกดำเนินการในฐานะผู้ใช้รูท
หากต้องการเปิดพรอมต์ MySQL ให้พิมพ์คำสั่งต่อไปนี้แล้วป้อนรหัสผ่านผู้ใช้รูท MySQL เมื่อได้รับพร้อมต์:
สร้างฐานข้อมูล MySQL ใหม่
ในการสร้างฐานข้อมูล MySQL ใหม่ให้รันคำสั่งต่อไปนี้เพียงแค่แทนที่
database_name
ด้วยชื่อของฐานข้อมูลที่คุณต้องการสร้าง:
CREATE DATABASE database_name;
Query OK, 1 row affected (0.00 sec)
ERROR 1007 (HY000): Can't create database 'database_name'; database exists
เพื่อหลีกเลี่ยงข้อผิดพลาดหากฐานข้อมูลที่มีชื่อเดียวกันกับที่คุณพยายามสร้างมีอยู่คุณสามารถใช้คำสั่งต่อไปนี้:
CREATE DATABASE IF NOT EXISTS database_name;
Query OK, 1 row affected, 1 warning (0.00 sec)
ในผลลัพธ์ด้านบน
Query OK
หมายถึงแบบสอบถามได้สำเร็จและ
1 warning
บอกเราว่ามีฐานข้อมูลอยู่แล้วและไม่มีฐานข้อมูลใหม่ที่ถูกสร้างขึ้น
แสดงรายการฐานข้อมูล MySQL ทั้งหมด
คุณสามารถแสดงรายการฐานข้อมูลทั้งหมดที่มีอยู่ในเซิร์ฟเวอร์ MySQL หรือ MariaDB ของเราด้วยคำสั่งต่อไปนี้:
SHOW DATABASES;
ผลลัพธ์จะมีลักษณะดังนี้:
+--------------------+ | Database | +--------------------+ | information_schema | | database_name | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec)
information_schema
,
mysql
,
performance_schema
และ
sys
ฐานข้อมูลถูกสร้างขึ้นในเวลาการติดตั้งและพวกเขาจะเก็บข้อมูลเกี่ยวกับฐานข้อมูลอื่น ๆ การกำหนดค่าระบบผู้ใช้การอนุญาตและข้อมูลสำคัญอื่น ๆ ฐานข้อมูลเหล่านี้จำเป็นสำหรับการทำงานที่เหมาะสมของการติดตั้ง MySQL
ลบฐานข้อมูล MySQL
การลบฐานข้อมูล MySQL นั้นง่ายเหมือนการรันคำสั่งเดียว นี่คือการกระทำที่ไม่สามารถย้อนกลับได้และควรดำเนินการด้วยความระมัดระวัง ตรวจสอบให้แน่ใจว่าคุณไม่ได้ลบฐานข้อมูลผิดเนื่องจากเมื่อคุณลบฐานข้อมูลแล้วจะไม่สามารถกู้คืนได้
ในการลบ MySQL หรือ MariaDB ฐานข้อมูลให้รันคำสั่งต่อไปนี้:
DROP DATABASE database_name;
Query OK, 0 rows affected (0.00 sec)
ERROR 1008 (HY000): Can't drop database 'database_name'; database doesn't exist
เพื่อหลีกเลี่ยงข้อผิดพลาดนี้คุณสามารถใช้คำสั่งต่อไปนี้:
DROP DATABASE IF EXISTS database_name;
สร้างบัญชีผู้ใช้ MySQL ใหม่
บัญชีผู้ใช้ใน MySQL ประกอบด้วยชื่อผู้ใช้และส่วนชื่อโฮสต์
ในการสร้างบัญชีผู้ใช้ MySQL ใหม่ให้เรียกใช้คำสั่งต่อไปนี้เพียงแค่แทนที่ 'database_user' ด้วยชื่อของผู้ใช้ที่คุณต้องการสร้าง:
CREATE USER 'database_user'@'localhost' IDENTIFIED BY 'user_password';
ในคำสั่งด้านบนเราได้ตั้งค่าชื่อโฮสต์เป็น
localhost
ซึ่งหมายความว่าผู้ใช้นี้จะสามารถเชื่อมต่อกับเซิร์ฟเวอร์ MySQL ได้จาก localhost เท่านั้น (เช่นจากระบบที่เซิร์ฟเวอร์ MySQL ทำงาน) หากคุณต้องการให้สิทธิ์การเข้าถึงจากโฮสต์อื่นเพียงแค่เปลี่ยน
localhost
ด้วย IP ของเครื่องระยะไกลหรือใช้ตัวแทน
'%'
สำหรับส่วนโฮสต์ซึ่งหมายความว่าบัญชีผู้ใช้จะสามารถเชื่อมต่อจากโฮสต์ใด ๆ
เช่นเดียวกับเมื่อทำงานกับฐานข้อมูลเพื่อหลีกเลี่ยงข้อผิดพลาดเมื่อพยายามสร้างบัญชีผู้ใช้ที่มีอยู่แล้วคุณสามารถใช้:
CREATE USER IF NOT EXISTS 'database_user'@'localhost' IDENTIFIED BY 'user_password';
Query OK, 0 rows affected, 1 warning (0.00 sec)
เปลี่ยนรหัสผ่านบัญชีผู้ใช้ MySQL
ไวยากรณ์สำหรับการเปลี่ยนรหัสผ่านบัญชีผู้ใช้ MySQL หรือ MariaDB ขึ้นอยู่กับรุ่นของเซิร์ฟเวอร์ที่คุณใช้บนระบบของคุณ
คุณสามารถค้นหารุ่นเซิร์ฟเวอร์ของคุณได้โดยใช้คำสั่งต่อไปนี้:
mysql --version
ALTER USER 'database_user'@'localhost' IDENTIFIED BY 'new_password';
SET PASSWORD FOR 'database_user'@'localhost' = PASSWORD('new_password');
ในทั้งสองกรณีผลลัพธ์ควรมีลักษณะดังนี้:
Query OK, 0 rows affected (0.00 sec)
รายการบัญชีผู้ใช้ MySQL ทั้งหมด
คุณสามารถแสดงรายการบัญชีผู้ใช้ MySQL หรือ MariaDB ทั้งหมดโดยการสืบค้นตาราง
mysql.users
:
SELECT user, host FROM mysql.user;
ผลลัพธ์ควรมีลักษณะคล้ายกับด้านล่าง:
+------------------+-----------+ | user | host | +------------------+-----------+ | database_user | % | | database_user | localhost | | debian-sys-maint | localhost | | mysql.session | localhost | | mysql.sys | localhost | | root | localhost | +------------------+-----------+ 6 rows in set (0.00 sec)
ลบบัญชีผู้ใช้ MySQL
หากต้องการลบบัญชีผู้ใช้ให้ใช้คำสั่งต่อไปนี้:
DROP USER 'database_user@'localhost';
ERROR 1396 (HY000): Operation DROP USER failed for 'database_user'@'localhost'
เช่นเดียวกับเมื่อทำงานกับฐานข้อมูลเพื่อหลีกเลี่ยงข้อผิดพลาดที่คุณสามารถใช้:
DROP USER IF EXISTS 'database_user'@'localhost';
Query OK, 0 rows affected, 1 warning (0.00 sec)
ให้สิทธิ์กับบัญชีผู้ใช้ MySQL
มีสิทธิพิเศษหลายประเภทที่สามารถมอบให้กับบัญชีผู้ใช้ คุณสามารถดูรายการสิทธิ์ทั้งหมดที่ MySQL รองรับได้ที่นี่ ในคู่มือนี้เราจะไปดูตัวอย่างหลาย ๆ
หากต้องการใช้สิทธิ์ทั้งหมดในบัญชีผู้ใช้ผ่านฐานข้อมูลเฉพาะให้ใช้คำสั่งต่อไปนี้:
GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';
ในการแกรนด์สิทธิ์ทั้งหมดของบัญชีผู้ใช้ผ่านฐานข้อมูลทั้งหมดให้ใช้คำสั่งต่อไปนี้:
GRANT ALL PRIVILEGES ON *.* TO 'database_user'@'localhost';
ในการแกรนด์สิทธิ์ทั้งหมดของบัญชีผู้ใช้บนตารางที่ระบุจากฐานข้อมูลให้ใช้คำสั่งต่อไปนี้:
GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';
GRANT SELECT, INSERT, DELETE ON database_name.* TO database_user@'localhost';
เพิกถอนการอนุญาตจากบัญชีผู้ใช้ MySQL
REVOKE ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';
แสดงสิทธิ์บัญชีผู้ใช้ MySQL
ในการค้นหาสิทธิ์ที่มอบให้กับประเภทบัญชีผู้ใช้ MySQL เฉพาะ:
SHOW GRANTS FOR 'database_user'@'localhost';
+---------------------------------------------------------------------------+ | Grants for database_user@localhost | +---------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'database_user'@'localhost' | | GRANT ALL PRIVILEGES ON `database_name`.* TO 'database_user'@'localhost' | +---------------------------------------------------------------------------+ 2 rows in set (0.00 sec)
ข้อสรุป
บทช่วยสอนนี้ครอบคลุมเฉพาะพื้นฐาน แต่ควรเป็นการเริ่มต้นที่ดีสำหรับผู้ที่ต้องการเรียนรู้วิธีจัดการฐานข้อมูล MySQL และผู้ใช้จากบรรทัดคำสั่ง คุณสามารถตรวจสอบบทช่วยสอนเกี่ยวกับวิธีรีเซ็ตรหัสผ่าน root ของ MySQL ในกรณีที่คุณลืม
นั่นคือทั้งหมด! หากคุณมีคำถามหรือข้อเสนอแนะอย่าลังเลที่จะแสดงความคิดเห็น
mysql mariadbโครงการ Drizzle Project มีโครงการ Stratus Down Downs สำหรับโครงการโอเพนซอร์สใหม่กำลังพัฒนาฐานข้อมูลไมโครเคอร์เนลใหม่โดยอิงกับ MySQL ซึ่งมีเป้าหมายใหญ่ -Scale โปรแกรมประยุกต์บนเว็บ

ฐานข้อมูล MySQL แบบโอเพนซอร์สเริ่มมีชีวิตชีวาเป็นทางเลือกที่มีน้ำหนักเบาสำหรับระบบจัดการฐานข้อมูลขนาดใหญ่ที่ขาดแคลนทรัพยากรเช่น Oracle หรือ Sybase ในช่วงหลายปีที่ผ่านมาผู้ใช้มีคุณสมบัติเพิ่มขึ้นเรื่อย ๆ ทำให้โค้ดเนมของ MySQL พองตัวด้วยความสามารถที่เคยพบมาก่อนในเชิงพาณิชย์เท่านั้น
Sun's Mickos: ฉันสบายดีกับ MySQL ของ MySQL 5.1 Rant

ผู้บริหารอาวุโสของ Sun ในวันจันทร์ลดลงความขัดแย้งกับสาธารณะล่าสุด วิพากษ์วิจารณ์โดยผู้ร่วมก่อตั้ง MySQL Michael Johnson "Monty" Widenius ซึ่งเป็นนักพัฒนาซอฟต์แวร์ฐานข้อมูลแบบโอเพนซอร์สของ MySQL ได้ปล่อย MySQL 5.1 เวอร์ชั่นล่าสุดของ Sun Microsystems ด้วยโพสต์โพสต์โพสต์ trashing ของเขาเมื่อวันที่ 29 พฤศจิกายนที่ผ่านมา Widenius เตือนให้ผู้ใช้ "ระมัดระวังเกี่ยวกับ MySQL 5.1" เพราะ "มีข้อผิดพลาดร้ายแรงที่รู้จักและไม่รู้จักหลายอย่างในคุณสมบัติใหม่ ๆ ที่ยังไม่ได้กล่าวถึง ความเห็นของ Widenius เพิ่มขึ้นอ
MySQL เปิดตัว MySQL Update เป็น Oracle Deal Looms

MySQL 5.4 เพิ่มการปรับปรุงขีดความสามารถให้กับฐานข้อมูล open-source