mysql8.0?lower_case_table_names?大小寫敏感設(shè)置問題解決
lower_case_table_names=1 表示 mysql 是不區(qū)分大小寫的
lower_case_table_names=0 表示 mysql 是區(qū)分大小寫的
根據(jù)網(wǎng)上資料得知mysql8.0之后,lower_case_table_names 配置必須在安裝好 MySQL 后,初始化 mysql 配置時才有效。一旦 mysql 啟動后,再設(shè)置是無效的,而且啟動報錯。
需要重新初始化MySQL數(shù)據(jù)庫,并且在初始化過程中,在初始化之前將lower_case_table_names = 1寫入到my.cnf文件中
但是我都已經(jīng)安裝啟動了,那就繼續(xù)坑唄
1 在修改配置之前,請先把 mysql 服務(wù)停止
systemctl stop mysqld.service
2 刪除錯誤日志
為了方便查看 mysql 的錯誤日志,可以先將 /var/log/mysqld.log 刪除。我第二次嘗試時不刪除日志也沒問題。
rm /var/log/mysqld.log
[root@iZbp19o1a0ypknm0yq2tifZ /]# systemctl stop mysqld.service [root@iZbp19o1a0ypknm0yq2tifZ /]# rm /var/log/mysqld.log rm:是否刪除普通文件 "/var/log/mysqld.log"?y
3 遞歸刪除 /var/lib/mysql 目錄下面的內(nèi)容
cd /var/lib/mysql #進入目錄
rm -rf * #遞歸刪除
[root@iZbp19o1a0ypknm0yq2tifZ /]# cd /var/lib/mysql [root@iZbp19o1a0ypknm0yq2tifZ mysql]# ls auto.cnf binlog.index ca.pem client-key.pem #ib_16384_1.dblwr ibdata1 #innodb_temp mysql.ibd private_key.pem server-cert.pem sys undo_002 binlog.000001 ca-key.pem client-cert.pem #ib_16384_0.dblwr ib_buffer_pool #innodb_redo mysql performance_schema public_key.pem server-key.pem undo_001 [root@iZbp19o1a0ypknm0yq2tifZ mysql]# rm -rf * [root@iZbp19o1a0ypknm0yq2tifZ mysql]# ls [root@iZbp19o1a0ypknm0yq2tifZ mysql]#
4 刪除原目錄,創(chuàng)建數(shù)據(jù)庫目錄并授權(quán)
rm -rf /var/lib/mysql
上面將已存在的數(shù)據(jù)庫目錄 /var/lib/mysql 刪除,下面將手動創(chuàng)建一個空目錄且進行授權(quán)
進入/var/lib 目錄,創(chuàng)建目錄:
cd /var/lib mkdir mysql
賦權(quán):
chown -R mysql:mysql mysql
查看賦權(quán)是否成功:ll|grep mysql
[root@iZbp19o1a0ypknm0yq2tifZ lib]# ll|grep mysql drwxr-x--x 2 mysql mysql 4096 2月 28 15:32 mysql drwxr-x--- 2 mysql mysql 4096 9月 14 02:29 mysql-files drwxr-x--- 2 mysql mysql 4096 9月 14 02:29 mysql-keyring
5 配置 lower_case_table_names
下面的命令
vim /etc/my.cnf
配置文件中加上 lower_case_table_names=1 即可。 #是否對sql語句大小寫敏感,1表示不敏感
我是直接用sftp下載my.cnf修改,然后再上傳覆蓋的
另外,我有自定義目錄,所以我的my.cnf文件里 凡是 /mnt/mysql8data 的都替換為 /var/lib
6 初始化MySql
默認安裝目錄應(yīng)該是下面的命令
mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql --basedir=/var/lib/mysql --datadir=/var/lib/mysql
啟動服務(wù):
systemctl start mysqld.service systemctl status mysqld.service
7 登錄 MySql并修改密碼
查初始密碼并復(fù)制出來,fzue;+r=9hjP 就是我的密碼
cat /var/log/mysqld.log |grep temp
[root@iZbp19o1a0ypknm0yq2tifZ lib]# cat /var/log/mysqld.log |grep temp 2023-02-28T08:45:48.759373Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: fzue;+r=9hjP [root@iZbp19o1a0ypknm0yq2tifZ lib]#
用初始密碼登錄:mysql -uroot -p
修改密碼:alter user 'root'@'localhost' identified by '密碼';
用Navicat測試還不能登錄,還需要刷新host
use mysql; update user set host = '%' where user ='root'; flush privileges;
8 參考以前寫的文章重新修改mysql數(shù)據(jù)目錄
轉(zhuǎn)到鏈接文章中第7點開始修改。
http://www.dbjr.com.cn/database/297966enh.htm
到此這篇關(guān)于mysql8.0 lower_case_table_names 大小寫敏感設(shè)置問題解決的文章就介紹到這了,更多相關(guān)mysql 大小寫敏感 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決mysql.server?start執(zhí)行報錯ERROR!The?server?quit?without?u
這篇文章主要介紹了解決mysql.server?start執(zhí)行報錯ERROR!The?server?quit?without?updating?PID?file問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09MySql官方手冊學(xué)習(xí)筆記1 MySql簡單上手
這是我學(xué)習(xí)MySql 5.1時做的一些整理與筆記,希望能理一理自己學(xué)到的東西,如果能有助于各位同道學(xué)習(xí)MySql那就更是意外之喜了,呵呵2012-10-10MySQL批量修改表及表內(nèi)字段排序規(guī)則舉例詳解
在MySQL中字段排序規(guī)則(也稱為字符集和排序規(guī)則)用于確定如何比較和排序字符串,下面這篇文章主要給大家介紹了關(guān)于MySQL批量修改表及表內(nèi)字段排序規(guī)則的相關(guān)資料,需要的朋友可以參考下2024-05-05MySQL5.6.31 winx64.zip 安裝配置教程詳解
這篇文章主要介紹了MySQL5.6.31 winx64.zip 安裝配置教程詳解,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-02-02