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

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

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

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

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

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

  方法/步驟

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

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

  >show engines;

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

  如果沒有開啟,配置my.cnf[mysqld]feterated

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

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

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

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

  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';

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

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

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

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

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

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

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

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

  sun3d 為用戶的密碼。

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

  > flush privileges;

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

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

  在B2里面找到建立表table的語句

  SHOW CREATE TABLE DB2.table。

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

  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ù)庫遠(yuǎn)程訪問相關(guān)文章:

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

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

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

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

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

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

2817183