mysql 相關命令
1、建立新使用者
通過root使用者登入之後建立
>> grant all privileges on *.* to testuser@localhost identified by "123456" ; // 建立新使用者,使用者名稱為testuser,密碼為123456 ;
>> grant all privileges on *.* to testuser@localhost identified by "123456" ; // 設定使用者testuser,可以在本地訪問
>> grant all privileges on *.* to testuser@"%" identified by "123456" ; // 設定使用者testuser,可以在遠端訪問mysql
>> flush privileges ; // mysql 新設定使用者或更改密碼後需用flush privileges重新整理MySQL的系統許可權相關表,否則會出現拒絕訪問,還有一種方法,就是重新啟動mysql伺服器,來使新設定生效
2、設定使用者訪問資料庫許可權
>> grant all privileges on test_db.* to [email protected] identified by "123456" ; // 設定使用者testuser,只能訪問資料庫test_db,其他資料庫均不能訪問 ;
>> grant all privileges on *.* to [email protected] identified by "123456" ; // 設定使用者testuser,可以訪問
>> grant all privileges on test_db.user_infor to [email protected] identified by "123456" ; // 設定使用者testuser,只能訪問資料庫test_db的表user_infor,資料庫中的其他表均不能訪問 ;
3、設定使用者操作許可權
>> grant all privileges on *.* to [email protected] identified by "123456" WITH GRANT OPTION ; //設定使用者testuser,擁有所有的操作許可權,也就是管理員 ;
>> grant select on *.* to [email protected] identified by "123456" WITH GRANT OPTION ; //設定使用者testuser,只擁有【查詢】操作許可權 ;
>> grant select,insert on *.* to [email protected] identified by "123456" ; //設定使用者testuser,只擁有【查詢\插入】操作許可權 ;
>> grant select,insert,update,delete on *.* to [email protected] identified by "123456" ; //設定使用者testuser,只擁有【查詢\插入】操作許可權 ;
>> REVOKE select,insert ON what FROM testuser //取消使用者testuser的【查詢\插入】操作許可權 ;
4、設定使用者遠端訪問許可權
>> grant all privileges on *.* to [email protected]“192.168.1.100” identified by "123456" ; //設定使用者testuser,只能在客戶端IP為192.168.1.100上才能遠端訪問mysql ;
5、關於root使用者的訪問設定
設定所有使用者可以遠端訪問mysql,修改my.cnf配置檔案,將bind-address = 127.0.0.1前面加“#”註釋掉,這樣就可以允許其他機器遠端訪問本機mysql了;
>> grant all privileges on *.* to [email protected]"%" identified by "123456" ; // 設定使用者root,可以在遠端訪問mysql
>> select host,user from user; //查詢mysql中所有使用者許可權
關閉root使用者遠端訪問許可權
>> delete from user where user="root" and host="%" ; //禁止root使用者在遠端機器上訪問mysql
>> flush privileges ; //修改許可權之後,重新整理MySQL的系統許可權相關表方可生效