คู่มือการรีเซ็ตรหัสผ่านฐานข้อมูลใน ServBay
ในการพัฒนาเว็บด้วยสภาพแวดล้อมการพัฒนาท้องถิ่นของ ServBay งานสำคัญอย่างหนึ่งคือการจัดการฐานข้อมูล (เช่น MySQL, MariaDB, PostgreSQL, Redis) บางครั้งคุณอาจจำเป็นต้องรีเซ็ตรหัสผ่านผู้ใช้ฐานข้อมูลด้วยเหตุผลด้านความปลอดภัย ลืมรหัสผ่าน หรือสาเหตุอื่นๆ คู่มือนี้จะสอนวิธีรีเซ็ตรหัสผ่านฐานข้อมูลหลักเหล่านี้ใน ServBay อย่างปลอดภัยและมีประสิทธิภาพ ทั้งแบบผ่านอินเตอร์เฟซกราฟิกและแบบคำสั่ง
โปรดทราบว่าในแต่ละรุ่นของฐานข้อมูลบน ServBay อาจมีรายละเอียดเส้นทางหรือการตั้งค่าที่แตกต่างกันเล็กน้อย กรุณาตรวจสอบรุ่นและตำแหน่งไฟล์ให้ตรงกับที่คุณใช้งาน
รีเซ็ตรหัสผ่าน root
ของ MySQL/MariaDB
TIP
ขั้นตอนรีเซ็ตรหัสผ่านผู้ใช้ root
ของ MySQL และ MariaDB แทบเหมือนกัน ในที่นี้จะอธิบายด้วยตัวอย่าง MariaDB
MySQL และ MariaDB เป็นระบบฐานข้อมูลเชิงสัมพันธ์ยอดนิยมและถือเป็นส่วนสำคัญบน ServBay ในส่วนนี้จะสอนวิธีรีเซ็ตรหัสผ่านผู้ใช้ root
ของ MySQL และ MariaDB ภายใต้ ServBay
ขอยกตัวอย่างการใช้งานในเวอร์ชัน MariaDB 11.3
ที่รวมมากับ ServBay
วิธีที่ 1: รีเซ็ตรหัสผ่าน root
ของ MariaDB ผ่านอินเตอร์เฟซของ ServBay
ServBay มีอินเตอร์เฟซกราฟิกที่ช่วยให้สามารถรีเซ็ตรหัสผ่านผู้ใช้ root
ได้สะดวกและรวดเร็ว
- เปิดแอป ServBay
- ที่แถบนำทางด้านซ้าย คลิกที่
ฐานข้อมูล
เลือกMariaDB
แล้วเลือกเวอร์ชันที่ต้องการรีเซ็ตรหัสผ่าน (เช่นMariaDB 11.3
) - ที่หน้าข้อมูลแพ็คเกจด้านขวา มองหาช่องกรอก
รหัสผ่าน
- คลิกไอคอนรูปกุญแจข้างๆ ช่อง
รหัสผ่าน
- ระบบจะแสดงหน้าต่างยืนยันการรีเซ็ตรหัสผ่าน
root
คลิกยืนยัน
- รหัสผ่านของผู้ใช้
root
จะถูกตั้งใหม่เป็นรหัสผ่านเริ่มต้นของ ServBay:ServBay.dev
วิธีที่ 2: รีเซ็ตรหัสผ่าน root
ของ MariaDB ผ่านคอมมานด์ไลน์
สำหรับผู้ใช้ขั้นสูงหรือเมื่อต้องการทำงานแบบอัตโนมัติ สามารถใช้คอมมานด์ไลน์เพื่อรีเซ็ตรหัสผ่าน root
ของ MariaDB ได้ วิธีนี้ต้องเริ่มฐานข้อมูลในโหมดข้ามระบบสิทธิ์ชั่วคราว
ตัวอย่างต่อไปนี้เป็นของ MariaDB 11.3
กรุณาแก้ไขชื่อเวอร์ชันและเส้นทางให้ตรงกับที่คุณใช้งานจริง
หยุดบริการ MariaDB: ใช้คำสั่งควบคุมของ ServBay เพื่อหยุดบริการ MariaDB
bashservbayctl stop mariadb 11.3
1เปลี่ยนชื่อ
mariadb 11.3
ให้ตรงกับเวอร์ชันที่ใช้งานเริ่ม MariaDB ในโหมดปลอดภัย: สั่งรัน MariaDB โดยข้ามตารางสิทธิ์และการเชื่อมต่อผ่านเครือข่าย เพื่อให้เข้าสู่ระบบได้โดยไม่ต้องใช้รหัสผ่าน
bash/Applications/ServBay/package/mariadb/11.3/current/bin/mysqld_safe --skip-grant-tables --skip-networking &
1เส้นทาง
/Applications/ServBay/package/mariadb/11.3/current/bin/mysqld_safe
คือ path ไปยังไฟล์ปฏิบัติการของ MariaDB ใน ServBay--skip-grant-tables
อนุญาตให้ล็อกอินโดยไม่ต้องใช้รหัสผ่าน--skip-networking
ป้องกันการเชื่อมต่อจากภายนอก&
เพื่อรันเบื้องหลังล็อกอินเข้าสู่ MariaDB: ใช้ client
mysql
เพื่อเข้าสู่โปรแกรมในฐานะ root (ไม่ต้องใช้รหัสผ่านในขั้นตอนนี้)bash/Applications/ServBay/package/mariadb/11.3/current/bin/mysql -u root
1เส้นทางข้างต้นคือ client ของ MariaDB ที่มากับ ServBay
รีเซ็ตรหัสผ่าน: หลังเข้าสู่ระบบ ให้รันคำสั่ง SQL ด้านล่างเพื่อเปลี่ยนรหัสผ่าน
sqlFLUSH PRIVILEGES; -- รีเฟรชสิทธิ์ เพื่อให้ ALTER USER ทำงาน ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; -- เปลี่ยน 'new_password' เป็นรหัสผ่านใหม่ที่คุณต้องการ FLUSH PRIVILEGES; -- รีเฟรชสิทธิ์อีกครั้ง
1
2
3กรุณาแทนที่
'new_password'
ด้วยรหัสผ่านที่คาดเดายาก แนะนำว่าไม่ควรใช้ServBay.dev
เว้นแต่เพื่อทดลองชั่วคราวออกจาก MariaDB: เมื่อเปลี่ยนรหัสผ่านเสร็จ ให้พิมพ์
sqlexit;
1หยุดบริการ MariaDB ที่รันในโหมดปลอดภัย: หยุด process MariaDB ที่เริ่มแบบ skip grant tables โดยใช้
servbayctl stop
หรือ kill process โดยตรงbashservbayctl stop mariadb 11.3
1หากยังไม่หยุด อาจใช้
ps aux | grep mysqld_safe
เพื่อตรวจสอบ process แล้วใช้kill <PID>
เพื่อหยุดเริ่มบริการ MariaDB ปกติ: สั่งรัน MariaDB ตามปกติ รหัสผ่านใหม่จะใช้งานได้ทันที
bashservbayctl start mariadb 11.3
1
รีเซ็ตรหัสผ่าน PostgreSQL
PostgreSQL คือระบบฐานข้อมูลรุ่นใหม่ที่ได้รับความนิยมสูงและเปิดโค้ด ภายใน ServBay คุณสามารถรีเซ็ตรหัสผ่านผู้ใช้หลักได้ง่ายๆ
จะอธิบายตัวอย่างจากเวอร์ชัน PostgreSQL 16
ใน ServBay
ขั้นตอนการรีเซ็ตรหัสผ่าน PostgreSQL
การรีเซ็ตรหัสผ่าน PostgreSQL ต้องแก้ไขไฟล์การตรวจสอบสิทธิ์ pg_hba.conf
ก่อนชั่วคราว
ตรวจสอบชื่อผู้ใช้ผู้ดูแล: ตรวจสอบชื่อผู้ใช้ที่ต้องการรีเซ็ตรหัสผ่าน ดูได้ใน ServBay interface เปิด ServBay ไปที่
ฐานข้อมูล
>PostgreSQL
> เลือกเวอร์ชัน (เช่นPostgreSQL 16
) ที่หน้ารายละเอียดมองหาส่วนAccount
แล้วจดชื่อผู้ใช้ปัจจุบัน (ส่วนมากจะเป็นservbay
)หยุดบริการ PostgreSQL: ใช้คำสั่งควบคุมของ ServBay
bashservbayctl stop postgresql 16
1เปลี่ยนชื่อเวอร์ชันหากเป็นเวอร์ชันอื่น
สำรองไฟล์
pg_hba.conf
: ไฟล์นี้ใช้ตั้งค่าวิธีตรวจสอบสิทธิ์ ควรสำรองไว้ก่อนก่อนแก้ไขbashcp /Applications/ServBay/db/postgresql/16/pg_hba.conf /Applications/ServBay/db/postgresql/16/pg_hba.conf.bak
1เปลี่ยน path ให้ตรงกับ ServBay ของคุณ
แก้ไข
pg_hba.conf
ชั่วคราว: แก้ค่าในไฟล์นี้ ให้ authentication เป็นtrust
ชั่วคราว (แทนจากscram-sha-256
หรือmd5
)bashsed -i '' 's/scram-sha-256/trust/g' /Applications/ServBay/db/postgresql/16/pg_hba.conf
1ถ้าไฟล์ของคุณใช้
md5
ให้เปลี่ยนเป็นs/md5/trust/g
ตามจริงสตาร์ท PostgreSQL: เพื่อให้ค่าใหม่ทำงาน
bashservbayctl start postgresql 16
1เข้าสู่ psql shell: เชื่อมต่อฐานข้อมูลโดยไม่ต้องใช้รหัสผ่าน (เพราะ set เป็น trust ชั่วคราวแล้ว)
bashpsql -h /Applications/ServBay/tmp -U <ชื่อผู้ใช้> postgres # ตัวอย่าง: psql -h /Applications/ServBay/tmp -U servbay postgres
1
2แทนที่
<ชื่อผู้ใช้>
ด้วยชื่อในข้อ 1รีเซ็ตรหัสผ่าน: ที่ prompt ของ psql ให้รัน SQL ต่อไปนี้
sqlALTER USER <ชื่อผู้ใช้> WITH PASSWORD 'new_password'; -- ตัวอย่าง: ALTER USER servbay WITH PASSWORD 'new_password';
1
2เปลี่ยน
<ชื่อผู้ใช้>
และ'new_password'
เป็นค่าที่ต้องการออกจาก psql
sql\q
1หยุดบริการ PostgreSQL
bashservbayctl stop postgresql 16
1คืนค่า
pg_hba.conf
: กลับสู่การตั้งค่าปกติโดย restore ไฟล์ที่ backup ไว้bashcp /Applications/ServBay/db/postgresql/16/pg_hba.conf.bak /Applications/ServBay/db/postgresql/16/pg_hba.conf
1สตาร์ท PostgreSQL ปกติ:
bashservbayctl start postgresql 16
1ตอนนี้คุณก็ใช้งานรหัสผ่านใหม่กับ PostgreSQL ได้แล้ว
รีเซ็ตรหัสผ่าน Redis
Redis คือตัวจัดเก็บข้อมูลเป็น In-memory ที่ใช้งานบ่อยทั้งเป็นฐานข้อมูล แคช และ Message-broker ใน ServBay คุณเปลี่ยนรหัสผ่าน Redis ได้ด้วยวิธีต่อไปนี้
วิธีที่ 1: รีเซ็ตรหัสผ่าน Redis ผ่านอินเตอร์เฟซของ ServBay
ServBay มีวิธีตั้งรหัสผ่าน Redis แบบกราฟิกที่เข้าใจง่าย
- เปิดแอป ServBay
- ที่แถบนำทางด้านซ้าย คลิก
ฐานข้อมูล
>NoSQL
>Redis
- ที่หน้ารายละเอียด Redis มองหาช่อง
รหัสผ่าน
- ใส่รหัสผ่านใหม่ที่คุณต้องการ ถ้ายังไม่มี ค่าในช่องจะว่างเปล่า
- กดปุ่ม
บันทึก
ข้างช่องรหัสผ่าน - ServBay จะรีสตาร์ท Redis โดยอัตโนมัติเพื่อให้รหัสผ่านใหม่มีผล
วิธีที่ 2: รีเซ็ตรหัสผ่าน Redis ด้วยการแก้ไขไฟล์ redis.conf
คุณสามารถตั้งหรือเปลี่ยนรหัสผ่าน Redis ได้โดยตรงที่ไฟล์ config
เปิดไฟล์กำหนดค่าของ Redis: ใช้ editor ที่ชอบเพื่อเปิดไฟล์
redis.conf
ที่เก็บใน ServBaybashvim /Applications/ServBay/package/etc/redis/redis.conf
1เปลี่ยน path ตามการติดตั้งของคุณ
ค้นหาและแก้ไขบรรทัด
requirepass
: ค้นหาบรรทัดที่ขึ้นต้นด้วยrequirepass
หากถูก comment (#
) ให้นำ#
ออก แล้วกำหนดรหัสผ่านใหม่plaintextrequirepass your_new_strong_password
1เปลี่ยน
your_new_strong_password
เป็นรหัสผ่านใหม่บันทึกและออกจาก editor
รีสตาร์ทบริการ Redis
bashservbayctl restart redis -all
1คำสั่งนี้จะรีสตาร์ท Redis ทุก instance ที่ ServBay จัดการไว้
สรุป
การรีเซ็ตรหัสผ่านฐานข้อมูลเป็นหนึ่งในภารกิจสำคัญของผู้ดูแลระบบ ฐานข้อมูล คู่มือนี้ได้สอนคุณทั้งการรีเซ็ตรหัสผ่านของ MySQL/MariaDB, PostgreSQL และ Redis ในสภาพแวดล้อมการพัฒนาของ ServBay ไม่ว่าคุณจะใช้วิธีผ่านกราฟิก หรือคอมมานด์ไลน์ คุณก็สามารถเปลี่ยนรหัสผ่านและกลับมาเข้าถึงฐานข้อมูลของคุณได้เมื่อเกิดการลืมหรือจำเป็นต้องเพิ่มความปลอดภัย ขอให้คุณตั้งรหัสผ่านที่แข็งแรงและจดบันทึกไว้ในที่ปลอดภัยเสมอเพื่อความมั่นใจในความปลอดภัยของข้อมูลและสภาพแวดล้อมพัฒนาของคุณ