- 安装mysql命令
sudo docker pull mysql:5.7
- 设置mysql
sudo docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
参数:
- -p 3306:3306:将容器的3306端口映射到主机的3306端口
- –name:给容器命名
- -v /mydata/mysql/log:/var/log/mysql:将配置文件挂载到主机/mydata/…
- -e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码为root
查看docker启动的容器:
docker ps
- 设置MySQL默认
cd /mydata/mysql/conf
vi my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
# Esc
# :wq
- 重启MySQL
docker restart mysql
- 接下来 赋权
进入容器
docker exec -it mysql bash
- 连接MySQL
mysql -uroot -p root
- 使用mysql
use mysql;
- 赋权
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
GRANT: 赋权命令
ALL PRIVILEGES: 当前用户的所有权限
ON: 介词
.: 当前用户对所有数据库和表的相应操作权限
TO: 介词
‘root’@’%’: 权限赋给root用户,所有ip都能连接
IDENTIFIED BY ‘root’: 连接时输入密码,密码为root
WITH GRANT OPTION:允许级联赋权
- 刷新权限
FLUSH PRIVILEGES;