一、搜索mysql

  1. docker search mysql

Docker安装mysql - 图1

二、选择需要的mysql

  1. docker pull mysql

Docker安装mysql - 图2

三、查看

  1. docker images

Docker安装mysql - 图3

四、启动mysql

  1. docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=805073259 --name ms -v=/home/mysql/config/my.cnf:/etc/my.cnf -v=/home/mysql/data:/var/lib/mysql mysql

说明:

  • mysql启动需要指定密码,不然启动报错。(database is uninitialized and password option is not specified
    You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD

  • /home/mysql/config/my.cnf 指定服务器上面的配置文件

  • /home/mysql/data 指定数据存放在服务器的位置

mysql配置文件

  1. [mysqld]
  2. #绑定IPv4和3306端口
  3. port = 3306
  4. # 允许最大连接数
  5. max_connections=200
  6. #设置字符集为utf8
  7. character-set-server=utf8
  8. sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
  9. lower_case_table_names=1
  10. [client]
  11. #设置客户端字符集
  12. default-character-set=utf8

五、docker-compose 方式

  1. version: '3'
  2. services:
  3. my_mysql:
  4. image: mysql:5.7.23
  5. restart: always
  6. ports:
  7. - 3306:3306
  8. volumes:
  9. - D:/resource-docker/mysql/data:/var/lib/mysql
  10. environment:
  11. TZ: Asia/Shanghai
  12. MYSQL_ROOT_PASSWORD: 805073259
  13. command:
  14. --character-set-server=utf8mb4
  15. --collation-server=utf8mb4_general_ci
  16. --explicit_defaults_for_timestamp=true
  17. --lower_case_table_names=1
  18. --max_allowed_packet=128M

六、进入容器

  1. docker exec -it ms bash
  • 进入容器可以直接执行sql语句