整體簡介:
為了安全起見默認情況下Mysql資料庫的監聽地址是127.0.0.1,就是指本機下的程序才能訪問。
監聽地址是0.0.0.0 ,表示該mysql允許所有IP地址進行連接,這是允許遠程連接的基礎
監聽地址是127.0.0.1,則代表該mysql只允許所在伺服器本機連接,外網是無法連接的
所需工具原料:
Linux,apache,php,mysql
解決方法:
1. 用命令vi 編輯/etc/mysql/my.cnf 如圖:
3. 重啟服務
service mysqld restart
4. Linux伺服器中執行如下命令可以查看: netstat -nutlp|grep mysql(只查看mysql的監聽), netstat -tln(查看所有的監聽)是否成功。
B. mysql主從復制搭建有幾個ip
在實際企業應用環境當中,單台mysql資料庫是不足以滿足日後業務需求的。譬如伺服器發生故障,沒有備份伺服器來提供服務的話,業務就得停止。介於這種情況,我們來學習一下mysql主從復制。
使用mysql主從復制的好處有:
1、採用主從伺服器這種架構,穩定性得以提升。如果主伺服器發生故障,我們可以使用從伺服器來提供服務。
2、在主從伺服器上分開處理用戶的請求,可以提升數據處理效率。
3、將主伺服器上的數據復制到從伺服器上,保護數據免受意外的損失。
環境描述:
新企業要搭建架構為主從復制的mysql資料庫。
主伺服器(mysql-master):IP地址:192.168.48.128,mysql已安裝,沒有用戶數據。
從伺服器(mysql-slave):IP地址:192.168.48.130,mysql已安裝,沒有用戶數據。
主從伺服器均可正常提供服務。
主從復制配置如下:
在主伺服器上操作:
1)、確保/etc/my.cnf中有如下參數,沒有的話需手工添加,並重啟mysql服務。
[mysqld]
log-bin=mysql-bin 啟動二進制文件
server-id=1 伺服器ID
2)、登錄mysql,在mysql中添加一個backup的賬號,並授權給從伺服器。
[root@localhost ~]# mysql -uroot –p123456 登錄mysql
mysql> grant replication slave on *.* to 'backup'@'192.168.48.130' identified by 'backup'; 創建backup用戶,並授權給192.168.48.130使用。
3)、查詢主資料庫狀態,並記下FILE及Position的值,這個在後面配置從伺服器的時候要用到。
C. 雙線空間的mysql資料庫伺服器名是什麼電信ip還是網通ip
如果是電信的用戶,mysql資料庫伺服器IP是電信伺服器IP,
如果是網通的用戶,mysql資料庫伺服器IP是網通伺服器IP。
雙線路的機房:服務本身有兩個IP,一個電信IP,一個網通IP。
鏡象網站:在網通及電信的機房放置多個相同的鏡象站點, 讓不同的地方客戶訪問不同的站點。
負載均衡:對於流量比較大的網站,可以通過該功能把流量分配到幾台不同的伺服器上,以提高網站的運行速度。
個性化站點服務:比如通過IP表的重新定義, 讓國外的客戶自動訪問英文版的網站; 讓國內的客戶自動訪問中文版的網站。
CDN加速器:通過與squid等WEB緩存軟體結合實現CDN加速器。
採用winmydns可以實現負載均衡,智能解析的功能。
D. MYSQL伺服器地址是什麼意思
MYSQL中的伺服器地址就是伺服器的IP地址。
如圖所示,其中標紅位置就是伺服器地址的填寫位置,一般可寫主機名稱或IP地址。
IP地址是指互聯網協議地址(英語:Internet Protocol Address,又譯為網際協議地址),是IP Address的縮寫。IP地址是IP協議提供的一種統一的地址格式,它為互聯網上的每一個網路和每一台主機分配一個邏輯地址,以此來屏蔽物理地址的差異。
E. 如何用IP連接mysql資料庫
1.改表法。可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 "mysql" 資料庫中 "user" 表裡的 "host" 欄位,把"localhost"改稱"%",即可。
mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;
2.授權法。例如,你想用戶myuser使用密碼mypassword通過ip地址連接到mysql伺服器,使用:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允許用戶myuser從ip為192.168.1.3的主機連接到mysql伺服器,並使用mypassword作為密碼
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
F. 怎麼設置才能讓外網ip可以訪問mysql資料庫
1、首先檢查mysql所在伺服器的防火牆,如果限制了外網對3306埠的連接,那麼放開限制
Linux伺服器中執行
iptables -L 可以查看當前的防火牆規則
iptables -F 可以清空所有防火牆規則
2、確保mysql的監聽地址是0.0.0.0
監聽地址是0.0.0.0 ,表示該mysql允許所有IP地址進行連接,這是允許遠程連接的基礎
監聽地址是127.0.0.1,則代表該mysql只允許所在伺服器本機連接,外網是無法連接的
怎麼知道mysql的監聽地址是多少
Linux伺服器中執行如下命令可以查看: netstat -nutlp|grep mysql
3、添加遠程連接mysql的賬號
此步驟是必須要操作的,mysql本身的用戶只能在本機上連接資料庫,外網連接的話,需要先添加遠程用戶並授權。
在mysql命令行模式下,或者phpmyadmin中執行sql語句添加遠程連接用戶
> grant all on *.* to root@'%' identified by '123456';
> flush privileges;
命令解釋:
*.* 第一個*表示庫,第二個*表示表; *.*對全部資料庫的全部表授權,so.ok 表示只對so這個庫中的ok表授權
root 表示要給哪個用戶授權,這個用戶可以是存在的用戶,也可以是不存在的
'%' 表示允許遠程連接的IP地址,%代表允許所有IP連接
只允許某個IP遠程連接,可以寫成'123.123.123.123'
只允許123.123.123.*這個網段遠程連接,可以寫成 '123.123.123.%' '123456' 是設置授權用戶的連接密碼
flush privileges; 代表立即刷新許可權表,使添加的用戶生效
上面三步都設置好了,就可以再次嘗試遠程連接mysql了。