0%

docker 安装 mysql 8

启动命令

1
docker run -d --rm --name=alert-mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /usr/lnmp/alert-mysql-data:/var/lib/mysql mysql/mysql-server:8.0.26

参数说明:

  • -d: 后台运行
  • --rm: 停止之后删除容器
  • --name=alert-mysql: 指定容器名称
  • -p 3307:3306: 宿主机的 3307 端口映射到容器的 3306 端口
  • -e MYSQL_ROOT_PASSWORD=123456: mysql 的初始化密码
  • -v /usr/lnmp/alert-mysql-data:/var/lib/mysql: 宿主机的 /usr/lnmp/alert-mysql-data 映射到容器的 /var/lib/mysql

修改密码

默认的 root 用户只能在容器实例里面进行连接,在宿主机上连接不了。

如果我们想在容器外连接数据库,则需要进行以下操作:

1
2
3
4
5
$ docker exec -it mysqldb bash
# mysql -h localhost -u root -p
(now enter the passsword 123456 and hit enter)
mysql> create user 'root'@'%' identified WITH mysql_native_password by '123456';
mysql> grant all privileges on *.* to 'root'@'%' with grant option;