mysql 常见问题
关闭ONLY_FULL_GROUP_BY SQL模式 。
方式一:临时关闭
用sql查询:
select @@global.sql_mode
设置新的值为:
set @@global.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
方式一:永久关闭
编辑mysql配置文件
vim /etc/mysql/conf.d/mysql.cnf
文件底部添加
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
保存并退出输入模式
重启mysql
service mysql restart
mysql开发访问权限 。
使用mysql库
use mysql
修改root用户的访问权限
update user set host='%' where user = 'root';
会提示
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
忽略该错误,查询用户权限
select host from user where user = 'root';
修改完成
解决mysql插入中文出现错误,Incorrect string value: '\xE5\xAD\xA6\xEF\xBC\x89...' for column
原因:可能是字段编码问题,将字段编码设置为utf8
docker下修改mysql配置文件
第一步: 找到要修改的镜像
docker ps
第二步: 进入要修改的镜像
docker exec -it 容器ID /bin/bash
第三步: 进入要修改的文件目录
cd /etc/mysql
第四步: 安装vim
如果不安装vim在使用vim的时候会报找不到,在修改docker中mysql的配置文件,无法使用vi命令。
apt-get update
apt-get install vim
第五步: 修改my.cnf配置文件
vi my.cnf
第六步: 退出容器
如果要退出bash有2种操作:1)Ctrl + d 退出并停止容器;2)Ctrl + p + q 退出并在后台运行容器;
第七步:重启docker容器
docker restart 容器ID
后续编写