600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > docker安装mysql并挂载配置文件和修改密码

docker安装mysql并挂载配置文件和修改密码

时间:2022-07-16 16:30:09

相关推荐

docker安装mysql并挂载配置文件和修改密码

docker安装mysql并挂载配置文件和修改密码

docker从仓库中拉取最新版的mysql镜像,如果没加标签的话,默认获取最新的版本

docker pull mysql

docker pull mysql:8.0.28 带版本

挂载数据卷以及配置文件

运行mysql命名容器名称为mysqe并且设置root账号初始密码为root

docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=“root” mysql

参数说明: docker run:运行docker容器命令

–name mysql :给容器设置别名

-p 3306:3306:将容器的3306端口映射到宿主机的3306端口

-e MYSQL_ROOT_PASSWORD=你的密码 : 初始化root用户登录密码

-d : 后台运行容器,并返回容器id mysql:8.0.18:也可以使用镜像id,就是image ID

-v 挂载文件或目录 :前表示主机部分,:后表示容器部分。

–name=“名字” 指定容器名字

-d 后台方式运行

-it 使用交互方式运行,进入容器查看内容

-p 主机端口:容器端口

进入Docker容器内

docker exec -it 容器id /bin/bash

确定Docker内 MySQL 文件相关路径

查找Docker内,MySQL配置文件f的位置 mysql --help | grep f

创建本地路径并挂载Docker内数据

创建本地文件夹

mkdir -p /home/docker/mysql/conf && mkdir -p /home/docker/mysql/data && mkdir -p /home/docker/mysql/logs

修改文件权限为可编辑 *表示所有文件

chmod -R 777 /home/docker/*

修改配置文件

执行下面命令进入到conf 目录中,并在该目录中创建f配置文件

cd conf

touch f

# Copyright (c) , Oracle and/or its affiliates. All rights reserved.## This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; version 2 of the License.## This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the# GNU General Public License for more details.## You should have received a copy of the GNU General Public License# along with this program; if not, write to the Free Software# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA## The MySQL Server configuration file.## For explanations see# /doc/mysql/en/server-system-variables.html[mysqld]pid-file = /var/run/mysqld/mysqld.pidsocket= /var/run/mysqld/mysqld.sockdatadir = /var/lib/mysqlsecure-file-priv= NULLdefault-time-zone = '+8:00'#最大链接数max_connections=1024#是否对sql语句大小写敏感,1表示不敏感lower_case_table_names=1log_bin_trust_function_creators=1#启用log-binlog-bin=mysql-bin#设置日志格式binlog_format=mixed#设置binlog清理时间expire_logs_days=7# 数据表默认时区default-time-zone='+08:00'# Custom config should go here!includedir /etc/mysql/conf.d/

将测试容器里 MySQL 的配置文件复制到该路径。日后需改配置,直接在挂载路径的配置文件上修改即可

docker cp mysql:/etc/mysql/f /home/docker/mysql/conf

· --name:为容器指定一个名字

· -p:指定端口映射,格式为:主机(宿主)端口:容器端口

· -e:username=“xxx”,设置环境变量

· --restart=on-failure:3:是指容器在未来出现异常退出(退出码非0)的情况下循环重启3次

· -mount:绑定挂载

· -d:后台运行容器,并返回容器 id

创建 MySQL 容器并启动

docker run -p 3306:3306 --name mysql -v /home/docker/mysql/logs:/var/log/mysql -v /home/docker/mysql/data:/var/lib/mysql -v /home/docker/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --restart=always --privileged=true -d mysql:8.0.28

停止docker

docker stop 容器id

删除docker

docker rm容器id

Docker启动容器自启

docker update mysql --restart=always

查看容器运行状态和日志

查看容器运行状态:

docker ps -a | grep 容器id

查看容器日志:

查看最后200条日志

docker logs --tail=200 容器id

滚动监听

docker logs -f 容器id

标题修改密码

1、进入容器

docker exec -it 容器id bash

2、登录mysql

mysql -u root -p

3、使用mysql数据表

use mysql;

4、修改密码

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘密码’;

5、刷新权限

flush privileges;

6、quit; (然后退出Mysql)

7、重启容器

开启远程登录

(解决mysql Operation ALTER USER failed for ‘root’@’%')

1、进入容器

docker exec -it 容器id bash

2、登录mysql

mysql -u root -p

3、使用mysql数据表

use mysql;

4、查看user表中的数据:

select Host, User from user;

localhost 为本地登录

6、修改user表中的Host:

update user set Host=‘%’ where User=‘root’;

说明: % 代表任意的客户端,可替换成具体IP地址。

注意:一定要记得在写sql的时候要在语句完成后加上" ; "

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。