拉取镜像
docker pull mysql:8.0
部署mysql
首先先创建一个mysql容器
docker run \
--name mysql \
-p 3306:3306 \
--restart=always \
-e MYSQL_ROOT_PASSWORD=root \
-v /var/lib/mysql/:/var/lib/mysql/ \
-d mysql:8.0 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci
然后进入mysql环境,mysql容器实质上是创建了带mysql一个linux,所以可以直接进入相应的终端
docker exec -it mysql /bin/bash
进入mysql
mysql -uroot -proot
查看user表的情况
select host,user,plugin from user;
可以将远程登录的方式修改为native_password,因为8.0支持的caching_sha2_password更安全,但是验证登录速度慢一些(可选操作)
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
你也可以修改密码
将本地登录密码修改为123456
ALTER user root@'localhost' identified by '123456';
修改远程登录密码为123456
ALTER user root@'%' identified by '123456';
记得刷新权限
刷新权限
flush privileges;
此时还需要让数据库支持中文 跳转到相应的目录下
cd /etc/mysql/conf.d/
如果此时linux有vim或vi,则使用以下命令
编辑mysql.cnf
vi/vim mysql.cnf
将以下内容复制进去
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
如果发现没有安装vi/vim,可以采取以下命令
echo -e "[client]\ndefault-character-set=utf8\n[mysql]\ndefault-character-set=utf8" >> mysql.cnf
重新进入mysql,查看是否成功修改
use mysql;
show variables like'character%';