我之前安裝資料庫的時候,因為root生成的初始密碼,修改的時候網上給出的很多答案都不能正常工作。所以自己總結了一下
mysql 使用user表來存放使用者資訊,以下的操作也是基於user表
1. 建立新使用者
建立使用者的簡單語法
-- 建立使用者並賦予密碼
create
user
'使用者名稱'@'主機' identified by '密碼';
這個主機是很重要的設定,它表示允許哪些ip可以登入該資料庫。一般本地就設定為『localhost』。
『使用者名稱』@『主機』 它們是一體的
示例:
-- 建立乙個帶有使用者名稱,密碼使用者
mysql>
create
user
'test'@'localhost' identified by '
111111';
注意: 主機 和密碼可以預設
-- 建立乙個使用者不設定密碼
mysql>
create
user
'test1'
新增的使用者沒有任何許可權,你還需要設定許可權
2. 查詢使用者
mysql的使用者資訊儲存在mysql資料庫的user表中。需要提及的是mysql.user
用乙個復合主鍵,host和user
。user@host
會被分別放到user和host欄位中。如果不限制host則預設為%
,表示所有ip都可以連線
-- 查詢所有使用者
select
user
from mysql.
user
;
user 表儲存了mysql資料庫中所有使用者基本資訊以及許可權資訊。在5.7中沒有password欄位,但是提供了authentication_string欄位,儲存加密後的密碼
select host,
user
,authentication_string from mysql.
user
;
下面是我資料庫中的測試使用者資訊
host
user
authentication_string
localhost
test
*6bb4837eb74329105ee4568dda7dc67ed2ca8ad9
%test1
3. 修改密碼
簡單語法:
方式一
alter
user[if
exists
]'使用者'@'主機名' identified by '新密碼'
方式二
set password for
'使用者名稱'@'主機' = password('新密碼')
方式三
update
user
set authentication_string = password(
"新密碼"
)where
user
="使用者名稱"
;
password()會對你的密碼進行加密
示例:指定使用者名稱,主機和新密碼
mysql>
alter
user
'test'@'localhost' identified by '
123456';
mysql>
set password for
'test1'
= password(
'111111'
)
這樣其他電腦也可以通過使用者「test1」使用 密碼 『111111』 來登陸你的mysql資料庫
mysql> mysql -h你的ip -utest1 -p
4. 刪除使用者
刪除mysql乙個或多個賬戶及其許可權。使用drop user 需要有建立使用者或者刪除資料庫的許可權。
drop
user[if
exists
]'使用者名稱'
@'主機'
;
drop
user
'test'
@'localhost'
;
注意:使用者刪除操作不會刪除該使用者之前建立的資料庫或物件(包括該使用者建立的儲存過程或檢視) mysql5 7 修改使用者初始密碼
修改使用者的初始化密碼 set password password your new password alter user root localhost password expire never flush privileges 建立新的使用者 create user username host...
mysql5 7修改使用者的密碼和給使用者授權
一 修改密碼 mysql u root p update mysql.user set authentication string password 新密碼 where user test and host localhost flush privileges mysql5.7以後mysql.use...
mysql5 7修改root使用者密碼
首先說一下,mysql5.7跟mysql5.6及之前的版本有些不同,它的password欄位,欄位名修改為authentication string。因此具體的修改步驟會有一些不同。1 設定其為免密登入 1 vim etc my.cnf 在my.cnf的 mysqld 字段加入 skip grant...