项目启动QRTZ_LOCKS‘ doesn‘t exist
- mysql5.7:改配置文件
- mysql8.0:重装
- 具体操作步骤:
- 安装前清理工作
- 清理原有的mysql数据库
- 删除MariaDB的文件
- 安装MySQL
- 下载Yum Repository
- 安装MySQL
- 启动mysql服务并查看mysql状态
原因:Linux系统下Mysql数据表大小写敏感
解决办法:
如果是mysql8.0需要卸载并重新安装mysql8.0;
如果是mysql5.7直接改my.cnf文件即可
mysql5.7:改配置文件
1.查找my.cnf文件位置
locate my.cnf
修改Mysql配置文件, 在[mysqld]在下面增加一行
lower_case_table_names=1
重启mysqld
systemctl restart mysqld
mysql8.0:重装
具体操作步骤:
javascript:void(0)
安装前清理工作
清理原有的mysql数据库
使用以下命令查找出安装的mysql软件包和依赖包
rpm -qa | grep mysql
使用以下命令依次删除上面的程序:
yum remove 名字
再检查一遍是否有残留,没有的话进入下一步:删除mysql的配置文件。
卸载不会自动删除配置文件,首先使用如下命令查找出所用的配置文件:
find / -name mysql
使用以下命令依次删除上面的程序:
rm -rf 名字
删除MariaDB的文件
使用rpm命令查找出要删除的mariadb文件:
rpm -qa | grep mariadb
删除语句:
rpm -e 文件名
我这里没有,因此跳过这一步
安装MySQL
下载Yum Repository
网址:https://dev.mysql.com/downloads/repo/yum/
根据不同版本的CentOS系统进行下载,点击Download,我的是Linux 7
我是通过xftp把Windows上的文件上传到下shell服务器中的
也可以使用XShell,连接服务器,下载mysql的repo源:
wget https://repo.mysql.com//mysql80-community-release-el7-5.noarch.rpm
安装mysql80-community-release-el7-5.noarch.rpm包
rpm -ivh mysql80-community-release-el7-5.noarch.rpm
安装MySQL
yum -y install mysql-community-server
启动mysql服务并查看mysql状态
创建mysql目录
mkdir mysql
我放在了/usr/local/mysql这里
并在mysql中添加了data目录数为数据目录
查找my.cnf文件位置,我的在/etc/my.cnf
locate my.cnf
修改Mysql配置文件
vim /etc/my.cnf
在[mysqld]在下面增加一行
lower_case_table_names=1 (0:大小写敏感;1:大小写不敏感)
找到mysql.server地址
find / -name mysql.server
配置mysql相关地址
启动mysql服务:
systemctl start mysqld.service
初始化(很重要!!!)
MySQL8,新增data dictionary,数据初始化的时候在Linux下默认使用lower_case_table_names=0的参数,数据库启动的时候,读取/etc/my.cnf中的值,如果/etc/my.cnf中的值与数据库初始化时的值不一样,则会报如下错误
[ERROR] [MY-011087] [Server] Different lower_case_table_names
settings for server (‘1’) and data dictionary (‘0’).
MySQL官方提供的rpm包,默认禁用lower_case_table_names=0
–官方解释: After initialization, is is not allowed to change this setting.So “lower_case_table_names” needs to be set together with
–initialize .此参数需数据库初始化的值和启动是的值需相等
mysqld --lower_case_table_names=1 --initialize-insecure --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
查看状态
systemctl status mysqld.service
active表示mysql服务已启动。