การตั้งค่าเพื่ออนุญาตให้พีซีเครื่องอื่นเชื่อมต่อกับฐานข้อมูล MySQL (เวอร์ชัน Windows)

ปรับปรุงหน้า :
วันที่สร้างเพจ :

สภาพแวดล้อมในการทํางาน

MySQL
  • MySQL 8.0
หน้าต่าง
  • หน้าต่าง 11

เบื้องต้น

MySQL
  • MySQL 8.0
หน้าต่าง
  • หน้าต่าง 11
  • หน้าต่าง 10
เซิร์ฟเวอร์ Windows
  • เซิร์ฟเวอร์ Windows 2022
  • เซิร์ฟเวอร์ Windows 2019
  • เซิร์ฟเวอร์ Windows 2016
  • R2 Windows Server ๒๐๑๒

เงื่อนไขเบื้องต้น

  • ติดตั้ง MySQL 8 แล้ว

การตรวจสอบไฟร์วอลล์

ใน MySQL ไฟร์วอลล์ถูกตั้งค่าบนหน้าจอต่อไปนี้ระหว่างการติดตั้ง ดังนั้นคุณไม่จําเป็นต้องกําหนดการตั้งค่าเพิ่มเติมใดๆ

ตรวจสอบการตั้งค่าไฟร์วอลล์ของคุณในกรณี เนื่องจากการดําเนินการจนกว่าการแสดงผลจะแตกต่างกันไปตามรุ่นของ Windows ให้ป้อน "ไฟร์วอลล์" ในเมนูเริ่มเพื่อแสดง

เลือก "ขั้นสูง" จากเมนูด้านซ้าย

หากคุณเลือก "กฎขาเข้า" จากด้านซ้าย คุณจะเห็นว่ามีการเพิ่ม "พอร์ต 3306" และ "พอร์ต 33060" ลงในรายการแล้ว นี่คือสิ่งที่เพิ่มเข้ามาใน MySQL

การตรวจสอบไฟล์การกําหนดค่า

ก่อนหน้านี้จําเป็นต้อง bind-address เปลี่ยนจากไฟล์การกําหนดค่า แต่ในเวอร์ชันปัจจุบันไม่มีรายการนี้ดังนั้นจึงไม่จําเป็นต้องเปลี่ยนการตั้งค่า

ไฟล์การกําหนดค่าสําหรับ MySQL บน Windows สามารถพบได้ในตําแหน่งต่อไปนี้: ProgramData โฟลเดอร์ถูกซ่อนไว้ดังนั้นให้ป้อนเส้นทางลงในแถบที่อยู่ของ File Explorer โดยตรงหรือตั้งค่าโฟลเดอร์ที่ซ่อนอยู่ให้มองเห็นได้

C:\ProgramData\MySQL\MySQL Server 8.0\my.ini

การตั้งค่าสิทธิ์การเข้าถึงของผู้ใช้

ในการลงชื่อเข้าใช้ฐานข้อมูล MySQL คุณต้องระบุผู้ใช้ แต่โดยค่าเริ่มต้นผู้ใช้ทุกคนสามารถเข้าถึงได้ในเครื่องเท่านั้น ดังนั้นที่นี่เราจะตั้งค่าการอนุญาตสําหรับผู้ใช้

ฉันกําลังดําเนินการกับบัญชีเพื่อบันทึก root ขั้นตอนการเพิ่มบัญชีในครั้งนี้ ในการใช้งานจริงเป็นที่พึงปรารถนาในการสร้างบัญชีผู้ใช้แยกต่างหากและอนุญาตให้เชื่อมต่อกับบัญชีนั้น

มีสองวิธีในการอนุญาตการเชื่อมต่อ: โดยใช้คําสั่งหรือโดยใช้ GUI

การตั้งค่าสิทธิ์การเข้าถึงของผู้ใช้ (การดําเนินการ GUI)

จากเมนู Start เลือก "MySQL -> MySQL Workbench 8.0 CE" เพื่อเริ่มต้น

เมื่อคุณเริ่มต้น จะมีอินสแตนซ์เริ่มต้นที่มุมล่างซ้าย ดังนั้นให้เลือก

คุณจะถูกถามถึงรหัสผ่านดังนั้นเข้าสู่ระบบด้วยบัญชีรูท

เลือกแท็บการดูแลระบบจากเมนูเนวิเกเตอร์ทางด้านซ้ายและเลือกผู้ใช้และสิทธิ์

ในรายการ ให้เลือกบัญชีที่คุณต้องการเปลี่ยนสิทธิ์ root ในกรณีนี้เราได้เลือกบัญชี

