Docker运行MySQL8容器

由 阿添ATim 发布
  1. 创建容器

先找个地方创建指定目录
例如 /root/tim-tools/mysql-docker

创建下面的文件
docker-compose.yml

version: '3.8'

services:

  mysql:

    image: mysql:8.0

    container_name: mysql8
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: "password" #密码自己设定

    volumes:

      - ./data:/var/lib/mysql

      - ./mysql/conf.d:/etc/mysql/conf.d

      - ./backups:/backups

    ports:

      - "3306:3306"
  1. 然后在这个目录打开终端
// 创建容器
docker compose up -d
// 检查容器运行状态
docker ps -f name=mysql8
// 登录尝试(输入命令后直接键入密码即可,密码是不可视的)
docker exec -it mysql8 mysql -uroot -p
  1. 在root环境中创建指定用户
// 创建用户
CREATE USER 'custom_user'@'%' IDENTIFIED BY 'custom_password';
// 创建表
CREATE DATABASE IF NOT EXISTS custom_base;
// 授予用户所有权限
GRANT ALL PRIVILEGES ON custom_base.* TO 'custom_user'@'%';
// 完成后刷新权限
FLUSH PRIVILEGES;
  1. 修改root密码(docker貌似不起效)
// 常规MySQL
ALTER USER 'root'@'%' IDENTIFIED BY 'new_password';
// MySQL8.0+ 兼容PHP需要
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'new_password';
// 完成后刷新权限
FLUSH PRIVILEGES;

0条评论

评论已关闭