當前位置:首頁 » 操作系統 » linuxmysql遠程許可權

linuxmysql遠程許可權

發布時間: 2022-04-04 13:58:12

A. 請問,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作瀏覽器。

B. 查看linux下mysql有沒有遠程訪問許可權

1、root用戶登錄到mysql資料庫 代碼示例: /usr/local/mysql/bin/mysql -u root -p (輸入密碼進入mysql) 2、進入mysql,輸入: 代碼示例: use mysql; 3、查看user表的情況 代碼示例: SELECT Host,User FROM user; //指明主機名稱,

C. linux中安裝mysql,如何開啟遠程訪問許可權

1、登陸mysql

mysql -u root -p

2、改表法:修改mysql庫的user表,將host項,從localhost改為%。%這里表示的是允許任意host訪問,如果只允許某一個ip訪問,則可改為相應的ip,比如可以將localhost改為192.168.1.123,這表示只允許區域網的192.168.1.123這個ip遠程訪問mysql。

mysql> USE MYSQL;mysql> UPDATE USER SET host = '%' WHERE user = 'root';

3、授權法:

mysql> USE MYSQL;mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION //賦予任何主機訪問以及修改所有數據的許可權 例如,你想root用戶使用root從任何主機連接到mysql伺服器的話。GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;如果你想允許用戶root從ip為192.168.1.123的主機連接到mysql伺服器,並使用root作為密碼GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.123'IDENTIFIED BY 'root' WITH GRANT OPTION;mysql> FLUSH PRIVILEGES //

D. 如何遠程連接到linux伺服器中的mysql資料庫

需要你在伺服器上關閉防火牆,或者允許mysql通過
下面是設置mysql允許遠程連接的方法:
例如,你想myuser使用mypassword從任何主機連接到mysql伺服器的話。
GRANT ALL PRIVILEGES ON *.* TO myuser@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
如果你想允許用戶myuser從ip為192.168.1.6的主機連接到mysql伺服器,並使用mypassword作為密碼
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
#################################
開啟Mysql資料庫的遠程連接許可權:
grant all privileges on *.* to 'root' @'%' identified by 'wrx123';
flush privileges;

E. Linux下mysql允許遠程連接怎麼設置

首先我們修改下配置文件(一般在/etc/mysql/my.cnf),將裡面的bind-address = 127.0.0.1使用#給注釋掉
這樣就可以通過網路訪問我們的mysql了,當然這並不是全部
port = 3306
這里我想不用說了,設置偵聽埠,默認3306,想改的話只要將3306替換為其它就行
然後我們需要創建一個可以遠程連接的用戶以及給予相應許可權
我們使用root登陸mysql

mysql -u root -p

grant all on *.* to 『test』@』%』 identified by 『1234』 with grant option;

all表示所有許可權
*.*表示所有的資料庫,如果只想給該用戶操作某個指定的資料庫的話比如test可以寫成

grant all on test.* to 『test』@』%』 identified by 『1234』 with grant option;

『test』@』%』 是的test是可以通過遠程登陸的用戶名,%是個通配符,表示可以從任意地方登陸,但這里有個問題,我發現這么做了後本地localhost登陸的時候無法登陸,方法是建立一個同樣的用戶,將%改為localhost

1234是登陸密碼,如果想不設置密碼identified by 『1234』可不寫

with grant option 表示test用戶可以將自己創建的資料庫給予其它人許可權

我們再更新下許可權

flush privileges;

現在就可以通過遠程來連接我們的資料庫了

當然最後別忘了將防火牆設置成mysql綁定的埠可訪問,不然是會被防火牆屏蔽的哦

F. 我把linux上mysql設置為可以通過root用戶對所有的資料庫進行遠程訪問,現在想把root用戶的遠程訪問許可權

update mysql.user set host='localhost' where user='root'

G. Linux 如何開啟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' 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;

我的mysql.user里root用戶的host果然是localhost,先用改表法給localhost改成「%」,還是不行,仍然報1130的錯 誤,又按「從任何主機連接到mysql伺服器」方法授權,還是報一樣的錯,最後給自己的ip授權之後,終於登錄上了。。。。

H. 如何在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

I. linux下mysql允許外部遠程訪問配置

mysql遠程訪問我們在網上看到最多的就是直接給mysql資料庫授權了,但有一些朋友發現按此教程還是無法連接mysql了,下文小編為各位詳細介紹一篇在linux下mysql允許外部遠程訪問配置
設置mysql
的配置文件
/etc/mysql/my.cnf
找到
bind-address
=127.0.0.1
將其注釋掉;//作用是使得不再只允許本地訪問;
重啟mysql:/etc/init.d/mysql
restart;
進入mysql
資料庫
mysql
-u
root
-p
mysql>grant
all
privileges
on
*.*
to
root@'%'
identifies
by
'
xxxx';
其中
第一個*表示資料庫名;第二個*表示該資料庫的表名;如果像上面那樣
*.*的話表示所有到資料庫下到所有表都允許訪問;
『%』:表示允許訪問到mysql的ip地址;當然你也可以配置為具體到ip名稱;%表示所有ip均可以訪問;
後面到『xxxx』為root
用戶的password;

J. linux 修改mysql遠程訪問許可權時候報錯 怎麼回事

使用授權法吧

1.grant all privileges on *.* to root@'%' identified by "root";

2.FLUSH PRIVILEGES;

熱點內容
自己在家搭建伺服器 發布:2024-11-15 04:25:04 瀏覽:648
箱娘免解壓 發布:2024-11-15 04:24:58 瀏覽:38
熱血寶寶腳本 發布:2024-11-15 04:23:31 瀏覽:225
正確的賬號格式密碼是什麼樣子的 發布:2024-11-15 04:18:41 瀏覽:24
可以升級方舟編譯器的手機 發布:2024-11-15 04:18:39 瀏覽:694
地漏訪問 發布:2024-11-15 04:08:13 瀏覽:388
朗逸豪華版wifi密碼多少 發布:2024-11-15 04:03:09 瀏覽:664
安卓系統可安裝什麼電視直播軟體 發布:2024-11-15 04:01:41 瀏覽:158
安卓如何開啟蜂窩數據 發布:2024-11-15 03:19:59 瀏覽:887
androidedittext移動 發布:2024-11-15 03:14:28 瀏覽:471