linux修改mysql許可權
你確認迅纖你是用的畝坦仿ROOT用戶登錄的,修改的命令信碼是 mysqladmin -u root -pxxxxx(原始密碼) password xxxxx(新密碼)
2. Linux下修改MySQL用戶(root)密碼
以下命令適合修改任何 MySQL 用戶,僅以root為例。
首先,你必須要有 操作系統 的root許可權了。也就說需要以root的身份登錄到操作系統,然後進行一下操作。
編輯文件,找到[mysqld],刪除skip-grant-tables這一行
:wq! #保存退出
大功告成!
PS:當然方法不止一種,以上是我比較喜歡用的方法。
3. linux mysql 資料庫許可權
hi 樓主,在資料庫中創建包含很多,視圖,索引,臨時表的創建許可權都能分開賦予,你可以執行 show privileges 來查看許可權參數,我這邊就以創建表為例,只包含查詢表功能,其他修改,刪除,備份沒有許可權;以下是步驟:
1,create user 'tom'@'%' identified by '123456';---創建用戶,無許可權;
2, grant create,select on wangxh2.* to tom;-----把wangxh2庫的所有表的創建和查詢賦予tom
3,flush privileges;-----刷新許可權表才能起效
接下來是測試:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| test |
| wangxh2 |
+--------------------+
3 rows in set (0.06 sec)
mysql> use wangxh2
Database changed
mysql> show tables;
+-------------------+
| Tables_in_wangxh2 |
+-------------------+
| test |
+-------------------+
1 row in set (0.00 sec)
mysql> drop test;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'test' at line 1
mysql> drop table test;
ERROR 1142 (42000): DROP command denied to user 'tom'@'localhost' for table 'test'
mysql> select count(*) from test;
+----------+
| count(*) |
+----------+
| 33554432 |
+----------+
1 row in set (0.01 sec)
mysql> insert into test values(1);
ERROR 1142 (42000): INSERT command denied to user 'tom'@'localhost' for table 'test'
mysql> delete from test;
ERROR 1142 (42000): DELETE command denied to user 'tom'@'localhost' for table 'test'
mysql> update test set id=1;
ERROR 1142 (42000): UPDATE command denied to user 'tom'@'localhost' for table 'test'
mysql> create table test1 (id int);
Query OK, 0 rows affected (0.02 sec)
mysql> insert into test1 values(1);
ERROR 1142 (42000): INSERT command denied to user 'tom'@'localhost' for table 'test1'
[mysql@localhost ~]$ mysqlmp -u tom -paidengshan wangxh2 >/home/mysql/aa.sql
mysqlmp: Got error: 1044: Access denied for user 'tom'@'%' to database 'wangxh2' when using LOCK TABLES
[mysql@localhost ~]$
-----------------------------------------------------------------------------------------
以上測試發現,tom對wangxh2有建表,查詢表的許可權,但是修改,刪除,新增,備份都沒有許可權,達到你的需求了
4. Linux 下 MySQL 對目錄沒有訪問許可權,怎麼改
檢查下/etc/my.cnf的配置文件看下運行用戶和用戶組
然埋賣後再對要操彎此逗作扒弊的目錄進行chown或者chmod修改下許可權
5. 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 //
6. 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授權之後,終於登錄上了。。。。
7. 如何設置mysql的許可權為所有的用戶許可權
這個設置只要進入 Linux 系統的超級用戶狀態 # 下面,即可以使用 chmod 命令對 MySQL 資料庫系統下面的所有文件進行許可權設置。具體的就看你想設置成什麼許可權,你就可以設置成什麼許可權了。chmod 的基本用法如下:
#chmod 750 myfile <cr>
該命令對 myfile 這個文件設置成:文件所有者(頭 3 位)具有:可讀(4)、可寫(2)、可執行(1)許可權;同組用戶(中間 3 位)具有:可讀(4)、可執行(1)許可權;其他用戶(後 3 位):不可讀(4)、不可寫(2)、不可執行(1)許可權。
關於 chmod 更多的參數,你可以使用 man chmod 命令進行查看。
8. Linux下mysql允許遠程連接怎麼設置
mysql資料庫遠程訪問設置方法
1、修改localhost
更改 "mysql" 資料庫里的 "user" 表裡的 "host" 項,從"localhost"改成"%"
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
mysql>FLUSH PRIVILEGES;
2、指定授權
使用myuser/mypassword從任何主機連接到mysql伺服器:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
使用myuser/mypassword從ip為192.168.225.166的主機連接到mysql伺服器:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.225.166' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
3、泛授權
mysql -h localhost -u root
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; //賦予任何主機上以root身份訪問數據的許可權
mysql>FLUSH PRIVILEGES;
9. 修改linux中mysql上存在的用戶許可權
一、KILL掉系統里的MySQL進程
php">killall-TERMmysqld
二、用以下命令啟動MySQL,以不檢查許可權的方式啟動
safe_mysqld–skip-grant-tables&
三、用空密碼方式使用root用戶登錄 MySQL
mysql-uroot
四、修改root用戶的密碼
mysql>updatemysql.usersetpassword=PASSWORD(『新密碼』)whereUser=』root』;
mysql>flushprivileges;
mysql>quit
10. linux下jdbc無法連接mysql
linux里有文件的許可權控制,很有可能是mysql的許可權被控制了。mysql不知道你是用什麼裝的,是自己編譯的呢,還是傻瓜式的自動安裝。建議找到mysql的安裝路徑,然後修改mysql那個文件和子文件的許可權為777。一般的路徑好像是:/usr/local/mysql