python数据库安装_python数据库-MySQL安装问题总结(48)
一、ERROR 1698(28000):Access denied for user root@localhost錯(cuò)誤
我的操作系統(tǒng)是ubuntu:
我的MySQL版本是:
安裝完成后,登錄mysql的時(shí)候就出現(xiàn)了如下錯(cuò)誤:
因?yàn)榘惭b的過程中沒讓設(shè)置密碼,可能密碼為空,但無論如何都進(jìn)不去mysql。那么該怎么做呢
第一步
在ubuntu的terminal(也即終端)上輸入
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
進(jìn)入到配置文件,然后在這個(gè)配置文件中的[mysqld]這一塊中加入skip-grant-tables這句話。
作用:就是讓你可以不用密碼登錄進(jìn)去mysql。
保存:wq,退出。輸入:service mysql restart,重新啟動(dòng)mysql。
第二步
在終端上輸入mysql -u root -p,遇見輸入密碼的提示直接回車即可,進(jìn)入mysql
然后分別執(zhí)行下面四句話:
1use mysql; 然后敲回車2 update user set authentication_string=password("你的密碼") where user="root"; 然后敲回車3 flush privileges; 然后敲回車
4 quit;
第三步
重新進(jìn)入到mysqld.cnf文件中去把剛開始加的skip-grant-tables這條語句給注釋掉。
再返回終端輸入mysql -u root -p,應(yīng)該就可以進(jìn)入數(shù)據(jù)庫了。
二、ERROR 1524 (HY000): Plugin 'auth_socket' is not loaded
如果出現(xiàn)這個(gè)問題,還是需要像上個(gè)問題一樣,先把MySQL設(shè)置成無密碼狀態(tài),也就是把上個(gè)問題中的第三步注釋的
skip-grant-tables
這句話在去掉注釋,讓它重新起效,并且還要重啟MySQL服務(wù)
service mysql restart
起效后輸入下面這兩行命令
1、use mysql;2、select user,plugin from user;
從圖中可以看到在執(zhí)行了select user,plugin from user;后,錯(cuò)誤原因是因?yàn)閜lugin root的字段是auth_socket,那我們改掉它為下面的mysql_native_password就行了。輸入:
update user set authentication_string=password("123456"),plugin='mysql_native_password' where user='root';
然后回車執(zhí)行以下,再輸入select user,plugin from user;回車,我們能看到root用戶的字段改成功了。
最后quit退出。再把 skip-grant-tables這句話注釋上
:
這個(gè)問題就解決了
三、ERROR 2003 - Can't connect to MySQL server on '192.168.100.109' (61 "Connection refused")
問題分析:
1、可能是網(wǎng)絡(luò)連接問題。
解決方案:如果能ping 192.168.100.109,能ping通,則排除此情況。
2. 可能由于192.168.100.109主機(jī)上的my.cnf里配置了skip_networking。
如果配置了skip_networking,這就意味著MySQL只能通過本機(jī)Socket連接(socket連接也是本地連接的默認(rèn)方式),放棄對TCP/IP的監(jiān)聽當(dāng)然也不讓本地程序連接MySQL(Connector/只能通過TCP/IP來連接)。
解決方案:還是使用命令 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf進(jìn)入到mysqld.cnf文件中,如果有skip_networking,注釋掉就行了
3、可能由于192.168.100.109主機(jī)上的my.cnf里配置了bind_address=127.0.0.1,只允許本地socket連接
解決方案:也是使用命令 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf進(jìn)入到mysqld.cnf文件中,如果有bind_address=127.0.0.1,注釋掉就行了
4、還有可能是用戶名和密碼輸入錯(cuò)誤
解決方案:重新輸入一下用戶名和密碼
5、還有可能是port端口的問題
解決方案:有可能192.168.100.109的主機(jī)上的MySQL port不是默認(rèn)3306, 這樣我遠(yuǎn)程連接時(shí),沒有指定--port,用的是3306, 而192.168.100.109上沒有對3306進(jìn)行監(jiān)聽。
四、ERROR 1045 - Access denied for user 'root'@'localhost' (using password: YES)
出現(xiàn)access denied的原因有如下可能:
mysql的服務(wù)器停止
用戶的端口號(hào)或者IP導(dǎo)致
mysql的配置文件錯(cuò)誤----my.ini等文件
root用戶的密碼錯(cuò)誤
1、若MySQL已經(jīng)沒有啟動(dòng),重啟MySQL服務(wù)器即可
2、若用戶的端口號(hào)與IP(3306/3307)不一致:
3、要是mysql的配置文件錯(cuò)誤,只需要將init文件停止,在重啟一下即可
sudo /etc/init.d/mysql stop
sudo/etc/init.d/mysql start
4、還有就是密碼錯(cuò)誤,重新輸入密碼試試
五、ERROR 1130 (HY000): Host '192.168.100.102' is not allowed to connect to this MySQL server
問題原因:mysql服務(wù)器出于安全考慮,默認(rèn)只允許本地登錄數(shù)據(jù)庫服務(wù)器。
問題解決:登入mysql后,更改 "mysql" 數(shù)據(jù)庫里的 "user" 表里的 "host" 項(xiàng),從"localhost"改稱"%",然后重啟mysql這樣就允許所有的遠(yuǎn)程機(jī)器進(jìn)行訪問了。
步驟1:修改mysql表
mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>flush privileges;
mysql>select host, user fromuser;
mysql>quit
步驟2:重啟mysql
service mysql restart
這個(gè)問題就解決了
總結(jié)
以上是生活随笔為你收集整理的python数据库安装_python数据库-MySQL安装问题总结(48)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL语法整理(五)-视图
- 下一篇: Mac OS X 下 TAR.GZ 方式