asu*_*uka 14 mysql lowercase data-dictionary
我刚刚在 Ubuntu 16.0.4 中编译了 MySQL 8.0.12 版本。
按照网站中的说明制作以下 my.cnf 文件后:
[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
port=3306
log-error=/usr/local/mysql/data/localhost.localdomain.err
user=mysql
secure_file_priv=/usr/local/mysql/mysql-files
local_infile=OFF
log_error = /var/log/mysql/error.log
# Remove case sensitive in table names
lower_case_table_names=1
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
2018-08-11T19:45:06.461585Z 1 [ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ('1') and data dictionary ('0').
Run Code Online (Sandbox Code Playgroud)
我应该更改什么才能使数据字典与服务器设置保持一致?
sta*_*tor 11
到目前为止,我可以通过一种变通方法(我最初发布在askubuntu 上)使其工作:通过lower_case_table_names在安装后使用新值重新初始化 MySQL 。以下步骤适用于新安装。如果数据库中已有数据,请先将其导出,以便稍后将其导入:
sudo apt-get update
sudo apt-get install mysql-server -y
Run Code Online (Sandbox Code Playgroud)
sudo service mysql stop
Run Code Online (Sandbox Code Playgroud)
sudo rm -rf /var/lib/mysql
Run Code Online (Sandbox Code Playgroud)
sudo mkdir /var/lib/mysql
sudo chown mysql:mysql /var/lib/mysql
sudo chmod 700 /var/lib/mysql
Run Code Online (Sandbox Code Playgroud)
lower_case_table_names = 1到 中的[mysqld]部分/etc/mysql/mysql.conf.d/mysqld.cnf。--lower_case_table_names=1:
sudo mysqld --defaults-file=/etc/mysql/my.cnf --initialize --lower_case_table_names=1 --user=mysql --console
Run Code Online (Sandbox Code Playgroud)
sudo service mysql start
Run Code Online (Sandbox Code Playgroud)
root:
sudo grep 'temporary password' /var/log/mysql/error.log
Run Code Online (Sandbox Code Playgroud)
root通过以下任一方式更改 MySQL 用户的密码:
sudo mysql -u root -p
Run Code Online (Sandbox Code Playgroud)
并执行:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPa$$w0rd';
Run Code Online (Sandbox Code Playgroud)
之后,或者无论如何调用“强化”脚本:
sudo mysql_secure_installation
Run Code Online (Sandbox Code Playgroud)
之后,您可以lower_case_table_names通过进入 MySQL shell来验证设置:
sudo mysql -u root -p
Run Code Online (Sandbox Code Playgroud)
并执行:
SHOW VARIABLES LIKE 'lower_case_%';
Run Code Online (Sandbox Code Playgroud)
预期输出:
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| lower_case_file_system | OFF |
| lower_case_table_names | 1 |
+------------------------+-------+
Run Code Online (Sandbox Code Playgroud)