#拉去mysql8.0.27镜像, 选择您需要的版本
docker pull leeyom/mysql:8.0.27
#查看mysql是否拉取成功
docker images
#运行mysql容器
#左边端口是阿里云主机端口, 右边是数据库端口, 表示阿里云端口映射到数据库端口, 通过阿里云端口借口访问数据库
docker run -itd --name mysql8.0 -p 13308:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.27
#进入容器内部
#docker exec -it 容器ID /bin/bash
[root@node01 logs]# docker exec -it ef49310d3f90 /bin/bash
root@ef49310d3f90:/# mysql -uroot -proot
#启动容器后无需设置远程访问, 如需允许远程访问, 参考**8.0开启远程访问**:
mysql -u root -p123456
use mysql;
CREATE USER 'root'@'%' IDENTIFIED BY '123456';
GRANT ALL ON *.* TO 'root'@'%';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;
异常信息:
1055 - Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'heima.tb_student.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
解决办法:
#先再mysql里查询mysql的sql_mode, 然后查询结果里面去掉ONLY_FULL_GROUP_BY就是新的sql_mode值, 再容器里配置设置即可
select @@GLOBAL.sql_mode
#1.进入docker容器内部
[root@node01 logs]# docker exec -it ef49310d3f90 /bin/bash
root@ef49310d3f90:/#
#2.更新软件包
root@ef49310d3f90:/# apt-get update
#3.安装vi编辑器
root@ef49310d3f90:/# apt-get install vim
#4.修改/etc/my.cnf配置文件
root@ef49310d3f90:/# vim /etc/mysql/my.cnf
在[mysqld]下增加, 如果存在修改为下面值:
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#5.重启mysql, 永久有效
docker restart ef49310d3f90
#6.查看启动日志
[root@node01 opt]# docker logs -f ef49310d3f90
#把docker里面配置复制到阿里云主机
[root@node01 ~]# docker cp ef49310d3f90:/etc/mysql/my.cnf /opt/my.cnf
#再把修改好的配置拷贝回docker容器
[root@node01 ~]# docker cp /opt/my.cnf ef49310d3f90:/etc/mysql/my.cnf
报错: sqlyog无法连接mysql8.0的处理办法报2508
解决后老版本SQLyog和新版本SQLyog都可以连接mysql8.0, 修改后不影响navicat和命令行登陆方式
解决如下, 修改后无需重启mysql
#修改加密规则
mysql> ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.02 sec)
#修改密码
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.02 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
Content type
Image
Digest
Size
144.4 MB
Last updated
about 4 years ago
docker pull leeyom/mysql:8.0.27