We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
要运行 MySQL 容器,首先需要拉取 docker 镜像
# docker pull mysql:latest docker pull mysql:5.7
docker run -d --name mysql_server -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
-d
可以使用 docker exec 进入 mysql_server 容器
docker exec -it mysql_server bash
-it
要从主机获得与 mysql 控制台的直接交互式会话,请键入:
docker exec -it mysql_server mysql -uroot -p
当我们启动一个新实例时,我们可以通过 docker run 命令传递一个或多个环境变量来调整 MySQL 实例的配置。
启动 mysql_server 容器并创建 test_db 数据库
docker run -d --name mysql_server -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE= mysql:5.7
创建 myuser 用户并设置密码
docker run -d --name mysql_server -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=test_db -e MYSQL_USER=myuser -e MYSQL_PASSWORD=mypass mysql:5.7
使用空 root 密码启动 mysql_server 容器
docker run -d --name mysql_server -e MYSQL_ALLOW_EMPTY_PASSWORD="yes" -e MYSQL_ROOT_PASSWORD="" mysql:5.7
通常,您需要将 mysql 实例与其他容器链接。例如,以下命令将启动一个新的 Apache HTTPD 容器,其中包含指向名为“mysql_server”的 mysql 实例的链接。
docker run -d --name apache-web --link mysql_server:mysql httpd:latest
apache 容器现在可以访问 mysql 容器内的 mysql 服务器。连接mysql服务器时,mysql主机应该是MySQL容器的名称或ID。
mysql -p -h mysql_server
为了允许远程访问MySQL容器,我们需要在创建新实例时将主机端口3306与容器端口3306映射。
docker run -d -p 3306:3306 --name mysql_server -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
从主机上,您可以使用127.0.0.1 作为 MySQL 主机来访问 MySQL 控制台。
mysql -p -h 127.0.0.1
请注意,端口映射应在创建容器时完成。
启动配置文件是/etc/mysql/my.cnf文件,该文件又包含在/etc/mysql/conf.d或/etc/mysql/mysql.conf.d目录中找到的以 . .cnf 扩展名
当我们启动一个新的容器时,我们可以将配置目录替换为主机上的目录。例如,在主机上创建一个名为 /var/config 的目录。
mkdir /var/config
然后在 /var/config 目录中创建 mysqld.cnf 文件,并将任何 mysql 配置添加到 mysqld.cnf 文件中。
touch /var/config/mysqld.cnf
现在我们可以将 /var/config 目录挂载为 mysql 容器内的 /etc/mysql/mysql.conf.d 。
docker run -d --name mysql_server -v /var/config:/etc/mysql/mysql.conf.d -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
根据上面的示例,我们使用-v标志将 /etc/mysql/mysql.conf.d 目录替换为本地 /var/config 目录。
同样,我们也可以从主机挂载 MySQL 数据目录。docker mysql 上的默认数据目录是“/var/lib/mysql”。
首先在主机上创建数据目录:
mkdir -p /mysql/data
然后使用本地数据目录启动服务器实例:
docker run -d --name mysql_server -v /mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
使用 docker exec 命令,我们可以从主机创建数据库转储。
以下命令将从“mysql_server”实例转储“example_db”数据库。
docker exec mysql_server sh -c 'exec mysqldump -u root -p"$MYSQL_ROOT_PASSWORD" example_db' > example_db.sql
以下命令将从 mysql 容器转储所有数据库。
docker exec mysql_server sh -c 'exec mysqldump --all-databases -u root -p"$MYSQL_ROOT_PASSWORD"' > all_databases.sql
The text was updated successfully, but these errors were encountered:
https://www.configserverfirewall.com/docker/run-mysql-docker-containers/
Sorry, something went wrong.
No branches or pull requests
要运行 MySQL 容器,首先需要拉取 docker 镜像
# docker pull mysql:latest docker pull mysql:5.7
启动MySQL容器
-d
: 以后台方式运行可以使用 docker exec 进入 mysql_server 容器
docker exec -it mysql_server bash
-it
: 以交互终端方式执行要从主机获得与 mysql 控制台的直接交互式会话,请键入:
docker exec -it mysql_server mysql -uroot -p
Docker MySQL 环境变量
当我们启动一个新实例时,我们可以通过 docker run 命令传递一个或多个环境变量来调整 MySQL 实例的配置。
启动 mysql_server 容器并创建 test_db 数据库
创建 myuser 用户并设置密码
使用空 root 密码启动 mysql_server 容器
与另一个 docker 容器链接
通常,您需要将 mysql 实例与其他容器链接。例如,以下命令将启动一个新的 Apache HTTPD 容器,其中包含指向名为“mysql_server”的 mysql 实例的链接。
apache 容器现在可以访问 mysql 容器内的 mysql 服务器。连接mysql服务器时,mysql主机应该是MySQL容器的名称或ID。
启动具有远程访问功能的 MySQL 容器
为了允许远程访问MySQL容器,我们需要在创建新实例时将主机端口3306与容器端口3306映射。
从主机上,您可以使用127.0.0.1 作为 MySQL 主机来访问 MySQL 控制台。
请注意,端口映射应在创建容器时完成。
使用自定义 MySQL 配置文件
启动配置文件是/etc/mysql/my.cnf文件,该文件又包含在/etc/mysql/conf.d或/etc/mysql/mysql.conf.d目录中找到的以 . .cnf 扩展名
当我们启动一个新的容器时,我们可以将配置目录替换为主机上的目录。例如,在主机上创建一个名为 /var/config 的目录。
然后在 /var/config 目录中创建 mysqld.cnf 文件,并将任何 mysql 配置添加到 mysqld.cnf 文件中。
现在我们可以将 /var/config 目录挂载为 mysql 容器内的 /etc/mysql/mysql.conf.d 。
根据上面的示例,我们使用-v标志将 /etc/mysql/mysql.conf.d 目录替换为本地 /var/config 目录。
使用自定义数据目录
同样,我们也可以从主机挂载 MySQL 数据目录。docker mysql 上的默认数据目录是“/var/lib/mysql”。
首先在主机上创建数据目录:
然后使用本地数据目录启动服务器实例:
从主机备份数据库
使用 docker exec 命令,我们可以从主机创建数据库转储。
以下命令将从“mysql_server”实例转储“example_db”数据库。
以下命令将从 mysql 容器转储所有数据库。
The text was updated successfully, but these errors were encountered: