啓動MySQL服務:sudo /usr/local/mysql/support-files/mysql.server startmysql
命令: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的權限,只能連庫,啥也不能幹
使用命令查看端口號: show global variables like 'port';
修改完須要重啓一下mysql
sudo /usr/local/mysql/support-files/mysql.server restart