我遇到同樣的錯誤,折騰了好久才摸索出來。網(wǎng)上的解決辦法都試過了,沒有確實可行的。最終總結(jié)出來,終于解決了。

“專業(yè)、務(wù)實、高效、創(chuàng)新、把客戶的事當(dāng)成自己的事”是我們每一個人一直以來堅持追求的企業(yè)文化。 創(chuàng)新互聯(lián)建站是您可以信賴的網(wǎng)站建設(shè)服務(wù)商、專業(yè)的互聯(lián)網(wǎng)服務(wù)提供商! 專注于網(wǎng)站建設(shè)、成都做網(wǎng)站、軟件開發(fā)、設(shè)計服務(wù)業(yè)務(wù)。我們始終堅持以客戶需求為導(dǎo)向,結(jié)合用戶體驗與視覺傳達(dá),提供有針對性的項目解決方案,提供專業(yè)性的建議,創(chuàng)新互聯(lián)建站將不斷地超越自我,追逐市場,引領(lǐng)市場!
我的下載的是mysql-5.7.9綠色版出的問題。最終解決過程供你參考:
1、下載的mysql-5.7.9,出現(xiàn)你的問題。試了各種辦法無法解決。有網(wǎng)友說mysql-5.7.9版本有問題。我改下載了5.6.27版本,嘗試不成功。但報錯變?yōu)椋簾o法啟動mysql服務(wù),發(fā)生錯誤1067。解決辦法:my.ini 添加 tmpdir = D:\mysql-5.6.27-winx64\data。問題解決。
2、后來我對比了mysql-5.7.9與5.6.27,發(fā)現(xiàn)mysql-5.7.9-winx64沒有data目錄,mysql-5.6.27-winx64\data\mysql,存了不少數(shù)據(jù)文件。原來調(diào)試5.7.9的版本時,記得日志報告一直有mysql.user、mysql.plugin不存在的提示。(原以為這些文件會自動生成)。后來把這個mysql-5.6.27-winx64\data下的mysql文件夾整個復(fù)制到5.7.9版本中的同目錄下。問題解決。
錯誤如下:1045 Access denied for user 'root'@'localhost' (using password:YES)
想起來有可是在navicat添加的root@'%'用戶,可能密碼和現(xiàn)在新版本5.7的加密不同了,導(dǎo)致密碼不對.
所以解決方法是更新用戶密碼.
注意5.7版本密碼保存的列是 authentication_string ,密碼要用函數(shù)password加密.
更新密碼的SQL是 update user set authentication_string=password('密碼') where user="root";
下面是Windows平臺下操作步驟:
配置文件my.ini ,在mysqld下面添加skip-grant-tables,意思是可以直接回車登錄,保存退出。重啟mySQL,然后運行cmd
輸入mysql -u root -p就可以不用密碼登錄了,出現(xiàn)password:的時候直接回車可以進(jìn)入。
1.切換到mysql數(shù)據(jù)庫:use mysql;
2.給root用戶設(shè)置新密碼,
mysql update user set authentication_string=password('密碼') where user="root";
3.刷新數(shù)據(jù)庫mysql flush privileges;
4.再修改my.ini,把剛加入的"skip-grant-tables"這行刪除或者添加#注釋,保存退出再重啟mysql服務(wù)就可以了。
一些參考命令
#刪除之前配置 drop user 'root' @ '%' ;
#配置遠(yuǎn)程登錄 CREATE USER 'root' @ '%' IDENTIFIED BY password( '你的密碼') ;
#授權(quán) GRANT ALL ON *.* TO 'root' @ '%' ;
#更新權(quán)限 flush privileges;
#查看用戶,主機(jī),加密方法 select user,host,plugin from user;
1、可能是/opt/mysql-master/data/數(shù)據(jù)目錄mysql用戶沒有權(quán)限(修改數(shù)據(jù)目錄的權(quán)限)
解決方法 :給予權(quán)限,執(zhí)行 "chown -R mysql.mysql /opt/mysql-master/data" 然后重新啟動mysqld
2、可能進(jìn)程里已經(jīng)存在mysql進(jìn)程
解決方法:用命令“ps -ef|grep mysqld”查看是否有mysqld進(jìn)程,如果有使用“kill -9 進(jìn)程號”殺死,然后重新啟動mysqld!
3、可能是第二次在機(jī)器上安裝mysql,有殘余數(shù)據(jù)影響了服務(wù)的啟動。
解決方法:去mysql的二進(jìn)制日志目錄看看,如果存在mysql-binlog.index,就趕快把它刪除掉吧
4、mysql在啟動時沒有指定配置文件時會使用/etc/my.cnf配置文件,請打開這個文件查看在[mysqld]下有沒有指定數(shù)據(jù)目錄(datadir)。
解決方法:請在[mysqld]下設(shè)置這一行:datadir = /opt/mysql-master/data
5、skip-federated字段問題
解決方法:檢查一下/etc/my.cnf文件中有沒有沒被注釋掉的skip-federated字段,如果有就立即注釋掉吧。
6、錯誤日志目錄不存在
解決方法:使用“chown” “chmod”命令賦予mysql所有者及權(quán)限
7、selinux惹的禍,如果是centos系統(tǒng),默認(rèn)會開啟selinux
解決方法:
先臨時改為警告模式:[root@www php]# setenforce 0然后打開/etc/sysconfig/selinux,把SELINUX=enforcing改為SELINUX=disabled
8、可以試著把mysql.cnf默認(rèn)文件開啟,排查是不是配置文件的錯誤。
常見配置錯誤有:
查看配置文件/etc/my.cnf里有沒有innodb_buffer_pool_size這個參數(shù)
innodb_buffer_pool_size:主要作用是緩存innodb表的索引,數(shù)據(jù),插入數(shù)據(jù)時的緩沖;
默認(rèn)值:128M;專用mysql服務(wù)器設(shè)置此值的大小: 系統(tǒng)內(nèi)存的70%-80%最佳。如果你的系統(tǒng)內(nèi)存不大,查看這個參數(shù),把它的值設(shè)置小一點吧
溫馨提示:記得開啟mysql錯誤日志,方便自己排錯。
vim /etc/my.cnf 各位可以根據(jù)自己的my.cnf文件編輯[mysql_safe]
log-error = /data/mysql-master/logs/error.log
1.停止mysql服務(wù):
右鍵點擊“我的電腦”圖標(biāo),出現(xiàn)右鍵菜單后左鍵點擊“管理”。彈出“電腦管理”對話框后,左鍵點擊“服務(wù)與程序”,接著點擊“服務(wù)”,最后找到mysql服務(wù)并將其關(guān)閉。
2.進(jìn)入控制面板,點擊卸載程序,進(jìn)入卸載程序?qū)υ捒蚝笮遁dmysql。
3.組合鍵W+R進(jìn)入運行,輸入“regedit”,查看下面 ?HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 的鍵值,將mysql鍵值(mysql、mysqladmin)刪掉 。
4.重啟系統(tǒng)。
5.再次安裝mysql程序。
flask中向mysql中數(shù)據(jù)操作會出現(xiàn)字符集的問題,比如創(chuàng)建數(shù)據(jù)模型:db.create_all()時,控制臺會出現(xiàn)warring 1366 的字符集警告,是這樣的:
這個異常是mysql問題,而非python的問題,這是因為mysql的字段類型是utf-xxx, 而在mysql中這些utf-8數(shù)據(jù)類型只能存儲最多三個字節(jié)的字符,而存不了包含四個字節(jié)的字符。
解決方法:
修改mysql數(shù)據(jù)表的字段類型為utf8mb4,只有在mysql5.5之后可以支持。
在flask配置中設(shè)置字符集:
SQLALCHEMY_DATABASE_URI = "mysql+pymysql://root:123456@127.0.0.1:3306/test?charset=utf8"
分享文章:mysql報錯怎么處理,mysql錯誤代碼
地址分享:http://chinadenli.net/article25/dsgieci.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、動態(tài)網(wǎng)站、域名注冊、Google、定制開發(fā)、品牌網(wǎng)站建設(shè)
聲明:本網(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)