Mysql
linux mysql 不區分大小寫 lower_case_table_names=1 使伺服器無法啟動
我在 linux ubuntu 中使用 mysql 我想
lower_case_table_names = 1
在/etc/mysql/my.cnf
文件中設置。但是我插入變數後,mysql伺服器無法啟動。這
有沒有辦法
lower_case_table_names
在my.cnf
文件中設置或其他方式來設置它?我以前做過,但它是在 centos 中,mysql 伺服器是手動啟動的。
謝謝你。
- 通過從 mysql 網站下載文件配置安裝
mysql-apt-config_0.8.14-1_all.deb
(選項,如果你想安裝 mysql 8)。- 安裝 mysql
sudo apt-get install mysql-server
。my.cnf
在中打開文件/etc/mysql
,使用sudo nano /etc/mysql/my.cnf
.- 插入
lower_case_table_names = 1
,如下所示:
[mysqld] lower_case_table_names = 1
5. 保存文件my.cnf
。 6. 備份文件夾/etc/mysql
,比如sudo cp -r /etc/mysql /etc/mysql.bak
7. 刪除 mysql 安裝使用sudo apt-get remove -y mysql-*
和sudo apt-get purge -y mysql-*
. 8. 把文件夾複製回來/etc/mysql.bak
,就好了sudo cp-r /etc/mysql.bak /etc/mysql
。 9. 回到第 1 步和第 2 步。在第 2 步中,安裝會詢問您是否將配置文件保存在文件夾中/etc/mysql
或使用安裝時的預設值。所以,我使用以前安裝的配置文件(N)。 10. 完成安裝 11. 檢查文件my.cnf
。它應該是帶有 的文件lower_case_table_names = 1
,如第 4 步。安裝後mysql會讀取
lower_case_table_names = 1
.希望這可以提供幫助。
- Ubuntu / CentOS 的預設值為 0(至少)。
- 如果您在具有數據庫/表的正在執行的伺服器上更改此設置,則可能會損壞文件。請參閱https://dev.mysql.com/doc/refman/5.7/en/identifier-case-sensitive.html在“0”的“含義”段落中。
由於您沒有發布錯誤消息,我假設您已經有帶有索引文件的表,並且為了防止數據損壞,它不會安全地重新啟動。
如果在安裝 MySQL 伺服器時就設置了此項,則會通過。當您想將其更改為現有伺服器時,它會引發錯誤。