mysql8.0更改lower_case_table_names
mysql8.0安裝初始化之后是不能更改lower_case_table_names的
下面是官方文檔的一段話:
In MySQL 8.0, the lower_case_table_names variable can only be configured when the MySQL server is initialized.
解決方法:
方法一:在初始化的時候就要設置好這個變量的值
方法二:刪除數據目錄,重新初始化
(1)刪除數據目錄datadir=/usr/local/mysql/data
rm -rf /usr/local/mysql/data
(2)在配置文件中[mysqld]下添加lower_case_table_names = 1
```
vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql # 基本路徑
datadir=/usr/local/mysql/data #數據路徑 (先在/usr/local/mysql建data目錄)
socket=/usr/local/mysql/data/mysql.sock # socket文件
symbolic-links=0
log-error=/usr/local/mysql/data/mysqld.log #錯誤日志
pid-file=/usr/local/mysql/data/mysqld.pid #pid文件
**lower_case_table_names = 1** **#添加這行**
[mysql]
socket=/usr/local/mysql/data/mysql.sock
[mysqldump]
socket=/usr/local/mysql/data/mysql.sock
```
(3)執行初始化命令
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lower-case-table-names=1
(4)檢查變量的值
跳過授權表啟動
```
mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables &
```
免密登錄
```
mysql -uroot -p 不需要輸入密碼直接回車
show variables like '%lower_case_table_names%';
```
修改密碼等操作,請參考
[https://blog.csdn.net/qq_41788609/article/details/108390186](https://blog.csdn.net/qq_41788609/article/details/108390186)