1.docker search mysql 搜索镜像

2.下载镜像:
docker pull mysql
3.下载完成后,创建mysql容器, 挂虚拟文件路径到真实主机上,不然重启数据就没了
docker run -p 3306:3306 --name mysql -v /mysqldocker/conf:/etc/mysql -v /mysqldocker/mysql-files:/var/lib/mysql-files -v /mysqldocker/logs:/var/log/mysql -v /mysqldocker/data:/var/lib/mysql -v /mysqldocker/my.cnf:/etc/mysql/my.cnf -e MYSQL_ROOT_PASSWORD=root -d mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
支持表情符号:
修改mysql表字段的编码为uft8mb4
可以直接navicat工具操作
修改数据表的编码为utf8mb4
可以直接navicat工具操作
修改连接数据库的连接代码
修改前:
jdbc_url=jdbc:mysql://10.1.10.76:3306/ebus?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
修改后:
jdbc_url=jdbc:mysql://10.1.10.76:3306/ebus?useUnicode=true&zeroDateTimeBehavior=convertToNull
4. 查看mysql容器id(container id):
docker ps
5.进入容器:
docker exec -it 7681b85e73a1 /bin/sh
6. mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 所以需要把mysql用户登录密码加密规则还原成mysql_native_password.
进入mysql
mysql -h localhost -p
修改远程权限:
alter user 'root'@'%' identified with mysql_native_password by 'root';
7. 租的云服务器,很多有安全组的限制,需要添加白名单
点击控制台服务器ip后找到安全组
点击默认安全组,在入方向规则里添加2个如下安全规则开放ping和3306端口就可以了