mysql創建用戶遠程訪問
❶ mysql如何創建新用戶
MySql中添加用戶,新建資料庫,用戶授權,刪除用戶,修改密碼(注意每行後邊都跟個;表示一個命令語句結束):
1.新建用戶
1.1 登錄MYSQL:
@>mysql -u root -p
@>密碼
1.2 創建用戶:
mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));
這樣就創建了一個名為:test 密碼為:1234 的用戶。
注意:此處的"localhost",是指該用戶只能在本地登錄,不能在另外一台機器上遠程登錄。如果想遠程登錄的話,將"localhost"改為"%",表示在任何一台電腦上都可以登錄。也可以指定某台機器可以遠程登錄。
1.3 然後登錄一下:
mysql>exit;
@>mysql -u test -p
@>輸入密碼
mysql>登錄成功
2.為用戶授權
授權格式:grant 許可權 on 資料庫.* to 用戶名@登錄主機 identified by "密碼";
2.1 登錄MYSQL(有ROOT許可權),這里以ROOT身份登錄:
@>mysql -u root -p
@>密碼
2.2 首先為用戶創建一個資料庫(testDB):
mysql>create database testDB;
2.3 授權test用戶擁有testDB資料庫的所有許可權(某個資料庫的所有許可權):
mysql>grant all privileges on testDB.* to test@localhost identified by '1234';
mysql>flush privileges;//刷新系統許可權表
格式:grant 許可權 on 資料庫.* to 用戶名@登錄主機 identified by "密碼";
2.4 如果想指定部分許可權給一用戶,可以這樣來寫:
mysql>grant select,update on testDB.* to test@localhost identified by '1234';
mysql>flush privileges; //刷新系統許可權表
2.5 授權test用戶擁有所有資料庫的某些許可權:
mysql>grant select,delete,update,create,drop on *.* to test@"%" identified by "1234";
//test用戶對所有資料庫都有select,delete,update,create,drop 許可權。
//@"%" 表示對所有非本地主機授權,不包括localhost。(localhost地址設為127.0.0.1,如果設為真實的本地地址,不知道是否可以,沒有驗證。)
//對localhost授權:加上一句grant all privileges on testDB.* to test@localhost identified by '1234';即可。
❷ linux下mysql允許遠程連接怎麼設置
本地計算機ip:192.168.1.100
遠程計算機ip:192.168.1.244
遠程計算機打開 mysql 伺服器:#/etc/init.d/mysql.server start
本地計算機連接遠程 mysql伺服器:./mysql -h "192.168.1.244" -u root -p
發生以下錯誤:
ERROR 1130 (HY000): Host '192.168.1.100' is not allowed to connect to this MySQL server
出現這種情況是因為mysql伺服器出於安全考慮,默認只允許本地登錄資料庫伺服器。
解決方法:
1,遠程計算機(ip:192.168.1.244)執行如下:
開啟伺服器:/etc/init.d/mysql.server start
登陸伺服器:bin/mysql -u root -p
使用伺服器:mysql> use mysql
創建遠程登陸用戶並授權 :
mysql> grant all PRIVILEGES on test.* to andy@'192.168.1.100' identified by '123456';
上面的語句表示將 test 資料庫的所有許可權授權給 andy 這個用戶,允許 andy 用戶在 192.168.1.100這個 IP 進行遠程登陸,並設置 andy 用戶的密碼為 123456 。
下面逐一分析所有的參數:
all PRIVILEGES 表示賦予所有的許可權給指定用戶,這里也可以替換為賦予某一具體的許可權,例如:select,insert,update,delete,create,drop 等,具體許可權間用「,」半形逗號分隔。
test.* 表示上面的許可權是針對於哪個表的,test 指的是資料庫,後面的 * 表示對於所有的表,由此可以推理出:對於全部資料庫的全部表授權為「*.*」,對於某一資料庫的全部表授權為「資料庫名.*」,對於某一資料庫的某一表授權為「資料庫名.表名」。
andy 表示你要給哪個用戶授權,這個用戶可以是存在的用戶,也可以是不存在的用戶。
192.168.1.100 表示允許遠程連接的 IP 地址,如果想不限制鏈接的 IP 則設置為「%」即可。
123456 為用戶的密碼。
執行了上面的語句後,再執行下面的語句,方可立即生效。
> flush privileges;
2,本地計算機(ip:192.168.1.100):
執行如下:./mysql -h 192.168.1.244 -u andy -p 123456
顯示如下:
❸ 如何設置mysql允許遠程訪問區域網訪問
第一步打開mysql客戶端,輸入連接密碼,按回車鍵。
第二步輸入「use mysql」,進去mysql資料庫
第三步輸入「GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;」,創建一個允許遠程訪問的用戶,用戶名是root,密碼是123456
第四步輸入「flush privileges;」,進行更新許可權,如下圖所示:
5/5
第五步更新許可權之後,就可以遠程連接mysql資料庫了
希望可以幫到您,感謝您的採納。
❹ 如何讓mysql以root用戶遠程登陸mysql資料庫
php">開啟MySQL的遠程登陸帳號有兩大步:
1、確定伺服器上的防火牆沒有阻止3306埠。
MySQL默認的埠是3306,需要確定防火牆沒有阻止3306埠,否則遠程是無法通過3306埠連接到MySQL的。
如果您在安裝MySQL時指定了其他埠,請在防火牆中開啟您指定的MySQL使用的埠號。
如果不知道怎樣設置您的伺服器上的防火牆,請向您的伺服器管理員咨詢。
2、增加允許遠程連接MySQL用戶並授權。
1)首先以root帳戶登陸MySQL
在Windows主機中點擊開始菜單,運行,輸入「cmd」,進入控制台,MySQL的bin目錄下,然後輸入下面的命令。
在Linux主機中在命令提示行下輸入下面的命令。
>MySQL-uroot-p123456
123456為root用戶的密碼。
2)創建遠程登陸用戶並授權
>grantallPRIVILEGESondiscuz.*toted@'123.123.123.123'identifiedby'123456';
上面的語句表示將discuz資料庫的所有許可權授權給ted這個用戶,允許ted用戶在123.123.123.123這個IP進行遠程登陸,並設置ted用戶的密碼為123456。
下面逐一分析所有的參數:
allPRIVILEGES表示賦予所有的許可權給指定用戶,這里也可以替換為賦予某一具體的許可權,例如:select,insert,update,sqlserver/42947.htmtarget=_blank>delete,create,drop等,具體許可權間用「,」半形逗號分隔。
discuz.*表示上面的許可權是針對於哪個表的,discuz指的是資料庫,後面的*
表示對於所有的表,由此可以推理出:對於全部資料庫的全部表授權為「*.*」,對於某一資料庫的全部表授權為「資料庫名.*」,對於某一資料庫的某一表授
權為「資料庫名.表名」。
ted表示你要給哪個用戶授權,這個用戶可以是存在的用戶,也可以是不存在的用戶。
123.123.123.123表示允許遠程連接的IP地址,如果想不限制鏈接的IP則設置為「%」即可。
123456為用戶的密碼。
執行了上面的語句後,再執行下面的語句,方可立即生效。
>flushprivileges;
遠程登錄mysql一些常用的代碼段,大家可參考一下。
一、允許root用戶在任何地方進行遠程登錄,並具有所有庫任何操作許可權,具體操作如下:
在本機先使用root用戶登錄mysql:
mysql-uroot-p"youpassword"
進行授權操作:
mysql>GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'youpassword'WITHGRANTOPTION;
重載授權表:
FLUSHPRIVILEGES;
退出mysql資料庫:
exit
二、允許root用戶在一個特定的IP進行遠程登錄,並具有所有庫任何操作許可權,具體操作如下:
在本機先使用root用戶登錄mysql:
mysql-uroot-p"youpassword"
進行授權操作:
GRANTALLPRIVILEGESON*.*TOroot@"172.16.16.152"IDENTIFIEDBY"youpassword"WITHGRANTOPTION;
重載授權表:
FLUSHPRIVILEGES;
退出mysql資料庫:
exit
三、允許root用戶在一個特定的IP進行遠程登錄,並具有所有庫特定操作許可權,具體操作如下:
在本機先使用root用戶登錄mysql:
mysql-uroot-p"youpassword"
進行授權操作:
GRANTselect,insert,update,deleteON*.*TOroot@"172.16.16.152"IDENTIFIEDBY"youpassword";
重載授權表:
FLUSHPRIVILEGES;
退出mysql資料庫:
exit
四、刪除用戶授權,需要使用REVOKE命令,具體命令格式為:
REVOKEprivilegesON資料庫[.表名]FROMuser-name;
具體實例,先在本機登錄mysql:
mysql-uroot-p"youpassword"
進行授權操作:
GRANTselect,insert,update,deleteONTEST-DBTOtest-user@"172.16.16.152"IDENTIFIEDBY"youpassword";
再進行刪除授權操作:
REVOKEallonTEST-DBfromtest-user;
****註:該操作只是清除了用戶對於TEST-DB的相關授權許可權,但是這個「test-user」這個用戶還是存在。
最後從用戶表內清除用戶:
DELETEFROMuserWHEREuser="test-user";
重載授權表:
FLUSHPRIVILEGES;
退出mysql資料庫:
exit
❺ 請問,linux下mysql創建用戶,具有所有資料庫所有表並且具有所有操作的許可權,並且可遠程登錄操作
可以找個免費/開源的客戶端來使用,例如HeidiSQL或者Navicat Lite,你搜一下就能找到。
安裝後在裡面設置好連接(主要是填一下伺服器地址、用戶名及帳號)就能可以使用了(伺服器端可能也需要設置賦予許可權,不然就會出現類似「ERROR 1045 (28000): Access denied for user 'test1'@'localhost」這樣的錯誤,如出現錯誤則見參考資料)。
默認root用戶就具有所有的許可權,你可以新建一個用戶,使它擁有所有的許可權,還可以指定從什麼地方登陸。許可權劃分可以很細的,可以精確到table,像select這種簡單的查看功能命令都可以限定。具體命令像create,grant等等可以找本書看看。用戶訪問許可權:
mysql.user 全局層級許可權(global privileges)
db 資料庫層級(database-specific privileges)
tables_priv 表層級(table-secific privileges)
columns_priv 列層級(column-secific privileges)
新建用戶
create user 'test1'@'localhost/127.0.0.1' identified by '123',
->'test2'@'%' identified by '123';
語法: create user 'user'[@'host'] [identified by [password] 'password']
刪除用戶
drop user 'test1'@'localhost','test1'@'%','test2'@'localhost';
語法: drop user 'user'@'host'
撤銷用戶許可權
revoke all on *.* from 'test'@'localhost';
更改用戶名
rename user 'test'@'localhost' to 'test1'@'%';
用戶授權
grant all privileges on *.*/dbname.*/dbname.tablename/ to 'test'@'localhost' identified by '123'
->required ssl with grant option;
grant select,update(field1,field2) on dbname.tablename to 'test1'@'%' identified by '123'
->required ssl with grant option;
搜索得到一位前輩的解決辦法如下:
首先,在連接jdbc驅動的時候,按如下語句:
String connstr ="jdbc:mysql://localhost:3306/tp_db?&useUnicode=true&characterEncoding=8859_1";
然後,輸入中文時轉換時,按如下語句:
sql=new String(sql.getBytes("iso8859-1"));
最後,輸出中文時轉換,按如下語句:
String bookname=new String(rs.getString("bookname").getBytes("iso8859-1"),"GBK或者GB2312");
註:查看顯示結果應在中文支持的環境下,我的配置為:Linux7.3+Tomcat4.0+Mysql3.22 作伺服器端,IE6或Netscape作瀏覽器。
❻ 通過命令行如何遠程訪問mysql
1、登陸伺服器端,進入命令行,windows cmd;
2、設置用戶、密碼讓指定的IP訪問:mysql -u root -p 或安裝的快捷方式進入:MySQL Command Line Client,使用grant命令:
grant 許可權1,許可權2,許可權n on 資料庫名稱.表名稱 to 用戶名@用戶地址 identified by '連介面令';例子:mysqlgrant select,insert,update,delete,create,drop on mydb.mytable to [email protected] identified by 'mypassword';給來自192.168.1.88
的用戶lzpddd分配可對資料庫 mydb的mytable表進行select,insert,update,delete,create,drop等操作的許可權,並設定口令為'mypassword';
mysqlgrant all privileges on *.* to [email protected] identified by 'mypassword';給來自192.168.1.88
的用戶lzpddd分配可對所有資料庫的所有表進行所有操作的許可權限,並設定口令為'mypassword';
mysqlgrant all privileges on *.* tolzpddd@'%'identified by 'mypassword';給來自任何IP地址的用戶lzpddd分配可對所有資料庫的所有表進行所有操作的許可權限,並設定口令為'mypassword';
3、關閉伺服器端防火牆或者開放3306埠(很重要);
4、客戶端連接:
進入命令行,windows cmd,連接:
mysql -u 用戶名 -p密碼 -h伺服器IP地址 -P伺服器端MySQL埠號 -D 資料庫名注意:(1)伺服器埠標志-P一定要大些以區別於用戶-p,如果直接連接資料庫標志-D也要大寫;
(2)如果要直接輸入密碼-p後面不能留有空格如-pmypassword;
(3)命令結束段沒有';'分號。
❼ 用MysQL怎麼進行遠程連接資料庫
1、首先在電腦端登陸數據伺服器進行操作,如圖所示。

❽ mysql創建用戶,該用戶可以遠程訪問
看你怎麼添加的用戶了,如果是grant all privileges abc@% .....
如果加上%的話,就是允許遠程訪問,如果是abc@localhost,只能在伺服器上本地調用而不能通過遠程進行字元連接或者phpmyadmin訪問
❾ 怎麼給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從任何主機連接到mysql伺服器的話。
GRANT
ALL
PRIVILEGES
ON
*.*
TO
'myuser'@'%'IDENTIFIED
BY
'mypassword'
WI
TH
GRANT
OPTION;
如果你想允許用戶myuser從ip為192.168.1.6的主機連接到mysql伺服器,並使用mypassword作為密碼
GRANT
ALL
PRIVILEGES
ON
*.*
TO
'myuser'@'192.168.1.3'IDENTIFIED
BY
'mypassword'
WITH
GRANT
OPTION;
我用的第一個方法,剛開始發現不行,在網上查了一下,少執行一個語句
mysql>FLUSH
RIVILEGES
使修改生效,就可以了
另外一種方法:
在安裝mysql的機器上運行:
1、d:\mysql\bin\>mysql
-h
localhost
-u
root
//這樣應該可以進入MySQL伺服器
2、mysql>GRANT
ALL
PRIVILEGES
ON
*.*
TO
'root'@'%'WITH
GRANT
OPTION
//賦予任何主機訪問數據的許可權
3、mysql>FLUSH
PRIVILEGES
//修改生效
4、mysql>EXIT
//退出MySQL伺服器
這樣就可以在其它任何的主機上以root身份登錄啦。
