轉自:https://www.jb51.net/article/77858.htm
關閉正在運行的 MySQL :
1
|
[root@www.woai.it ~]# service mysql stop
|
運行
1
|
[root@www.woai.it ~]# mysqld_safe
--skip-grant-tables &
|
為了安全可以這樣禁止遠程連接:
1
|
[root@www.woai.it ~]# mysqld_safe
--skip-grant-tables --skip-networking &
|
使用mysql連接server:
1
|
[root@www.woai.it ~]# mysql -p
|
更改密碼:
1
|
mysql>
update
mysql.
user
set
authentication_string=
password
(
'123qwe'
)
where
user
=
'root'
and
Host =
'localhost'
;
|
*特別提醒注意的一點是,新版的mysql數據庫下的user表中已經沒有Password字段了
而是將加密后的用戶密碼存儲於authentication_string字段
1
2
|
mysql> flush
privileges
;
mysql> quit;
|
修改完畢。重啟
1
|
[root@localhost ~]# service mysql restart
|
然后mysql就可以連接了
但此時操作似乎功能不完全,還要alter user…
1
|
mysql>
alter
user
'root'
@
'localhost'
identified
by
'123'
;
|
這樣也可以:
1
|
mysql>
set
password
for
'root'
@
'localhost'
=
password
(
'123'
);
|
重點給大家介紹下mysql 5.7 root密碼修改
MySQL管理者密碼設置或修改:
依據官方說明5.6以后版本,第一次啟動時會在root目錄下生產一個隨機密碼,文件名.mysql_secret。
1
2
3
4
5
|
[root@bright ~]# cat /root/.mysql_secret
#
Password
set
for
user
'root@localhost'
at
2015-03-27 23:12:10
:Jj+FTiqvyrF
[root@bright ~]# cd /usr/
local
/mysql/bin/
[root@bright bin]# ./mysqladmin -u root -h localhost
password
'123456'
-p
|
Enter password: #此行輸入.mysql_secret里第二行內容
1
2
|
mysqladmin: [Warning] Using a
password
on
the command line interface can be insecure.
Warning: Since
password
will be sent
to
server
in
plain text, use ssl
connection
to
ensure
password
safety.
|
官方的方式,筆者無論是否使用--skip-grant-tables啟動mysql都測試失敗,親們可以測試:
1
2
|
shell>mysql -uroot -p
'password'
#
password
即.mysql_secret里的密碼
mysql>
SET
PASSWORD
=
PASSWORD
(
'newpasswd'
);
|
舊版本,安裝后ROOT無密碼,按如下操作:
方法一:
1
2
3
4
5
6
7
|
shell>service mysqld stop #停止mysql服務
shell>mysqld_safe
--skip-grant-tables & #以不啟用grant-tables模式啟動mysql
shell>mysql -uroot -p #輸入命令回車進入,出現輸入密碼提示直接回車。
mysql>use mysql;
mysql>
update
user
set
password
=
PASSWORD
(
"123456"
)
where
user
=
"root"
; #更改密碼為 newpassord
mysql>flush
privileges
; #更新權限
mysql>quit #退出
|
方法二:
1
2
3
4
|
shell>service mysqld stop #停止mysql服務
shell>mysqld_safe
--skip-grant-tables & #以不啟用grant-tables模式啟動mysql
shell>mysql -uroot -p #輸入命令回車進入,出現輸入密碼提示直接回車。
mysql >
set
password
for
root@localhost =
password
(
'mysqlroot'
);
|
方法三:
1
|
shell>/path/mysqladmin -u UserName -h Host
password
'new_password'
-p
|