1.下载mysql镜像命令:
docker pull mysql/mysql-server
2. 创建docker镜像
docker run -d -p 3306:3306 --name mysql01 mysql/mysql-server
# 可以通过打镜像方式配置mysql字符集
docker run -d -p 3306:3306 \
-e MYSQL_USER="username" \
-e MYSQL_PASSWORD="yourpassword" \
--name mysql01 \
mysql/mysql-server
--character-set-server=utf8 \
--collation-server=utf8_general_ci
可以看到 镜像创建成功并且已经跑起来了
3.查看mysql镜像log那倒初始密码:
docker logs mysql01
在log中找到mysql初始密码,在红框位置,将密码复制下来备用
4.进入容器中修改初始密码,并添加用户以便可以用host访问
docker exec -it mysql01 bash
进入容器后也是一个类似linux的环境,现在可以使用 mysql命令修改密码
mysql -uroot -p
粘贴刚才复制下来的初始密码就可以进入mysql环境
现在必须修改初始密码,并且顺便创建之后用host登录的用户,一般root只用localhost登录不开放出去,用以下命令修改密码和创建用户:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Yourpassword';mysql> CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'YourPassword';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost';
mysql> CREATE USER 'newuser'@'%' IDENTIFIED BY 'YourPassword';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%';
创建完成之后如图
使用Navicat就可以在host端操作mysql了
接下来需要修改掉mysql的字符集,保证中文不会出现乱码,可以通过指令查看当前mysql的字符集
show variables like '%char%'
之后推出mysql环境,在docker中首先要安装一下vim:
yum install vim
等待安装完成。
使用vim打开 /etc文件夹中的my.cnf
vim /etc/my.cnf
在文档中插入字符集配置:
[mysqld]
user=mysql
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
保存后重启docker:
docker restart mysql01