mysql遠端連線及使用者相關命令
一、建立使用者並授權
登入root:
[email protected]:~# mysql -u root -p
建立 username (使用者) 使用password (密碼) 從任何主機連線到mysql伺服器:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
新增一個使用者名稱為db_user,密碼為db_pass,授權為% (%表示所有外圍IP能連線)對db_name資料庫所有許可權,命令如下:
mysql> GRANT ALL PRIVILEGES ON db_name.* to
建立 username2 () 從ip為192.168.1.1的主機連線到mysql伺服器,並使用password作為密碼:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'username2'@'192.168.1.1' IDENTIFIED BY 'password' WITH GRANT OPTION;
指定部分許可權給使用者:
mysql>GRANT select,update on testDB.* to 'test'@'localhost' identified by '1234';
授權test使用者擁有所有資料庫的某些許可權:
mysql>GRANT select,delete,update,create,drop on *.* to 'test'@'%' identified by "1234";
切記:授權完後,刷新系統許可權表:
mysql>FLUSH PRIVILEGES;
二、配置mysql允許遠端連線
1、開放3306埠
2、開啟iptables 3306埠:
[email protected]:~# iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
[email protected]:~# iptables-save > /etc/iptables.up.rules #儲存iptables規則
[email protected]:~# iptables -nvL #檢視新增的iptables規則
三、遠端連線
1、顯示密碼
如:連線遠端mysql(39.105.189.51),埠“3306”,使用者名稱為“username”,密碼“123456”
001:~ host$ mysql -h 39.105.189.51 -P 3306 -u username -p123456
2、隱藏密碼
001:~ host$ mysql -h 39.105.189.51 -u username -p
Enter password:
四、其他常用命令
檢視MYSQL資料庫中所有使用者
mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
檢視資料庫中具體某個使用者的許可權
mysql> show grants for 'username'@'%';
刪除使用者
mysql>Delete FROM user Where User='test' and Host='localhost';
mysql>flush privileges;
mysql>drop database testDB; //刪除使用者的資料庫
刪除賬戶及許可權:
>drop user 使用者名稱@'%';
>drop user 使用者名稱@ localhost;
修改指定使用者密碼
mysql>update mysql.user set password=password('新密碼') where User="test" and Host="localhost";
mysql>flush privileges;
退出mysql:
mysql>exit;