Docker安装、配置Mysql5.7

发布于:2025-04-08 ⋅ 阅读:(35) ⋅ 点赞:(0)

1.创建必要的目录

# 创建目录
mkdir -p ~/docker/software/mysql/{conf,log,data}

2.如果没有docker-compose.yml文件的话,先创建docker-compose.yml

配置文件一般长这个样子

version: '3'

services:
  mysql:
    image: mysql:5.7.36
    container_name: mysql
    ports:
      - "3306:3306"
    volumes:
      - /etc/localtime:/etc/localtime
      - ~/docker/software/mysql/conf:/etc/mysql/mysql.conf.d
      - ~/docker/software/mysql/log:/var/log/mysql
      - ~/docker/software/mysql/data:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=test
      - TZ=Asia/Shanghai
    command: 
      --character-set-server=utf8mb4 
      --collation-server=utf8mb4_unicode_ci
    restart: always

 3.配置Mysql

# 如果容器存在但未运行,先删除
docker rm -f mysql

# 确保配置目录存在
mkdir -p ~/docker/software/mysql/{conf,log,data}

# 创建配置文件
cat > ~/docker/software/mysql/conf/mysqld.cnf << 'EOF'
[mysqld]
log-bin=mysql-bin
binlog-format=ROW
server-id=1
EOF

4.启动服务

docker compose up -d

5.进入容器配置 MySQL

# 进入容器
docker exec -it mysql bash

# 登录 MySQL
mysql -uroot -proot

# 在 MySQL 中执行以下命令:
# 授权远程访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root';
FLUSH PRIVILEGES;

# 检查 binlog 配置
SHOW VARIABLES LIKE 'log_%';
SHOW MASTER STATUS;

# 退出 MySQL
exit

# 退出容器
exit

6.测试连接

#  3306端口,本地测试:
mysql -h127.0.0.1 -P3306 -uroot -proot

# 或者用其他 MySQL 客户端工具连接:
主机:你的服务器IP
端口:3306
用户名:root
密码:root


网站公告

今日签到

点亮在社区的每一天
去签到