web與mysql資料庫分離開來是一個不錯的選擇,避免因為大量的資料庫查詢佔用CPU而使web資源不足,同時可以使web伺服器的資源盡最大的提供瀏覽服務,而資料庫伺服器單獨的只處理資料庫事物。
適用範圍:擁有外掛式主控件許可權。
硬體設定:兩台伺服器,至於具體伺服器硬體設定就不在本文範圍內了。其中:A為web伺服器(假設ip為:192.192.192.192)、B為mysql資料服務器(假設ip為:168.168.168.168)
著手動作:
1.在web伺服器A配置好web服務。假設web伺服器的IP為:192.192.192.192
2.在資料庫伺服器B安裝好mysql服務。
3.現在新版的mysql一般預設都不允許遠端連線的。需要建立遠端連線帳號才可以。
以命令列方式使用root帳號進入mysql。
mysql -uroot -ppass
選擇進入mysql資料庫
use `mysql`;
查看所有存在的帳號和地址。
SELECT `Host`,`User` FROM `user`;
比如我的就是:
+-----------+------+
| Host | User |
+-----------+------+
| localhost | |
| localhost | pma |
| localhost | root |
+-----------+------+
3 rows in set (0.00 sec)
也就是說,存在三個只允許本地串連的(localhost)帳號,分別為 root、pma、空使用者。
現在決定讓root具有上面那個web伺服器A的遠程連結的許可權,那麼就這樣。
UPDATE `user` SET `Host`='192.192.192.192' WHERE `User`='root' LIMIT 1;
這樣192.192.192.192這台web伺服器就可以遠端連線到這個資料庫伺服器了。假如你想讓任何遠程機器都可以串連這個資料庫,就將192.192.192.192換為%。不過不建議這樣做!
假如你想建立一個使用者new_user具備遠程連結的許可權的話,就這樣
INSERT INTO `user` ( `Host` , `User` , `Password` , `Select_priv` ,
`Insert_priv` , `Update_priv` , `Delete_priv` , `Create_priv` ,
`Drop_priv` , `Reload_priv` , `Shutdown_priv` , `Process_priv` ,
`File_priv` , `Grant_priv` , `References_priv` , `Index_priv` ,
`Alter_priv` , `Show_db_priv` , `Super_priv` , `Create_tmp_table_priv`
, `Lock_tables_priv` , `Execute_priv` , `Repl_slave_priv` ,
`Repl_client_priv` , `ssl_type` , `ssl_cipher` , `x509_issuer` ,
`x509_subject` , `max_questions` , `max_updates` , `max_connections` )
VALUES ('192.192.192.192', 'new_user', PASSWORD( 'new_user_password' )
, 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y',
'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', '0', '0', '0');
將new_user改為你想要的名字就可以了,密碼是:new_user_password,當然你可以隨意設定。
實際操作中,最好兩台機器在同一個機房的同意網段/防火牆內。當然如果有可能的話,將資料庫伺服器放置於web伺服器網路內的區域網路中就更好了。