本文目錄一覽:
- 1、如何連接遠程Mysql資料庫
- 2、如何把mysql資料庫上傳到遠程伺服器上(即網站)
- 3、怎樣在遠程伺服器上創建一個mysql資料庫
- 4、如何訪問遠程伺服器上的mysql資料庫
- 5、mysql 遠程連接方法
如何連接遠程Mysql資料庫
第一:更改 「mysql」 資料庫里的 「user」 表裡的 「host」 項,從」localhost」改稱’%’。
或者新加條記錄,「host」 項為要訪問的ip地址,並授權。重啟mysql服務。
第二:在系統防火牆添加例外埠:3306,並允許例外。
錯誤提示:
ERROR 1130: Host ‘192.168.1.3’ is not allowed to connect to this MySQL server
的解決方法:
1。改表法。可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 “mysql” 資料庫里的 “user” 表裡的 “host” 項,從”localhost”改稱”%”
1.mysql -u root -pvmware
mysqluse mysql;
mysqlupdate user set host = ‘%’ where user = ‘root’;
mysqlselect host, user from user;
2. 授權法。例如,你想myuser使用mypassword從任何主機連接到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;
3.在window自帶的防火牆裡的例外添加3306埠
總結:
mysql -u root -p
mysqluse mysql;
mysqlselect ‘host’ from user where user=’root’;
mysqlupdate user set host = ‘%’ where user =’root’;
mysqlflush privileges;
mysqlselect ‘host’ from user where user=’root’;
第一句是以許可權用戶root登錄
第二句:選擇mysql庫
第三句:查看mysql庫中的user表的host值(即可進行連接訪問的主機/IP名稱)
第四句:修改host值(以通配符%的內容增加主機/IP地址),當然也可以直接增加IP地址
第五句:刷新MySQL的系統許可權相關表
第六句:再重新查看user表時,有修改。。
重起mysql服務即可完成。
如何把mysql資料庫上傳到遠程伺服器上(即網站)
1)、數據不多的情況下,可以直接用資料庫連接工具,上面有資料庫拷貝到資料庫的功能來拷貝。
2)、數據量大的情況下,建議用下面的方式:
1、遠程服務上面安裝mysql伺服器
2、本地的資料庫的數據導出到一個文件中
3、ftp或者其他方式,把這個資料庫文件傳到遠程伺服器
4、用遠程服務中source命令,導入
怎樣在遠程伺服器上創建一個mysql資料庫
第一步:安裝MySQL客戶端
當然你得確保MySQL客戶端已經安裝完畢。如果沒有的話,可以按照下面的方法。
在Debian,Ubuntu 或者 Linux Mint上:
$ sudo apt-get install mysql-client
$ sudo apt-get install mysql
第二步:登陸到MySQL伺服器
首先,你需要使用root用戶登陸進你的MySQL資料庫,如下:
$ mysql -u root -h -p
請注意:為了能登進遠程的MySQL伺服器,你需要開啟伺服器上的遠程訪問,如果你想調用同一主機上的MySQL伺服器,你可以省略 “-h ” 參數
$ mysql -u root -p
你將需要輸入MySQL伺服器的密碼,如果認證成功,MySQL提示將會出現。
第三步:創建一個MySQL資料庫
在MySQL提示中輸入命令之前,請記住所有的命令都是以分號結束的(否則將不會執行)。另外,考慮輸入命令的時候使用大些字母,輸入資料庫對象使用小寫字母。但那不是必須的,只是方便的閱讀。
現在,創建一個叫做xmodulo_DB的資料庫:
mysql CREATE DATABASE IF NOT EXISTS xmodulo_DB;
第四步:創建一個資料庫表
為了達到演示的目的,創建一個叫做posts_tbl的表,表裡會存儲關於文章的如下信息:
文章的標題
作者的名字
作者的姓
文章可用或者不可用
文章創建的日期
這個過程分兩步執行:
首先,選擇需要使用的資料庫:
mysql USE xmodulo_DB;
然後,在資料庫中創建新表:
mysql CREATE TABLE ‘posts_tbl’ (
‘post_id’ INT UNSIGNED NOT NULL AUTO_INCREMENT,
‘content’ TEXT,
‘author_FirstName’ VARCHAR(100) NOT NULL,
‘author_LastName’ VARCHAR(50) DEFAULT NULL ,
‘isEnabled’ TINYINT(1) NOT NULL DEFAULT 1,
‘date’ TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
PRIMARY KEY ( ‘post_id’ )
TYPE = MYISAM;
第五步:創建一個用戶,並授予許可權
當涉及到訪問新創的資料庫和表的時候,創建一個新用戶是一個很好的主意。這樣做就可以讓用戶在沒有整個MySQL伺服器許可權的情況下,去訪問那個資料庫(而且只能是那個資料庫)
你可以創建新用戶,授予許可權,並且使改變生效:
mysql GRANT ALL PRIVILEGES ON xmodulo_DB.* TO ‘new_user’@’%’ IDENTIFIED BY ‘new_password’;
mysql FLUSH PRIVILEGES;
‘newuser’和’newpassword’分別指的是新的用戶名和他的密碼。這條信息將會被保存在mysql.user表中,而且密碼會被加密。
第六步:測試
先插入一個虛擬的記錄到posts_tbl表:
mysql USE xmodulo_DB;
mysql INSERT INTO posts_tbl (content, author_FirstName, author_Las tName)
VALUES (‘Hi! This is some dummy text.’, ‘Gabriel’, ‘Canepa’);
然後查看posts_tbl表中的所有記錄:
mysql SELECT * FROM posts_tbl;
注意:MySQL會在先前定義的地方自動插入適當的默認值(比如,’isEnabled’和’date’)。
如何訪問遠程伺服器上的mysql資料庫
首先確定已經安裝並且能夠使用,而且資料庫的遠程訪問已開啟;
如果對方不是固定的IP,則可以使用花生殼來充當固定的IP,花生殼的安裝,及具體的使用方法,請參考另一篇經驗 《申請一個免費域名及遠程桌面》;
接下來便是訪問了
首先在運行輸入 cmd
這樣便打開了命令提示符,如下:
打開了之後在此輸入 mysql -h你的IP或者花生殼的賬戶 -uroot -p該資料庫的密碼
例如:mysql -h30.158.59.78 -uroot -pabc123
mysql -htom.xicp.net -uroot -pabc123
10
完成
mysql 遠程連接方法
mysql開啟遠程連接:
以 root用戶登入mysql
GRANT all privileges ON wang.* TO ‘wang’@’%’ identified by ‘wang’;
flush privileges;
請點擊輸入圖片描述
修改配置文件
vi /etc/mysql/my.cnf
把bind-address = 127.0.0.1 這行注掉
重啟資料庫
service mysql restart
請點擊輸入圖片描述
本地測試連接3306埠
telnet 192.168.1.77 3306 若已連通
確定已安裝mysql客戶端which mysql
/usr/bin/mysql
然後mysql -uwang -h192.168.1.77 -p 看能否登錄
請點擊輸入圖片描述
外網如何利用網路輔助nat123實現訪問內網mysql資料庫?
網路環境:動態公網IP。
明確mysql資料庫內網訪問地址埠,確保mysql資料庫服務正常,在內網可以正常訪問連接。內網使用nat123動態域名解析。內網伺服器安裝nat123客戶端,並使用它。登陸。進入主面板/域名解析列表/添加域名。選擇動態域名解析記錄,使用二級域名,或自己的域名。滑鼠放在輸入框有嚮導提示。
請點擊輸入圖片描述
路由器埠映射,路由映射mysql資料庫訪問埠。
因為公網IP是在路由器上的,外網訪問時,需要經過路由,需要在路由器上做埠映射,將內網mysql資料庫訪問埠打通。路由器埠映射位置:轉發規則/虛擬伺服器/添加允許外網訪問埠和協議。我的mysql資料庫埠是默認的3306,我內網對應mysql資料庫主機的內網IP地址是192.168.1.22。
請點擊輸入圖片描述
外網訪問時,使用動態解析域名。
在外網訪問mysql資料庫時,使用動態解析域名進行連接訪問。域名是不變的,可以上網即可訪問,再也不擔心動態公網IP變化的問題。
請點擊輸入圖片描述
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/285539.html