本文目錄一覽:
- 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-hant/n/246317.html