การตั้งค่าเพื่ออนุญาตให้พีซีเครื่องอื่นเชื่อมต่อกับฐานข้อมูล 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
หากตรวจสอบการเชื่อมต่อและสําเร็จสามารถตัดสินได้ว่าการตั้งค่าเป็นเรื่องปกติ