關於mysql 添加用戶,刪除用戶與受權以及修改密碼修改端口啓動中止命令

啓動MySQL服務:sudo /usr/local/mysql/support-files/mysql.server startmysql

中止MySQL服務:sudo /usr/local/mysql/support-files/mysql.server stop
重啓MySQL服務:sudo /usr/local/mysql/support-files/mysql.server restart
1、建立用戶:

命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password';sql

         例子: CREATE USER 'xiaoju'@'localhost' IDENTIFIED BY '123456';數據庫

PS:username - 你將建立的用戶名,服務器

host - 指定該用戶在哪一個主機上能夠登錄,此處的"localhost",是指該用戶只能在本地登陸,不能在另一臺機器上遠程登陸,若是想遠程登陸的話,將"localhost"改成"%",表示在任何一臺電腦上均可以登陸;也能夠指定某臺機器能夠遠程登陸;socket

password - 該用戶的登錄密碼,密碼能夠爲空,若是爲空則該用戶能夠不須要密碼登錄服務器。ide

 

二.受權:

命令:GRANT privileges ON databasename.tablename TO 'username'@'host' IDENTIFIED BY "password"spa

PS: privileges - 用戶的操做權限,如SELECT , INSERT , UPDATE 等(詳細列表見該文最後面).若是要授予所的權限則使用ALL.;databasename - 數據庫名,tablename-表名,若是要授予該用戶對全部數據庫和表的相應操做權限則可用*表示, 如*.*.rest

       例子:GRANT SELECT, INSERT ON simenv.* TO 'xiaoju'@'localhost' IDENTIFIED BY "123456";server

              上述命令表明xiaoju用戶加上123456能夠對simenv進行 SELECT, INSERTip

       

               將'host'改成'%'則是任意機器均可以登錄。

              而後須要修改一些配置文件

              $sudo gedit /etc/mysql/my.cnf

              老的版本中

              >skip-networking          =>          # skip-networking

              新的版本中

               >bind-address=127.0.0.1 => bind-address= 你機器的IP

      這樣就能夠容許其餘機器訪問MySQL了。

 

mysql控制檯遠程登錄命令

         mysql -h IP地址 -P 端口 -u 用戶名 -p密碼

         例子:mysql -h 10.89.247.42 -P 8036 -u xiaoju -p123456

三.建立用戶同時受權

mysql> grant all privileges on simenv.* to dusesim@localhost identified by '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

PS:必須執行flush privileges; 

不然登陸時提示:ERROR 1045 (28000): Access denied for user 'user'@'localhost' (using password: YES ) 

 

四.設置與更改用戶密碼

 

命令:SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

 

      例子: SET PASSWORD FOR 'xiaoju'@'localhost' = PASSWORD("123456");

 

五.撤銷用戶權限

 

      命令: REVOKE privilege ON databasename.tablename FROM 'username'@'host';

 

     說明: privilege, databasename, tablename - 與用戶受權部分定義一致.

 

      例子: REVOKE SELECT ON simenv.* FROM 'xiaoju'@'localhost';

 

PS: 假如你在給用戶'xiaoju'@'localhost''受權的時候是這樣的(或相似的):GRANT SELECT ON simenv.user TO 'xiaoju'@'localhost', 則在使用REVOKE SELECT ON *.* FROM 'xiaoju'@'localhost';命令並不能撤銷該用戶對simenv數據庫中user表的SELECT 操做.相反,若是受權使用的是GRANT SELECT ON *.* TO 'xiaoju'@'localhost';則REVOKE SELECT ON simenv.user FROM 'xiaoju'@'localhost';命令也不能撤銷該用戶對simenv數據庫中user表的Select 權限.

 

      具體信息能夠用命令SHOW GRANTS FOR 'xiaoju'@'localhost'; 查看.

 

六.刪除用戶

 

      命令: DROP USER 'username'@'host';

              例子:DROP USER 'root'@'host';

 

七.查看用戶的受權

 

mysql> show grants for root@localhost;
+---------------------------------------------+
| Grants for root@localhost |
+---------------------------------------------+
| GRANT USAGE ON *.* TO 'root'@'localhost' |
| GRANT INSERT ON `simenv`.* TO 'root'@'localhost' |
+---------------------------------------------+
2 rows in set (0.00 sec)

 

PS:GRANT USAGE:mysql usage權限就是空權限,默認create user的權限,只能連庫,啥也不能幹

 

 

八.mysql查看並修改默認端口號

使用命令查看端口號: show global variables like 'port';

 
 
修改端口
編輯/etc/my.cnf文件,早期版本有多是my.conf文件名,增長端口參數,而且設定端口,注意該端口未被使用,保存退出。
修改mysqld中的port信息便可
root@test etc]# vi my.cnf
[mysqld]
port=3506
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
 
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

 

修改完須要重啓一下mysql

sudo /usr/local/mysql/support-files/mysql.server restart

相關文章
相關標籤/搜索