mysql问题处理大全
一:mysql中文乱码问题:
- 解决一次问题
show variables like “%chara%”
character_set_client 为客户端编码方式;
character_set_connection为建立连接使用的编码方式;
character_set_database为数据库的编码方式;
character_set_results是结果集的编码方式;
character_set_server为数据库服务器的编码方式;编码不是utf8,需要改成utf8
- 永久解决问题
linux 系统中根目录下 /etc/my.cnf
编辑.cnf文件,执行: vi my.cnf
修改如下内容:
[mysqld]
character-set-server=utf8
collation-server = utf8_general_ci
init_connect='SET NAMES utf8'
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8
保存文件后,重启mysql: service mysqld restart
二.mysql常用启停服务命令。
1、启动mysql服务:systemctl start mysqld.service
2、查看mysql状态:systemctl status mysqld.service
3、重启mysql服务:systemctl restart mysqld.service
4、停止mysql服务:systemctl stop mysqld.service
如果需要修改mysql的端口号,则在/etc/my.cnf配置文件中加入:
port=3307(3308),保存并关闭文件,然后重启mysql服务便好。
三. 文件路径
查看安装文件路径:
[root@localhost ~]# whereis mysql
默认配置文件路径:
配置文件:/etc/my.cnf #配置文件。
日志文件:/var/log/mysqld.log #日志。
服务启动脚本:/usr/lib/systemd/system/mysqld.service
数据库的目录:/var/lib/mysql #数据文件是放在这个目录。
四. MYSQL升级后GROUP BY语句出错解决方法
MySQL 5.7默认的SQL mode包含如下:ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, and NO_ENGINE_SUBSTITUTION。
查询mysql服务器版本
select @@version;
查看sql_mode
SELECT @@sql_mode;
select @@GLOBAL.sql_mode;
select @@SESSION.sql_mode;
修改sql_mode
SET GLOBAL sql_mode = ‘’;
或
set @@sql_mode=‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION’;
在这里欢迎大家的点赞、关注、评论,以此来促进大家互相学习交流,同时可以让新加入的小伙伴更快的了解新知识!!!
以上内容如有侵权,请联系作者进行删除
≧◠◡◠≦ 1分2分都是爱,感谢已经打赏的老板,和正在打赏的老板们 ≧◠◡◠≦