网站商城设计方案,ios开发者账号有什么用,电子商务网站建设与规划,巢湖市建设工程网站1. 前言
XXXXX
2. Docker中安装MySQL服务
以下以mysql8.2版本为例#xff0c;mysql5.7的步骤也是一样的
2.1. 查看可用的MySQL版本
# 搜索镜像
docker search mysql2.2. 拉取MySQL镜像
# 拉取镜像
docker pull mysql# 或者
docker pull mysql:latest2.3. 查看本地镜像
…1. 前言
XXXXX
2. Docker中安装MySQL服务
以下以mysql8.2版本为例mysql5.7的步骤也是一样的
2.1. 查看可用的MySQL版本
# 搜索镜像
docker search mysql2.2. 拉取MySQL镜像
# 拉取镜像
docker pull mysql# 或者
docker pull mysql:latest2.3. 查看本地镜像
使用以下命令来查看是否已安装了 mysql镜像
docker images2.4. 运行容器
MySQL是常用的关系型数据库一般的希望它能永久的保存数据哪怕是当容器被删除了数据也不要删除此时就需要把主机文件夹挂载到容器上这样可以保证即使容器删除后新建的MySQL容器可以使用之前的数据。
先准备好本地的目录
mkdir -p /usr/local/mysql/log
mkdir -p /usr/local/mysql/data
mkdir -p /usr/local/mysql/conf挂载目录启动容器
# Docker启动MySQL容器
docker run -p 3306:3306 --name mysql \
-v /usr/local/mysql/log:/var/log/mysql \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/conf:/etc/mysql.d \
-e MYSQL_ROOT_PASSWORDroot \
-d mysql-p 3306:3306指定宿主机端口与容器端口映射关系 -v挂载主机文件夹 /usr/local/mysql/data 到 容器/var/lib/mysql 挂载点 -e指定容器需要的变量 -it表示交互式终端 -d后台运行mysql容器 注意-v /usr/local/mysql/conf:/etc/mysql.d \ 这里对应的是mysql.d很多人都写成了conf导致容器启动失败 2.5. 查看正在运行的容器
# 查看正在运行的容器
docker ps
# 查看所有的docker容器
docker ps -a这个时候如果显示的是up状态那就是启动成功了。如果是restarting说明是有问题的。我们可以查看日志
docker logs -f mysql2.6. 查看容器内部
docker exec -it mysql /bin/bash2.7. 授权root远程登录
进入容器
docker exec -it mysql /bin/bash登录mysql
mysql -uroot -p查看用户、插件
mysql use mysql;
Database changed
mysql select host,user,plugin from user;
----------------------------------------------------
| host | user | plugin |
----------------------------------------------------
| % | root | caching_sha2_password |
| localhost | mysql.infoschema | caching_sha2_password |
| localhost | mysql.session | caching_sha2_password |
| localhost | mysql.sys | caching_sha2_password |
| localhost | root | caching_sha2_password |
----------------------------------------------------
5 rows in set (0.00 sec)
mysql 查看结果root‘localhost’也看到了root’%‘root’%‘。已经有了远程登录root’%所以可以直接进行远程连接。
直接退出吧
2.8. 在宿主机连接到容器的MySQL
# 用命令行测试端口连通性
[rootbogon ~]# nc -nv 127.0.0.1 3306
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 127.0.0.1:3306.
I
8.2.0
# 查看能不能连接上MySQL
mysql -u root -P 3306 -h 127.0.0.1 -proot
# 查看容器日志
docker logs -f mysql2.9. 用Navicat连接容器的MySQL
配置连接的参数 连接上了 3. 授权root远程登录
进入mysql容器
docker exec -it mysql /bin/bash登录mysql
mysql -uroot -pmysql use mysql
Database changed
mysql select host,user,plugin from user;
----------------------------------------------------
| host | user | plugin |
----------------------------------------------------
| % | root | caching_sha2_password |
| localhost | mysql.infoschema | caching_sha2_password |
| localhost | mysql.session | caching_sha2_password |
| localhost | mysql.sys | caching_sha2_password |
| localhost | root | caching_sha2_password |
----------------------------------------------------
5 rows in set (0.00 sec)mysql可以看到出厂就创建了root%账号。如果没有就自行创建下把
创建root%账号
mysql create user root% identified by root;
Query OK, 0 rows affected (0.01 sec)mysql授权所有权限给root%账号
mysql grant all on *.* to root%;
Query OK, 0 rows affected (0.00 sec)mysql 3.1. 取消密码强度限制
卸载验证密码组件
mysql UNINSTALL COMPONENT file://component_validate_password;
ERROR 3537 (HY000): Component specified by URN file://component_validate_password to unload has not been loaded before.
mysqldocker的mysql镜像默认没有安装 卸载验证密码插件
mysql UNINSTALL PLUGIN validate_password;
ERROR 1305 (42000): PLUGIN validate_password does not exist
mysql docker的mysql镜像默认没有安装