Ubuntu在Mysql 8.0在線安裝成功后(sudo apt install),默認的root用戶密碼為空,默認監(jiān)聽本機,只能在本機登錄,直接命令`mysql`即可登錄 。
成都創(chuàng)新互聯(lián)公司服務項目包括長寧網(wǎng)站建設、長寧網(wǎng)站制作、長寧網(wǎng)頁制作以及長寧網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,長寧網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到長寧省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
Centos安裝完成后,可能需要密碼,密碼位置在
如果沒有密碼,或者忘記密碼請在配置文件加入 skip-grant-tables ,ubuntu配置文件在 /etc/mysql/ 路徑下。
注: 跳過密碼后,登錄進入后必須先 flush privileges 才能修改密碼。
1:第一種方式
直接在用Linux命令 mysqladmin 修改。
2:第二種方式
登錄mysql 更改密碼
顯示ok成功。
注:由于我這里沒有默認安裝validate_password插件,所以直接修改成功,有些默認安裝的是修改不成功的,因為太簡單的密碼,不符合密碼規(guī)則,會報錯如下: ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
3:關于validate_password插件
validate_password是一款密碼規(guī)則插件,查看密碼規(guī)則命令:
安裝完成后,查看顯示如下:
參數(shù)說明:
當指定密碼規(guī)則后,如果嫌麻煩,直接更改密碼規(guī)則即可,如偏要設置123456簡單密碼。
雖然改了密碼,但是發(fā)現(xiàn)root登錄仍無需登錄密碼,或者加參數(shù)-p輸入密碼時,任何密碼都可以進入。
原因:查看用戶插件信息
顯示root插件為auth_socket,這種插件無需密碼,所以設置任何密碼都無效。
更改插件為 mysql_native_password 或者 caching_sha2_password
更改完成后,需重新設置root密碼生效,修改方法同上。修改后,登錄需要輸入正確密碼
注:為了提供更安全的密碼加密,MySQL8.0的首選默認密碼認證插件是caching_sha2_password,而不是mysql_native_password,根據(jù)自己需求選擇插件
關于auth_socket插件
這種插件驗證方式有以下特點:
auth_socket 這個插件因為有這些特點,它很適合我們在系統(tǒng)投產(chǎn)前進行安裝調(diào)試的時候使用,而且也有相當?shù)陌踩?,因為系統(tǒng)投產(chǎn)前通常經(jīng)常同時使用操作系統(tǒng)的 root 用戶和 MySQL 的 root 用戶。當我們在系統(tǒng)投產(chǎn)后,操作系統(tǒng)的 root 用戶和 MySQL 的 root 用戶就不能隨便使用了,這時可以換成其它的驗證方式,可以使用下面的命令進行切換:
終端輸入上面的命令,得到下圖:
紅色框框中的就是安裝時自動生成的賬戶和密碼,接下來使用該賬戶和密碼進行登錄。
操作過程如下圖所示:
命令行都要以管理員運行
1:net stop mysql 停止mysql服務
2:mysqld --console --skip-grant-tables --shared-memory 啟動MySQL服務的時候跳過權(quán)限表認證
3:由于上面的命令行被mysql的服務給占用,我們得重新開啟一個新的命令行
4:在新開的命令行中執(zhí)行mysql
5:update user set authentication_string = '' where user='root' ; 將root用戶的密碼清空
6:quit 退出,然后在之前的命令行將我們開啟的mysql服務停止掉(Ctrl+C或者關閉命令行),然后執(zhí)行net start mysql 重新啟動mysql服務
7:在我們之后開啟的命令行中輸入mysql -uroot -p 然后按enter鍵,輸入密碼繼續(xù)按enter鍵(這里密碼已經(jīng)被清空),
8:ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼'; 修改密碼
9:退出后,使用新密碼登錄
注意的地方,網(wǎng)上有些給的是使用update命令在第五步直接修改密碼為我們重置的密碼,然后使用flush privileges;命令刷新權(quán)限再退出,重啟mysql服務,然后使用我們重置的密碼重新登陸。然而你會發(fā)現(xiàn)登錄會提示密碼不正確,
下面是使用update命令將密碼修改為root
登錄報錯,說明使用update直接修改密碼是不可以的。我們也可以從上面看到update保存的密碼是明文
使用alter命令修改后的密碼是加密的
update 方法保存的為明文是由于沒有使用password()方法,而password()方法在mysql5.7.6版本后已經(jīng)廢棄了,所以必須alter命令去修改密碼了。
如果在第5步直接使用alter命令去修改密碼也是不可以的,會報錯
說是在免鑒權(quán)的情況下不支持這個操作
所以我們必須先清空密碼,然后再使用alter命令修改密碼
ps:mysql5.7.6版本后 廢棄user表中 password字段 和 password()方法,所以舊方法重置密碼對mysql8.0版本是行不通的,共勉
希望能幫助你,還請及時采納謝謝
方法如下:
1、打開mysql.exe和mysqld.exe所在的文件夾,復制路徑地址
2、打開cmd命令提示符,進入上一步mysql.exe所在的文件夾。
3、輸入命令 ?mysqld --skip-grant-tables ?回車,此時就跳過了mysql的用戶驗證。注意輸入此命令之后命令行就無法操作了,此時可以再打開一個新的命令行。注意:在輸入此命令之前先在任務管理器中結(jié)束mysqld.exe進程,確保mysql服務器端已結(jié)束運行。
4、然后直接輸入mysql,不需要帶任何登錄參數(shù)直接回車就可以登陸上數(shù)據(jù)庫。
5、輸入show databases; ? 可以看到所有數(shù)據(jù)庫說明成功登陸。
6、其中mysql庫就是保存用戶名的地方。輸入 use mysql; ? 選擇mysql數(shù)據(jù)庫。
7、show tables查看所有表,會發(fā)現(xiàn)有個user表,這里存放的就是用戶名,密碼,權(quán)限等等賬戶信息。
8、輸入select user,host,password from user; ? 來查看賬戶信息。
9、更改root密碼,輸入update user set password=password('123456') where user='root' and host='localhost';
10、再次查看賬戶信息,select user,host,password from user; ? 可以看到密碼已被修改。
11、退出命令行,重啟mysql數(shù)據(jù)庫,用新密碼嘗試登錄。
12、測試不帶密碼登錄mysql,發(fā)現(xiàn)還是能夠登陸上,但顯示數(shù)據(jù)庫時只能看到兩個數(shù)據(jù)庫了,說明重啟之后跳過密碼驗證已經(jīng)被取消了。
13、重啟數(shù)據(jù)庫之后之所以不帶密碼任然能夠登錄是因為數(shù)據(jù)庫里存在設無須口令的賬戶。
擴展資料:
MySQL是一種開放源代碼的關系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),使用最常用的數(shù)據(jù)庫管理語言--結(jié)構(gòu)化查詢語言(SQL)進行數(shù)據(jù)庫管理。
MySQL是開放源代碼的,因此任何人都可以在General Public License的許可下下載并根據(jù)個性化的需要對其進行修改。
MySQL因為其速度、可靠性和適應性而備受關注。大多數(shù)人都認為在不需要事務化處理的情況下,MySQL是管理內(nèi)容最好的選擇。
1:使用SHOW語句找出在服務器上當前存在的數(shù)據(jù)庫:
mysql SHOW DATABASES;
2:創(chuàng)建一個數(shù)據(jù)庫MYSQLDATA
mysql CREATE DATABASE MYSQLDATA;
3:選擇你所創(chuàng)建的數(shù)據(jù)庫
mysql USE MYSQLDATA; (按回車鍵出現(xiàn)Database changed 時說明操作成功!)
4:查看現(xiàn)在的數(shù)據(jù)庫中存在什么表
mysql SHOW TABLES;
5:創(chuàng)建一個數(shù)據(jù)庫表
mysql CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6:顯示表的結(jié)構(gòu):
mysql DESCRIBE MYTABLE;
7:往表中加入記錄
mysql insert into MYTABLE values (”hyq”,”M”);
8:用文本方式將數(shù)據(jù)裝入數(shù)據(jù)庫表中(例如D:/mysql.txt)
mysql LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE;
9:導入.sql文件命令(例如D:/mysql.sql)
mysqluse database;
mysqlsource d:/mysql.sql;
10:刪除表
mysqldrop TABLE MYTABLE;
11:清空表
mysqldelete from MYTABLE;
12:更新表中數(shù)據(jù)
mysqlupdate MYTABLE set sex=”f” where name=’hyq’;
參考資料來源:百度百科:MySQL數(shù)據(jù)庫
起因: 初始自動生成的密碼太復雜了,并且粘貼過去登錄一直報錯,所以想直接修改密碼
過程:
還有些修改密碼的指令是這樣的,set password for ‘root’@‘localhost’=password(‘MyNewPass4!’); 也會報錯
應該是
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼' PASSWORD EXPIRE NEVER;
在Windows命令行下修改mysql數(shù)據(jù)庫密碼步驟如下:
1、通過dos命令進入mysql的bin目錄;
2、輸入“mysql
-uroot
-p”,回車進入mysql命令狀態(tài);
3、如果root原來有密碼,mysql將提示輸入原密碼,再進入mysql命令狀態(tài);
4、這里假設將root用戶密碼修改為mysql56,則在mysql命令狀態(tài)下輸入:
update
mysql.user
set
password=PASSWORD('mysql56')
where
user='root';
提示Query
OK,說明已更新。
5、輸入FLUSH
PRIVILEGES;來保存修改內(nèi)容,在mysql命令狀態(tài)下輸入:
FLUSH
PRIVILEGES;回車
至此,密碼修改完成。
分享名稱:mysql8怎么選擇密碼 mysql 8 忘記密碼
轉(zhuǎn)載來源:http://chinadenli.net/article34/hiepse.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供服務器托管、網(wǎng)站內(nèi)鏈、網(wǎng)站制作、面包屑導航、ChatGPT、網(wǎng)站導航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)