本文目錄一覽:
- 1、mysql8加密規則更改
- 2、mysql修改用戶加密的密碼忘了怎麼辦
- 3、怎麼改mysql下root密碼?
- 4、如何修改mysql中root用戶的密碼
- 5、Mysql 8 root修改密碼,root無需密碼或任何密碼都可登錄原因及解決
mysql8加密規則更改
原因:mysql8 之前的版本中加密規則是mysql_native_password,而在mysql8之後,加密規則改為caching_sha2_password
解決辦法:
1、升級客戶端
2、把mysql用戶登錄密碼加密規則還原成mysql_native_password:
ALTER USER xxxx IDENTIFIED WITH mysql_native_password BY ‘新密碼’;
mysql修改用戶加密的密碼忘了怎麼辦
一、密碼的修改:使用mysqladmin命令
1、例如你的 root用戶現在沒有密碼,你希望的密碼修改為abc,那麼命令是:mysqladmin -u root password abc
2、如果你的root現在有密碼了,那麼修改密碼為abc的命令是:mysqladmin -u root -p password youyou
注意,命令回車後會問你舊密碼,輸入舊密碼之後命令完成,密碼修改成功。
二、密碼的消除
1、以root登錄:mysql -u root -p
2、mysqluse mysql;
3、mysqlupdate user set password=” where user=’root’;
重新啟動下mysql服務就可以啦。
怎麼改mysql下root密碼?
方法1: 用SET PASSWORD命令
首先登錄MySQL。
格式:mysql set password for 用戶名@localhost = password(‘新密碼’);
例子:mysql set password for root@localhost = password(‘123’);
方法2:用mysqladmin
格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼
例子:mysqladmin -uroot -p123456 password 123
方法3:用UPDATE直接編輯user表
首先登錄MySQL。
mysql use mysql;
mysql update user set password=password(‘123’) where user=’root’ and host=’localhost’;
mysql flush privileges;
方法4:在忘記root密碼的時候,可以這樣
以windows為例:
1. 關閉正在運行的MySQL服務。
2. 打開DOS窗口,轉到mysql\bin目錄。
3. 輸入mysqld _skip-grant-tables 回車。_skip-grant-tables 的意思是啟動MySQL服務的時候跳過權限表認證。
4. 再開一個DOS窗口(因為剛才那個DOS窗口已經不能動了),轉到mysql\bin目錄。
5. 輸入mysql回車,如果成功,將出現MySQL提示符 。
6. 連接權限數據庫: use mysql; 。
6. 改密碼:update user set password=password(“123”) where user=”root”;(別忘了最後加分號) 。
7. 刷新權限(必須步驟):flush privileges; 。
8. 退出 quit。
9. 註銷系統,再進入,使用用戶名root和剛才設置的新密碼123登錄。
ROOT是一種存在於UNIX系統(如AIX、BSD等)和類UNIX系統(如大名鼎鼎的Linux,比如穩定到服務器都在用的Debian、適合長期作業成熟老道的Redhat、比較流行的Ubuntu和archlinux等Linux發行版以及Android系統)中的唯一的超級用戶,其相當於Windows系統中的SYSTEM(XP及以下)/TrustedInstaller(Vista及以上)用戶。其具有系統中所有的權限,如啟動或停止一個進程,刪除或增加用戶,增加或者禁用硬件等等。
如何修改mysql中root用戶的密碼
轉:
方法一使用phpmyadmin,這是最簡單的了,修改mysql庫的user表, 不過別忘了使用password函數。
方法二使用mysqladmin,這是前面聲明的一個特例。 mysqladmin -u root -p password mypasswd 輸入這個命令後,需要輸入root的原密碼,然後root的密碼將改為mypasswd。把命令里的root改為你的用戶名,你就可以改你自己的密碼了。 當然如果你的mysqladmin連接不上mysql server,或者你沒有辦法執行mysqladmin, 那麼這種方法就是無效的。 而且mysqladmin無法把密碼清空。下面的方法都在mysql提示符下使用,且必須有mysql的root權限:
方法三 mysql INSERT INto mysql.user (Host,User,password) VALUES(‘%’,’jeffrey’,password(‘biscuit’)); mysql FLUSH PRIVILEGES 確切地說這是在增加一個用戶,用戶名為jeffrey,密碼為biscuit。 在《mysql中文參考手冊》里有這個例子,所以我也就寫出來了。注意要使用password函數,然後還要使用FLUSH PRIVILEGES。
方法四 和方法三一樣,只是使用了replace語句 mysql replace INto mysql.user (Host,User,password) VALUES(‘%’,’jeffrey’,password(‘biscuit’)); mysql FLUSH PRIVILEGES
方法五 使用set password語句, mysql set password for jeffrey@% = password(‘biscuit’); 你也必須使用password()函數, 但是不需要使用FLUSH PRIVILEGES。
方法六使用grant … IDENTIFIED by語句 mysql grant USAGE on *.* to jeffrey@% IDENTIFIED by ‘biscuit’; 這裡PASSWORD()函數是不必要的,也不需要使用FLUSH PRIVILEGES。注意: PASSWORD() [不是]以在Unix口令加密的同樣方法施行口令加密。use mysql
update user set Password=password(‘newpassword’) where User=’root’;
flush privileges;
1.通過修改MYSQL數據庫中MYSQL庫的USER表
就用普通的UPDATE、INSERT語句就可以
2.在命令行中使用如下命令
MYSQLADMIN -u root -p PASSWORD mypasswd
3.可以修改MYSQL文件夾中的MY.INI文件
4.使用SET PASSWORD語句,
mysql SET PASSWORD FOR myuser@localhost = PASSWORD(‘mypasswd’);
Mysql 8 root修改密碼,root無需密碼或任何密碼都可登錄原因及解決
Ubuntu在Mysql 8.0在線安裝成功後(sudo apt install),默認的root用戶密碼為空,默認監聽本機,只能在本機登錄,直接命令`mysql`即可登錄 。
Centos安裝完成後,可能需要密碼,密碼位置在
如果沒有密碼,或者忘記密碼請在配置文件加入 skip-grant-tables ,ubuntu配置文件在 /etc/mysql/ 路徑下。
註: 跳過密碼後,登錄進入後必須先 flush privileges 才能修改密碼。
1:第一種方式
直接在用Linux命令 mysqladmin 修改。
2:第二種方式
登錄mysql 更改密碼
顯示ok成功。
註:由於我這裡沒有默認安裝validate_password插件,所以直接修改成功,有些默認安裝的是修改不成功的,因為太簡單的密碼,不符合密碼規則,會報錯如下: ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
3:關於validate_password插件
validate_password是一款密碼規則插件,查看密碼規則命令:
安裝完成後,查看顯示如下:
參數說明:
當指定密碼規則後,如果嫌麻煩,直接更改密碼規則即可,如偏要設置123456簡單密碼。
雖然改了密碼,但是發現root登錄仍無需登錄密碼,或者加參數-p輸入密碼時,任何密碼都可以進入。
原因:查看用戶插件信息
顯示root插件為auth_socket,這種插件無需密碼,所以設置任何密碼都無效。
更改插件為 mysql_native_password 或者 caching_sha2_password
更改完成後,需重新設置root密碼生效,修改方法同上。修改後,登錄需要輸入正確密碼
註:為了提供更安全的密碼加密,MySQL8.0的首選默認密碼認證插件是caching_sha2_password,而不是mysql_native_password,根據自己需求選擇插件
關於auth_socket插件
這種插件驗證方式有以下特點:
auth_socket 這個插件因為有這些特點,它很適合我們在系統投產前進行安裝調試的時候使用,而且也有相當的安全性,因為系統投產前通常經常同時使用操作系統的 root 用戶和 MySQL 的 root 用戶。當我們在系統投產後,操作系統的 root 用戶和 MySQL 的 root 用戶就不能隨便使用了,這時可以換成其它的驗證方式,可以使用下面的命令進行切換:
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/153237.html