1. 程式人生 > >mysql遠端連線及使用者相關命令

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

[email protected]'%' identified by 'db_pass';

建立 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;