Limit to Hosts Matching ฉันคิดว่ามีรายการและตั้งค่าเป็นค่าเริ่มต้น localhost ซึ่งหมายความว่าสามารถเข้าถึงได้จาก localhost เท่านั้น ตั้งค่านี้เป็นที่อยู่ IP ของพีซีที่คุณต้องการอนุญาตการเชื่อมต่อ หากคุณป้อนตามปกติ จะมีการกําหนดเป้าหมายเพียงหน่วยเดียว แต่ถ้าคุณต้องการเลือกช่วง คุณสามารถใช้สัญลักษณ์แทน "%" ได้ ดังนั้นหากคุณระบุ "192.168.0.%" คุณจะอนุญาต "192.168.0.0" ~ "192.168.0.255"

เมื่อป้อนแล้ว คุณสามารถนําไปใช้ได้โดยคลิกปุ่ม "ใช้" ที่ด้านล่างขวา

คุณจะเห็นว่ารายชื่อผู้ใช้มีการเปลี่ยนแปลงเช่นกัน

การตั้งค่าสิทธิ์การเข้าถึงของผู้ใช้ (คําสั่ง)

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

จากเมนูเริ่มเลือก" MySQL -> MySQL 8.0 Command Line Client" และเรียกใช้

คุณจะได้รับแจ้งให้ใส่รหัสผ่านดังนั้นป้อนรหัสผ่านรูท

คุณสามารถเรียกดูรายชื่อผู้ใช้และโฮสต์ได้โดยป้อนคําสั่งต่อไปนี้:

select user,host from mysql.user;

หากต้องการสร้างผู้ใช้ ให้ป้อนคําสั่งต่อไปนี้: ป้อนที่อยู่ IP ของพีซีที่คุณต้องการเชื่อมต่อภายนอกกับ "โฮสต์การอนุญาต" เนื่องจากสามารถใช้สัญลักษณ์แทน "%" ได้ ให้ป้อน "%" เพื่ออนุญาตการเข้าถึงจากทั้งหมด และ "192.168.0.0" ~ "192.168.0.255" เพื่ออนุญาต "192.168.0.%" หากคุณต้องการรวม "%" ให้ใส่เครื่องหมายอัญประกาศเดี่ยว

create user <ユーザー名>@<アクセス許可ホスト> identified by '<パスワード>';

Examp อินพุต

create user user1@'192.168.0.%' identified by 'xxxxxxxx';

ฉันสามารถสร้างผู้ใช้ด้วยคําสั่งข้างต้นได้ แต่ฉันไม่มีสิทธิ์การเข้าถึงใด ๆ ดังนั้นฉันจึงเพิ่มสิทธิ์ด้วยคําสั่งต่อไปนี้

ประเภทของสิทธิ์ ได้แก่ "ALL [PRIVILEGES]", "CREATE (permission to create databases, tables, etc.)" และ "SELECT (browse table records)" โปรดตรวจสอบเว็บไซต์อย่างเป็นทางการสําหรับเนื้อหาของการอนุญาต

สิทธิ์ที่จะตั้งค่าสามารถระบุได้ต่อฐานข้อมูลหรือต่อตาราง หากคุณป้อน "*.*" คุณสามารถตั้งค่าสิทธิ์การเข้าถึงสําหรับฐานข้อมูลและตารางทั้งหมดได้

grant <権限の種類> on <データベース名>.<テーブル名> to <ユーザー名>@<アクセス許可ホスト>;

Examp อินพุต

grant all privileges on *.* to user1@'192.168.0.%';

หากต้องการแสดงการตั้งค่า ให้ป้อนคําสั่งต่อไปนี้:

flush privileges;

หากคุณตรวจสอบรายชื่อผู้ใช้อีกครั้งคุณสามารถยืนยันได้ว่าได้สร้างและกําหนดค่าแล้ว

ตรวจสอบการเชื่อมต่อ

เครื่องมือใด ๆ ที่สามารถเชื่อมต่อจากภายนอกนั้นใช้ได้ แต่คราวนี้เราจะพยายามเชื่อมต่อกับ Workbench ซึ่งเป็นไคลเอนต์อย่างเป็นทางการของ MySQL

เริ่ม Workbench หากคุณติดตั้งบนพีซีเครื่องอื่น

เพิ่มการเชื่อมต่อ MySQL

ป้อนการตั้งค่าที่จําเป็นสําหรับการเชื่อมต่อ คุณสามารถใช้ชื่อ DNS ได้ แต่ด้วยเหตุผลบางอย่างฉันไม่สามารถเชื่อมต่อกับ Workbench ได้ ดังนั้นฉันจึงระบุด้วยที่อยู่ IP

หากตรวจสอบการเชื่อมต่อและสําเร็จสามารถตัดสินได้ว่าการตั้งค่าเป็นเรื่องปกติ