微生物基因體核心研究室

Microbial Genomics Core Laboratory, Graduate Institute of Genomics and Bioinformatics, NCHU, Taiwan

blog

讓mySQL提供服務給外部使用

通常大家用電腦裝Apache-PHP-mySQL架設像是Wordpress之類的網站來玩的時候,你裝的mySQL server都是僅提供服務給位在同一台主機上的網站。這時候任何從外面來的mySQL服務請求,預設都是會被拒絕的。但是,如果你是要讓你的mySQL提供服務給其他主機使用,要怎麼修改設定呢?以下是簡單的做法:

首先我們用root登入mySQL

# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is ****
Server version: 8.**.**

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

root@localhost [(none)]> 

現在,你可以創建一個叫做newdb的資料庫:

root@localhost [(none)]> create database newdb;

然後建立一個新的資料庫使用者dbuser001,把這個新資料庫的權限都開給他:

root@localhost [roger1]> create user 'dbuser001'@'%' identified by 'XxXxYyYxZzZz12345';
root@localhost [roger1]> GRANT ALL PRIVILEGES ON `roger1` . * TO 'dbuser001'@'%';
root@localhost [roger1]> flush privileges;

這樣新使用者dbuser001就可以從主機外部連上來使用mySQL資料庫了!

p.s 你可以用 netstat -a 指令看看是否已經有從遠端成功連進來到mySQL資料庫。

p.s 如果有防火牆還是TCPWrapper設定擋住的,就要想辦法改設定讓mySQL走的port 3306可以通行。