1信卡、如果出現(xiàn):Access denied for user 'root'@'localhost' (using password: YES)
是代表:用戶root在本地登錄使用密碼的時(shí)候訪問被拒絕,可能是密碼輸入錯(cuò)誤:
解決方案:
①、停止mysql服務(wù)的啟動(dòng):
[root@iZ35pgvwfakdy8Z bin]# systemctl stop mysqld
②、將MySQL調(diào)至跳過密碼登錄:
編輯/etc/my.cnf文件
[root@iZ35pgvwfakdy8Z bin]# vi /etc/my.cnf
然后骨田,在文件中添加一行語句(跳過密碼的代碼):
skip-grant-tables
如圖:
image
保存退出“:wq”癣漆。
③嗡综、重啟MySQL數(shù)據(jù)庫
[root@iZ35pgvwfakdy8Z bin]# systemctl restart mysqld
④簇捍、進(jìn)入mysql的命令行中
[root@iZ35pgvwfakdy8Z bin]# mysql
如圖:
image
然后只壳,在里面修改密碼:
mysql> use mysql;
mysql> update user set password=password('123') where user='root' and host='localhost';
mysql> flush privileges;
然后,將文件/etc/my.cnf里面添加的“skip-grant-tables”語句刪除暑塑。
⑤吼句、重啟數(shù)據(jù)庫
[root@iZ35pgvwfakdy8Z bin]# systemctl restart mysqld
⑥、檢查修改是否成功:
[root@iZ35pgvwfakdy8Z bin]# mysql -uroot -p
輸入密碼事格,enter回車惕艳。
image
上圖代表修改成功。
2驹愚、如果本地mysql連接云服務(wù)器中出現(xiàn):
image.png
意思就是說只允許本地連接mysql远搪。
解決方案:
[root@iZ35pgvwfakdy8Z bin]# mysql -uroot -p
輸入密碼進(jìn)入mysql執(zhí)行命令行中。
然后逢捺,輸入:
mysql>use mysql;
-- 創(chuàng)建用戶谁鳍、密碼及權(quán)限范圍 第一個(gè) roo t為用戶名 @后為適用的主機(jī),‘%’表示所有電腦都可以訪問連接劫瞳,第二個(gè) root 為密碼
mysql> GRANT ALL PRIVILEGES ON *.* TO '用戶名'@'%' IDENTIFIED BY '密碼' WITH GRANT OPTION;
Query OK, 0 rows affected (1.57 sec)
-- 立即生效
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
接著關(guān)閉防火墻:
[root@iZ35pgvwfakdy8Z bin]# systemctl stop firewalld
CentOS7使用firewalld打開關(guān)閉防火墻與端口
然后重啟mysql倘潜,本地檢查連接是否連接的上。
[root@iZ35pgvwfakdy8Z bin]# systemctl start mysqld
image.png
連接成功志于。