讓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可以通行。