MySQL 8.0 Docker使用注解

Posted 中国人醒来了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 8.0 Docker使用注解相关的知识,希望对你有一定的参考价值。

PUBLIC | AUTOMATED BUILD
Last pushed: 8 months ago
Short Description
mysql 8.0 on CentOS 7
Full Description

MySQL 8.0 Docker

<small>Latest build: 2017-08-30</small>

技术分享图片 技术分享图片 技术分享图片 技术分享图片

技术分享图片

mysql 5.5 | mysql 5.6 | mysql 5.7 | mysql 8.0 | mariadb 5.5 | mariadb 10.0 | mariadb 10.1 | mariadb 10.2 | mariadb 10.3 | percona 5.5 | percona 5.6 | percona 5.7


MySQL 8.0 Docker on CentOS 7

技术分享图片

<sub>This docker image is part of the devilbox</sub>


Options

Environmental variables

Required environmental variables

VariableTypeDescription
MYSQL_ROOT_PASSWORD string MySQL root user password of either existing database or in case it does not exist it will initialize the new database with the given password.

Optional environmental variables

VariableTypeDefaultDescription
DEBUG_COMPOSE_ENTRYPOINT bool 0 Show shell commands executed during start.<br/>Value: 0 or 1
TIMEZONE string UTC Set docker OS timezone.<br/>Example: Europe/Berlin
MYSQL_SOCKET_DIR string /var/sock/mysqld Path inside the docker to the socket directory.<br/><br/>Used to separate socket directory from data directory in order to mount it to the docker host or other docker containers.<br/><br/>Mount this directory to a php container and be able to use mysqli_connect with localhost.
MYSQL_GENERAL_LOG bool 0 Turn on or off general logging<br/>Corresponds to mysql config: general-log<br/>Value: 0 or 1

Default mount points

DockerDescription
/var/lib/mysql MySQL data dir
/var/log/mysql MySQL log dir
/var/sock/mysqld MySQL socket dir
/etc/mysql/conf.d MySQL configuration directory (used to overwrite MySQL config)
/etc/mysql/docker-default.d MySQL configuration directory (used to overwrite MySQL config)

Default ports

DockerDescription
3306 MySQL listening Port

Usage

1. Listen on loopback interface only

$ docker run -i     -p 127.0.0.1:3306:3306     -e MYSQL_ROOT_PASSWORD=my-secret-pw     -t cytopia/mysql-8.0

# Access MySQL from your host computer
$ mysql --user=root --password=my-secret-pw --host=127.0.0.1 -e ‘show databases;‘

2. Enable logging

Enable logging and mount the log directory to your host to ~tmp/mysql-log

$ docker run -i     -p 127.0.0.1:3306:3306     -v ~tmp/mysql-log:/var/log/mysql     -e MYSQL_ROOT_PASSWORD=my-secret-pw     -e MYSQL_GENERAL_LOG=1     -t cytopia/mysql-8.0

# Access MySQL from your host computer
$ mysql --user=root --password=my-secret-pw --host=127.0.0.1 -e ‘show databases;‘

3. Mount MySQL socket to the host

Use MySQL socket for localhost connections through the socket. No need to expose the MySQL port to the host in this case.

$ docker run -i     -v ~tmp/mysql-sock:/var/sock/mysqld     -e MYSQL_ROOT_PASSWORD=my-secret-pw     -t cytopia/mysql-8.0

# Access MySQL from your host computer via socket
$ mysql --user=root --password=my-secret-pw --socket=/var/sock/mysqld/mysqld.sock -e ‘show databases;‘

4. Overwrite configuration

You can also add any configuration settings prior startup to MySQL.

# Create local config with buffer overwrite
$ printf "[mysqld]\n%s\n" "key_buffer = 500M" > ~/tmp/mysqld_config/buffer.cnf

$ docker run -i     -p 127.0.0.1:3306:3306     -v ~/tmp/mysqld_config:/etc/mysql/conf.d     -e MYSQL_ROOT_PASSWORD=my-secret-pw     -t cytopia/mysql-8.0

MySQL Configuration overview

Configuration files inside this docker are read in the following order:

OrderFileDescription
1 /etc/my.cnf Operating system default
2 /etc/mysql/conf.d/ Custom configuration (level 1). Can be mounted to provide custom *.cnf files which can overwrite anything of the above. (used by the devilbox for its base configuration)
3 /etc/mysql/docker-default.d/*.cnf Custom configuration (level 2). Can be mounted to provide custom *.cnf files which can overwrite anything of the above. (used by the devilbox to allow custom user-defined configuration overwriting the default devilbox settings.

Modules

[Version]

/usr/sbin/mysqld Ver 8.0.2-dmr for Linux on x86_64 (MySQL Community Server (GPL))

以上是关于MySQL 8.0 Docker使用注解的主要内容,如果未能解决你的问题,请参考以下文章

docker mysql 8.0

docker安装mysql5.7mysql8.0

Docker For MYSQL 8.0 特别注意修复数据库新的验证方式

Mysql数据库 | 基于Docker搭建Mysql-8.0以上版本主从实例实战

Docker安装MySQL 8.0并挂载数据及配置文件

Linux 安装 MySQL 8.0