部署项目遇到的mysql问题以及解决方法
1、数据库报错: Expression
mysql数据库升级到5.7X以上后,不在支持 DISTINCT 要么修改sql代码要么修改mysql配置文件:
vi /etc/my.cnf
在 [mysqld] 和 [mysqld] 与 [mysqld_safe] 之间添加下面一行
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
重启mysql
service mysqld restart
2、window下mysql默认表名不区分大小写,所以在程序中写表名大小写都能实现。linux系统下mysql表名区分大小写。所以要么程序中写正确,要么修改mysql配置
vi /etc/my.cnf
在 [mysqld] 和 [mysqld] 与 [mysqld_safe] 之间添加下面一行
lower_case_table_names=1
重启mysql
service mysqld restart
linux下mysql数据库表名区分大小写导致系统报错
vi /etc/my.cnf
在 [mysqld] 后 加上 lower_case_table_names=1
保存退出,重启mysql
service mysqld restart
linux下mysql数据库默认链接数过小,没有及时把mysql链接释放调导致mysql链接数量过多报错
vi /etc/my.cnf
max_connections=1000
max_user_connections=500
wait_timeout=200
保存退出,重启mysql
service mysqld restart
linux下mysql默认安装盘符空间太小,手动修改mysql配置文件来修改数据库存储位置。
mkdir /usr/local/mysql
暂停mysql
service mysqld stop
vi /etc/my.cnf
添加下面配置:
datadir=/usr/local/mysql
socket=/usr/local/mysql/mysql.sock
保存退出,将原来mysql安装位置的文件全部拷贝到新建的文件目录下
重启mysql
service mysqld restart复制代码