本文目錄一覽:
- 1、重啟後mysql連不上提示1045
- 2、資料庫出現#1045 無法登錄 MySQL 伺服器
- 3、linux系統 #1045 無法登錄 MySQL 伺服器
- 4、mysql1045錯誤…
- 5、Mysql8.0.13 登錄報1045(28000)錯誤
重啟後mysql連不上提示1045
連接mysql時1045出錯,本質就是密碼出錯所造成的問題。
解決辦法如下:
重新設置root用戶密碼
第一種方法:打開「開始」——「程序」——「MySQL「——」MySQL 5.0「——」MySQL Server Instance Config Wizard」,一直點擊下一步
Current root password:後面輸入原先的密碼
New root password:輸入新的密碼
Confirm:再輸入一遍新的密碼
然後就可Next一路下去……直到成功。
第二種方法:
1、以系統管理員身份登錄到系統;
2、如果MySQL伺服器正在運行,停止它。
如果是作為Windows服務運行的伺服器,進入服務管理器:開始菜單-控制面板-管理工具-服務
如果伺服器不是作為服務而運行的,可能需要使用任務管理器來強制停止它。
3、創建1個文本文件,並將下述命令置於單一行中:
SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘MyNewPassword’);
用任意名稱保存該文件。在本例中,該文件為C:\mysql-init.txt。
4、進入DOS命令提示:開始菜單-運行- cmd
假定你已將MySQL安裝到C:\mysql。如果你將MySQL安裝到了另一位置,請對下述命令進行相應的調整。
在DOS命令提示符下,執行命令:
C:\ C:\mysql\bin\mysqld-nt –init-file=C:\mysql-init.txt
在伺服器啟動時,執行由「–init-file」選項(作用:在啟動時從指定的文件中讀取SQL命令)命名的文件的內容,更改根用戶密碼。當伺服器成功啟動後,應刪除C:\mysql-init.txt。
5、停止MySQL伺服器,然後在正常模式下重啟它。如果以服務方式運行伺服器,應從Windows服務窗口啟動它。如果以手動方式啟動了伺服器,能夠像正常情形下一樣使用命令。
資料庫出現#1045 無法登錄 MySQL 伺服器
解決辦法是重新設置root用戶密碼,在Windows平台下操作步驟如下:
1、以系統管理員身份登錄到系統;
2、如果MySQL伺服器正在運行,停止它。
如果是作為Windows服務運行的伺服器,進入服務管理器:開始菜單-控制面板-管理工具-服務
如果伺服器不是作為服務而運行的,可能需要使用任務管理器來強制停止它。
3、創建1個文本文件,並將下述命令置於單一行中:
SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘MyNewPassword’);
用任意名稱保存該文件。在本例中,該文件為C:\mysql-init.txt。
4、進入DOS命令提示:開始菜單-運行- cmd
假定你已將MySQL安裝到C:\mysql。如果你將MySQL安裝到了另一位置,請對下述命令進行相應的調整。
在DOS命令提示符下,執行命令:
C:\ C:\mysql\bin\mysqld-nt –init-file=C:\mysql-init.txt
在伺服器啟動時,執行由「–init-file」選項(作用:在啟動時從指定的文件中讀取SQL命令)命名的文件的內容,更改根用戶密碼。當伺服器成功啟動後,應刪除C:\mysql-init.txt。
5、停止MySQL伺服器,然後在正常模式下重啟它。如果以服務方式運行伺服器,應從Windows服務窗口啟動它。如果以手動方式啟動了伺服器,能夠像正常情形下一樣使用命令。
附:
其他方法
方法一:
# /etc/init.d/mysql stop
# mysqld_safe –user=mysql –skip-grant-tables –skip-networking
# mysql -u root mysql
mysql UPDATE user SET Password=PASSWORD(』newpassword』) where USER=』root』;
mysql FLUSH PRIVILEGES;
mysql quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: 輸入新設的密碼newpassword
mysql
linux系統 #1045 無法登錄 MySQL 伺服器
開始使用Linux連接mysql資料庫的時候,出現了1045錯誤。當出現這個問題的時候,應該是用戶被資料庫拒絕訪問了,我們應該為你的資料庫開闢許可權。
1.登錄資料庫輸入linux指令
mysql -uroot -padmin
登錄你的資料庫輸入用戶名和密碼
2.使用資料庫,查詢許可權
mysql use mysql;
mysql select host,user from user;
+——–+————–+
| user | host |
+——–+————–+
| myuser | % |
| root | % |
| server | % |
| root | 127.0.0.1 |
| root | 192.168.1.60 |
| ted | 192.168.1.60 |
| xuys | 192.168.1.60 |
| root | ::1 |
| | iz94w6ieqtwz |
| root | iz94w6ieqtwz |
| | localhost |
| root | localhost |
+——–+————–+
可以查詢用戶和許可權
3.想要遠程mysql伺服器,需要增加普通許可權的用戶
mysql grant select,update,insert,delete on mas.* to root@localhost identified by “admin”;
這句命令的意思是:新建用戶root,並且只允許該用戶在本地(localhost)登錄,密碼是admin,並且賦予它對mas庫中所有表select,update,insert的許可權。我們在這有一個mas庫,所以用mas.*代表mas庫下的所有表。 現在該root用戶,已經可以登錄mysql了,但是也還是只能本地登錄。
若要想root用戶可以遠程登錄mysql,則還需要以下命令:
mysql update user set host = ‘%’ where user = ‘root’;
我們也可以直接給用戶許可權
grant all on *.* to 用戶名@”%” identified by “密碼”;
flush privileges;刷新許可權
mysql1045錯誤…
解決辦法是重新設置root用戶密碼,在Windows平台下操作步驟如下:
1、以系統管理員身份登錄到系統;
2、如果MySQL伺服器正在運行,停止它。
如果是作為Windows服務運行的伺服器,進入服務管理器:開始菜單-控制面板-管理工具-服務
如果伺服器不是作為服務而運行的,可能需要使用任務管理器來強制停止它。
3、創建1個文本文件,並將下述命令置於單一行中:
SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘MyNewPassword’);
用任意名稱保存該文件。在本例中,該文件為C:\mysql-init.txt。
4、進入DOS命令提示:開始菜單-運行- cmd
假定你已將MySQL安裝到C:\mysql。如果你將MySQL安裝到了另一位置,請對下述命令進行相應的調整。
在DOS命令提示符下,執行命令:
C:\ C:\mysql\bin\mysqld-nt –init-file=C:\mysql-init.txt
在伺服器啟動時,執行由「–init-file」選項(作用:在啟動時從指定的文件中讀取SQL命令)命名的文件的內容,更改根用戶密碼。當伺服器成功啟動後,應刪除C:\mysql-init.txt。
5、停止MySQL伺服器,然後在正常模式下重啟它。如果以服務方式運行伺服器,應從Windows服務窗口啟動它。如果以手動方式啟動了伺服器,能夠像正常情形下一樣使用命令。
Mysql8.0.13 登錄報1045(28000)錯誤
mysql-8.0.13 ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)
一、修改root密碼
mysql update mysql.user set authentication_string=”123456″ where user=”root”;
或:mysqlupdate mysql.user set authentication_string=”123456″ where user=”root” and host=’localhost’;
#刷新許可權(必須步驟)
mysql flush privileges;
#查詢密碼是否生效:
mysql select host,user,authentication_string from mysql.user;
mysql-8.0.13修改密碼後mysqlquit 再次登錄。
mysql – u root -p
password:123456
報錯:ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)
找到一種解決方法:
1、cmd-1窗口:無密碼啟動mysql服務
mysqld –console –skip-grant-tables –shared-memory ;
#–skip-grant-tables 的意思是啟動MySQL服務的時候跳過許可權表認證。
2、無密碼登錄,再次修改密碼。
再開一個CMD窗口(前一個CMD窗口已經不能動了),轉到mysql\bin目錄
mysql -u root -p
-密碼不輸入直接enter
#修改密碼為空
mysql UPDATE mysql.user SET authentication_string=” WHERE user=’root’;
mysqlflush privileges;
myslqquit
#再次登錄無密碼登錄
mysql – u root -p
Enter password:
#enter不輸入密碼進入mysql
————————————————————————————
查詢網上資料,可能是MySQL8.0的caching_sha2_password問題,再來試試
MySQL8.0採用了新的更安全的驗證方式,原有修改密碼方法修改密碼後無法登錄
mysqlupdate mysql.user set authentication_string=”123456″ where user=”root” and host=’localhost’;
1、首先查詢用戶
mysql select host,user,plugin,authentication_string from mysql.user;
2、修改密碼和密碼方式
mysql ALTER user ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
mysql flush privileges;
3、退出再次登錄,成功。
或者也可以修改密碼後再修改plugin
1、mysqlupdate mysql.user set authentication_string=”123456″ where user=”root” and host=’localhost’;
2、mysql UPDATE mysql.user SET plugin=’mysql_native_password’ WHERE user=’root’;
具體步驟:windows-mysql無法登錄,修改密碼
1、首先關閉正在運行的MySQL服務。
2、打開CMD窗口,轉到mysql\bin目錄。
3.、輸入 mysqld –console –skip-grant-tables –shared-memory ;。–skip-grant-tables 的意思是啟動MySQL服務的時候跳過許可權表認證。
4、再開一個CMD窗口(前一個窗口已經不能動了),轉到mysql\bin目錄。
5. 輸入mysql -u root -p回車,出現MySQL提示符 。
6. 進行修改密碼:
ALTER user ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
# plugin需要改成: mysql_native_password
7. 刷新許可權(必須步驟):flush privileges; 。
8. 退出 quit。
9. 再次訪問,使用用戶名root和新密碼123456登錄。
#啟動mysql服務 net start mysql
#停止mysql服務 net stop mysql
#登錄mysql mysql -u root -p
#查詢用戶信息
mysql select host,user,plugin,authentication_string from mysql.user;
#修改密碼:
mysql ALTER user ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY it’123456′;
#退出 mysqlquit
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/246317.html