1:查看當前的用戶
select Host,User,Password from mysql.user;
查詢結果:
+-------------------------+------+-------------------------------------------+
| Host | User | Password |
+-------------------------+------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| iz2zedroc0yv8zryqdiqxlz | root | |
| 127.0.0.1 | root | |
| ::1 | root | |
| localhost | | |
| iz2zedroc0yv8zryqdiqxlz | | |
+-------------------------+------+-------------------------------------------+
6 rows in set (0.00 sec)
2:創建一個用戶
create user jacob identified by '123456';
結果:
Query OK, 0 rows affected (0.00 sec)
表示sql語句運行ok,這裏0行生效,不用管
再次查詢用戶表:
mysql> select Host,User,Password from mysql.user;
+-------------------------+-------+-------------------------------------------+
| Host | User | Password |
+-------------------------+-------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| iz2zedroc0yv8zryqdiqxlz | root | |
| 127.0.0.1 | root | |
| ::1 | root | |
| localhost | | |
| iz2zedroc0yv8zryqdiqxlz | | |
| % | jacob | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-------------------------+-------+-------------------------------------------+
7 rows in set (0.01 sec)
3:配置權限
創建完成了,在程序裏面連接發現還是沒有權限,剛纔我們只是創建了用戶,還沒有對這個用戶分配權限
grant all privileges on *.* to 'jacob'@'%'identified by '123456' with grant option;
註釋:
all代表接受所有操作,比如 select,insert,delete....; *.* 代表所有庫下面的所有表;% 代表這個用戶允許從任何地方登錄;爲了安全期間,這個%可以替換爲你允許的ip地址;
4:刷新mysql用戶權限相關表
flush privileges;
5:如果遠程連接還是不行那就執行下面的
我以爲就此收工了,等等,程序怎麼還是連不上去,還是 access deny ;
難道端口不是3306嗎,打開 mysql配置文件,是默認的3306,接着往下面看,發現一個關鍵地方;
bind-address = 127.0.0.1
原來這裏mysql默認綁定了本地ip,不接受其他來源;註釋掉,重啓mysql 一切OK;
6:修改用戶密碼
update mysql.user set password=password('新密碼') where User="test" and Host="%";
7:刪除用戶
delete from mysql.user where User='linjianqing' and Host='%';
如果創建用戶時,報:
ERROR 1396 (HY000): Operation CREATE USER failed for 'linjianqing'@'%'
則把語句改成
create user 'linjianqing'@'%' identified by '123456';
創建數據庫
create database mmall default character set utf8 COLLATE utf8_general_ci;
顯示數據庫
show databases;
刪除數據庫
drop database mmall;
給這個數據庫賦予用戶的權限
grant all privileges on mmall.* to 'jacob'@'%' identified by '123456';
將sql文件導入數據庫
在導入之前一定要進入數據庫
use mmall;
顯示錶
show tables;
導入
source /developer/mmall.sql;
驗證,查看錶
select * from mmall_product\G;
\G是格式化的意思