podman/docker或者podman-compose安装mysql并开启远程访问

podman/docker或者podman-compose安装mysql并开启远程访问

本文连接:https://www.cnblogs.com/muphy/p/16048985.html

修改配置文件 mysqld.cnf

开启logbin或设置sql模式,[mysqld]下面追加 非必须为了

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
server_id=1918435
log_bin=/var/lib/mysql/mysql-bin

podman启动

podman run --restart always  \
--privileged=true \
--name mysql -d \
-p 3307:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_USER=azi  \
-e MYSQL_PASSWORD=123 \
-v /data/mysql/data:/var/lib/mysql \
-v /data/mysql/logs:/var/lib/logs \
-v /data/mysql/conf/mysql.cnf:/etc/mysql/mysql.conf.d/mysql.cnf \
docker.io/library/mysql:5.7.35

podman-compose启动

编写配置文件 docker.compose.yml/podman-compose.yml/...都可以

  • mysql5
version: '2.1'
services:
  mysql:
    restart: always
	# localhost: mysql
    container_name: mysql
    image: docker.io/library/mysql:5.7.35
    ports:
      - "3307:3306"
    volumes:
      - ./data:/var/lib/mysql
      - ./logs:/var/lib/logs
      - ./conf/mysql.cnf:/etc/mysql/mysql.conf.d/mysql.cnf
    environment:
      - MYSQL_ROOT_PASSWORD=123456
      - MYSQL_USER=azi
      - MYSQL_PASSWORD=123
  • mysql8
version: '2'
services:
  # 模拟一个正常的mysql数据库
  mysql8:
    image: mysql:8.0.24
    restart: always
    container_name: mysql
    ports:
      - 3306:3306
    volumes:
       - ./data/mysql/logs:/var/log/mysql
       - ./data/mysql/data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: passwd
    command:
      --max_connections=1000
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --default-authentication-plugin=mysql_native_password
      --lower_case_table_names=1

启动

podman-compose up -d

授权远程登录

use mysql; -- 选中mysql数据库
-- select user, host, plugin from user; -- 查询账号
-- update user set host='%' where user ='root'; -- 无密码登录不安全
create user 'root'@'%' identified with 'mysql_native_password' by 'passwd'; -- 新创建 root@% 账号 默认就是 mysql_native_password
grant all privileges on *.* to 'root'@'%' with grant option; -- 赋予所有权限
flush privileges; -- 刷新权限
posted @   明月心~  阅读(1579)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
点击右上角即可分享
微信分享提示