linux版mysql8配置表名不區(qū)分大小寫問(wèn)題
mysql8配置表名不區(qū)分大小寫
如果在安裝mysql8,初始化之前,沒(méi)有在my.cnf配置忽略大小寫配置:
[mysqld] lower_case_table_names=1
我們就需要重新初始化mysql
1 備份數(shù)據(jù)庫(kù)文件
停止mysql服務(wù)
systemctl stop mysqld.service
2 刪除數(shù)據(jù)庫(kù)文件
刪除之前,最后備份一下
sudo rm -rf /var/lib/mysql/*
3 配置
vim /etc/my.cnf
[mysqld] lower_case_table_names=1
4 初始化
初始化,此時(shí)就會(huì)根據(jù)我們更改的新配置文件就行配置
sudo mysqld --initialize-insecure --user=mysql --datadir=/var/lib/mysql
5 啟動(dòng)mysql服務(wù)
systemctl start mysqld.service
6 登錄mysql并設(shè)置密碼
mysql -uroot -p
給root用戶修改密碼,新的密碼為:root
注意,需要再sql命令行當(dāng)中執(zhí)行
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
7 圖形化工具遠(yuǎn)程登錄
當(dāng)前問(wèn)題
在用SQLyog或Navicat中配置遠(yuǎn)程連接Mysql數(shù)據(jù)庫(kù)時(shí)遇到如下報(bào)錯(cuò)信息,這是由于Mysql配置了不支持遠(yuǎn)程連接引起的。
在Linux系統(tǒng)MySQL下測(cè)試
mysql -uroot -p use mysql; select Host,User from user;
可以看到root用戶的當(dāng)前主機(jī)配置信息為localhost。
修改Host為通配符%
Host列指定了允許用戶登錄所使用的IP。
比如user=root Host=192.168.1.1。這里的意思就是說(shuō)root用戶只能通過(guò)192.168.1.1的客戶端去訪問(wèn)。
user=root Host=localhost,表示只能通過(guò)本機(jī)客戶端去訪問(wèn)。
而 %是個(gè)通配符 ,如果Host=192.168.1.%,那么就表示只要是IP地址前綴為“192.168.1.”的客戶端都可以連接。
如果 Host=% ,表示運(yùn)行任何所有的IP都有連接權(quán)限。
注意:在生產(chǎn)環(huán)境下不能為了省事將host設(shè)置為%,這樣做會(huì)存在安全問(wèn)題,具體的設(shè)置可以根據(jù)生產(chǎn)環(huán)境的IP進(jìn)行設(shè)置。
update user set host = '%' where user ='root';
Host修改完成后記得執(zhí)行flush privileges使配置立即生效:
flush privileges;
測(cè)試
如果安裝的是 MySQL5.7 版本,接下來(lái)就可以使用SQLyog或者Navicat成功連接至MySQL了。
如果安裝的是MySQL8 版本,Navicat會(huì)成功連接至MySQL,而SQLyog連接時(shí)還會(huì)出現(xiàn)如下問(wèn)題:
這種問(wèn)題只會(huì)發(fā)生在安裝mysql8.0版本當(dāng)中出現(xiàn)
原因如下:
配置新連接報(bào)錯(cuò):錯(cuò)誤號(hào)碼 2058,分析是 mysql 密碼加密方法變了。
解決方法:
Linux下 mysql -u root -p 登錄你的 mysql 數(shù)據(jù)庫(kù)
mysql -uroot -p
然后執(zhí)行這條SQL: 密碼為:root
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
然后在重新配置SQLyog的連接,則可連接成功了,OK。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
安裝Mysql時(shí)出現(xiàn)錯(cuò)誤及解決辦法
因?yàn)橐粫r(shí)手癢癢更新了一下驅(qū)動(dòng),結(jié)果導(dǎo)致無(wú)線網(wǎng)卡出了問(wèn)題,本文給大家分享安裝mysql時(shí)出現(xiàn)錯(cuò)誤及解決辦法,對(duì)安裝mysql時(shí)出現(xiàn)錯(cuò)誤相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2015-12-12Last_Errno:?1062,Last_Error:?Error?Duplicate?entry
Last_Errno:?1062,Last_Error:?Error?Duplicate?entry?...?for?key?PRIMARY2014-02-02windows2008 64位系統(tǒng)下MySQL 5.7綠色版的安裝教程
這篇文章主要給大家分享了在windows2008 64位系統(tǒng)下MySQL 5.7綠色版的安裝教程,文中將安裝步驟介紹的非常詳細(xì),相信會(huì)對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-05-05MySQL中LAST_INSERT_ID()函數(shù)的實(shí)現(xiàn)
本文主要介紹了MySQL中LAST_INSERT_ID()函數(shù)的作用和使用方法,LAST_INSERT_ID()函數(shù)用于返回上一次INSERT操作生成的自增ID,對(duì)于需要獲取新插入記錄的主鍵的場(chǎng)景非常重要,感興趣的可以了解一下2024-10-10MySQL判斷列的值既不為NULL又不為空字符串的問(wèn)題
這篇文章主要介紹了MySQL判斷列的值既不為NULL又不為空字符串的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08快速解決MySQL服務(wù)無(wú)法啟動(dòng)顯示:系統(tǒng)出錯(cuò),發(fā)生系統(tǒng)錯(cuò)誤1067, 進(jìn)程意外終止的兩種方法
本人因?yàn)閜hpstudy的MySQL數(shù)據(jù)庫(kù)與我的電腦上的MySQL數(shù)據(jù)庫(kù)發(fā)生沖突,當(dāng)我將MySQL服務(wù)器的服務(wù)名從MySQL改為MySQL5后,啟動(dòng)MySQL5服務(wù)后就報(bào)錯(cuò):系統(tǒng)出錯(cuò), 發(fā)生系統(tǒng)錯(cuò)誤 1067, 進(jìn)程意外終止,現(xiàn)在將這個(gè)解決方法分享給大家,需要的朋友可以參考下2024-06-06MySQL中的HBase、ES的特點(diǎn)和區(qū)別解析
本文介紹了MySQL、HBase和ElasticSearch的特點(diǎn)和區(qū)別,MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù),支持事務(wù)和SQL,而HBase和ElasticSearch是NoSQL數(shù)據(jù)庫(kù),HBase基于HDFS,支持大規(guī)模數(shù)據(jù)的讀寫,而ElasticSearch是一個(gè)分布式的全文搜索引擎,感興趣的朋友跟隨小編一起看看吧2025-01-01MySQL8.0數(shù)據(jù)庫(kù)開(kāi)窗函數(shù)圖文詳解
開(kāi)窗函數(shù)為將要被操作的行的集合定義一個(gè)窗口,它對(duì)一組值進(jìn)行操作,不需要使用GROUP BY子句對(duì)數(shù)據(jù)進(jìn)行分組,能夠在同一行中同時(shí)返回基礎(chǔ)行的列和聚合列,這篇文章主要給大家介紹了關(guān)于MySQL8.0數(shù)據(jù)庫(kù)開(kāi)窗函數(shù)的相關(guān)資料,需要的朋友可以參考下2023-06-06