學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 電腦安全 > 局域網(wǎng)安全 > MYSQL數(shù)據(jù)庫(kù)遠(yuǎn)程訪問(wèn)

MYSQL數(shù)據(jù)庫(kù)遠(yuǎn)程訪問(wèn)

時(shí)間: 林澤1002 分享

MYSQL數(shù)據(jù)庫(kù)遠(yuǎn)程訪問(wèn)

  項(xiàng)目中遇到A項(xiàng)目需要訪問(wèn)B項(xiàng)目的數(shù)據(jù)庫(kù),共同使用同一個(gè)用戶(hù)表,此時(shí)需要用到數(shù)據(jù)庫(kù)的遠(yuǎn)程訪問(wèn)。下面是學(xué)習(xí)啦小編跟大家分享的是MYSQL 數(shù)據(jù)庫(kù)遠(yuǎn)程訪問(wèn),歡迎大家來(lái)閱讀學(xué)習(xí)。

  MYSQL 數(shù)據(jù)庫(kù)遠(yuǎn)程訪問(wèn)

  方法/步驟

  本地項(xiàng)目的數(shù)據(jù)庫(kù)需要開(kāi)啟federated引擎才能訪問(wèn)遠(yuǎn)程數(shù)據(jù)庫(kù)的表。

  MYSQL命令行,查看FEDERATED引擎是否開(kāi)啟,默認(rèn)是不開(kāi)啟。

  >show engines;

  如下圖,我的已經(jīng)開(kāi)啟引擎。

  如果沒(méi)有開(kāi)啟,配置my.cnf[mysqld]feterated

  重新啟動(dòng)mysql服務(wù)器。

  遠(yuǎn)程IPB的數(shù)據(jù)庫(kù)也要開(kāi)啟遠(yuǎn)程連接。這樣本地的數(shù)據(jù)庫(kù)DB1才有權(quán)限訪問(wèn)遠(yuǎn)程數(shù)據(jù)庫(kù)DB2.

  創(chuàng)建遠(yuǎn)程登陸用戶(hù)并授權(quán):

  執(zhí)行以下命令:(下面有詳細(xì)說(shuō)明)

  USE mysql;

  SELECT host,user,PASSWORD from user;

  GRANT ALL PRIVILEGES ON *.* TO "root"@"%" IDENTIFIED BY "yourpassward";

  FLUSH PRIVILEGES;

  USE mysql;

  SELECT host,user,PASSWORD from user;

  grant all PRIVILEGES on study.* to tom@'192.168.4.156' identified by 'sun3d';

  上面的語(yǔ)句表示將 study 數(shù)據(jù)庫(kù)的所有權(quán)限授權(quán)給 tom 這個(gè)用戶(hù),允許 tom 用戶(hù)在 192.168.4.156這個(gè) IP 進(jìn)行遠(yuǎn)程登陸,并設(shè)置 tom 用戶(hù)的密碼為 sun3d。

  下面逐一分析所有的參數(shù):

  all PRIVILEGES 表示賦予所有的權(quán)限給指定用戶(hù),這里也可以替換為賦予某一具體的權(quán)限,例如:select,insert,update,delete,create,drop 等,具體權(quán)限間用“,”半角逗號(hào)分隔。

  study.* 表示上面的權(quán)限是針對(duì)于哪個(gè)表的,study 指的是數(shù)據(jù)庫(kù),后面的 * 表示對(duì)于所有的表,由此可以推理出:對(duì)于全部數(shù)據(jù)庫(kù)的全部表授權(quán)為“*.*”,對(duì)于某一數(shù)據(jù)庫(kù)的全部表授權(quán)為“數(shù)據(jù)庫(kù)名.*”,

  對(duì)于某一數(shù)據(jù)庫(kù)的某一表授 權(quán)為“數(shù)據(jù)庫(kù)名.表名”。

  tom 表示你要給哪個(gè)用戶(hù)授權(quán),這個(gè)用戶(hù)可以是存在的用戶(hù),也可以是不存在的用戶(hù)。

  這里為了易用性你最好用root用戶(hù),因?yàn)閯e人遠(yuǎn)程的時(shí)候也會(huì)用,密碼也要用root用戶(hù)的密碼,因?yàn)閯e人也是這么用的。(保證大家都用同一個(gè)登錄信息訪問(wèn)同一個(gè)數(shù)據(jù)庫(kù),這是非常重要的)

  192.168.4.156表示允許遠(yuǎn)程連接的 IP 地址,如果想不限制鏈接的 IP 則設(shè)置為“%”即可。

  sun3d 為用戶(hù)的密碼。

  執(zhí)行了上面的語(yǔ)句后,再執(zhí)行下面的語(yǔ)句,方可立即生效。

  > flush privileges;

  在本地?cái)?shù)據(jù)庫(kù)DB1中創(chuàng)建遠(yuǎn)程數(shù)據(jù)庫(kù)表

  要求表結(jié)構(gòu)要一模一樣,所以可以先

  在B2里面找到建立表table的語(yǔ)句

  SHOW CREATE TABLE DB2.table。

  在本地?cái)?shù)據(jù)庫(kù)執(zhí)行sql語(yǔ)句:

  CREATE TABLE `sys_user` (

  `USER_ID` varchar(32) NOT NULL,

  `USER_ACCOUNT` varchar(50) DEFAULT NULL,

  `USER_ADDRESS` varchar(100) DEFAULT NULL,

  `USER_BIRTHDAY` date DEFAULT NULL,

  `USER_CITY` varchar(32) DEFAULT NULL,

  `USER_COUNTY` varchar(32) DEFAULT NULL,

  `USER_CREATE_TIME` datetime DEFAULT NULL,

  `USER_CREATE_USER` varchar(32) DEFAULT NULL,

  `USER_DEPT_ID` varchar(32) DEFAULT NULL,

  `USER_DEPT_PATH` longtext,

  `USER_EMAIL` varchar(50) DEFAULT NULL,

  `USER_ID_CARD_NO` varchar(18) DEFAULT NULL,

  `USER_IS_ASSIGN` int(11) DEFAULT NULL,

  `USER_IS_MANGER` int(11) DEFAULT NULL,

  `USER_ISDISPLAY` int(11) DEFAULT NULL,

  `USER_MOBILE_PHONE` varchar(11) DEFAULT NULL,

  `USER_NICK_NAME` varchar(100) DEFAULT NULL,

  `USER_PASSWORD` varchar(100) DEFAULT NULL,

  `USER_PROVINCE` varchar(32) DEFAULT NULL,

  `USER_QQ` varchar(15) DEFAULT NULL,

  `USER_SEX` int(11) DEFAULT NULL,

  `USER_STATE` int(11) DEFAULT NULL,

  `USER_TELEPHONE` varchar(15) DEFAULT NULL,

  `USER_UPDATE_TIME` datetime DEFAULT NULL,

  `USER_UPDATE_USER` varchar(32) DEFAULT NULL,

  PRIMARY KEY (`USER_ID`),

  UNIQUE KEY `USER_ID` (`USER_ID`)

  ) ENGINE=federated connection="mysql://tom:sun3d@180.169.9.123:3306/xuhui/sys_user" DEFAULT CHARSET=utf8;

MYSQL 數(shù)據(jù)庫(kù)遠(yuǎn)程訪問(wèn)相關(guān)文章:

1.怎樣遠(yuǎn)程訪問(wèn)mysql數(shù)據(jù)庫(kù)

2.遠(yuǎn)程訪問(wèn)mysql數(shù)據(jù)庫(kù)

3.mysql怎么設(shè)置遠(yuǎn)程連接數(shù)據(jù)庫(kù)

4.mysql數(shù)據(jù)庫(kù)允許遠(yuǎn)程連接

5.外網(wǎng)如何訪問(wèn)局域網(wǎng)內(nèi)網(wǎng)的mysql數(shù)據(jù)庫(kù)

6.MySql數(shù)據(jù)庫(kù)安裝后開(kāi)啟遠(yuǎn)程連接

2817183