当前位置: 首页 > news >正文

永康网站优化公司网络推广与网络营销的区别

永康网站优化公司,网络推广与网络营销的区别,公司装修报价表,烟台seo网站诊断文章目录 1. 前言2. Docker中安装MySQL服务2.1. 查看可用的MySQL版本2.2. 拉取MySQL镜像2.3. 查看本地镜像2.4. 运行容器2.5. 查看正在运行的容器2.6. 查看容器内部2.7. 授权root远程登录2.8. 在宿主机连接到容器的MySQL2.9. 用Navicat连接容器的MySQL 3. 如果是MySQL8.0可能需…

文章目录

  • 1. 前言
  • 2. Docker中安装MySQL服务
    • 2.1. 查看可用的MySQL版本
    • 2.2. 拉取MySQL镜像
    • 2.3. 查看本地镜像
    • 2.4. 运行容器
    • 2.5. 查看正在运行的容器
    • 2.6. 查看容器内部
    • 2.7. 授权root远程登录
    • 2.8. 在宿主机连接到容器的MySQL
    • 2.9. 用Navicat连接容器的MySQL
  • 3. 如果是MySQL8.0可能需要执行
    • 3.1. 授权root远程登录
    • 3.2. 取消密码强度限制
  • 4. 参考资料

点击跳转:Docker安装MySQL、Redis、RabbitMQ、Elasticsearch、Nacos等常见服务全套(质量有保证,内容详情)

1. 前言

虽然 docker 安装 mysql 不是一个很好的方案,但是为了个人使用方便,使用 docker 安装 mysql 还是没什么问题的。

且安装时把主机文件挂载到容器上,保证了 mysql 的持久化,对开发和测试也很友好。

2. Docker中安装MySQL服务

以下以mysql5.7版本为例,mysql8.0的步骤也是一样的

2.1. 查看可用的MySQL版本

# 搜索镜像
docker search mysql

2.2. 拉取MySQL镜像

# 拉取镜像
docker pull mysql:5.7# 或者
docker pull mysql:latest

2.3. 查看本地镜像

使用以下命令来查看是否已安装了 mysql镜像

docker images

2.4. 运行容器

MySQL是常用的关系型数据库,一般的,希望它能永久的保存数据,哪怕是当容器被删除了数据也不要删除,此时就需要把主机文件夹挂载到容器上,这样可以保证即使容器删除后新建的MySQL容器可以使用之前的数据。

  • 先准备好本地的目录
mkdir -p /mydata/mysql/log
mkdir -p /mydata/mysql/data
mkdir -p /mydata/mysql/conf
  • 挂载目录,启动容器
# Docker启动MySQL容器
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

-p 3306:3306:指定宿主机端口与容器端口映射关系

-v:挂载主机文件夹 /mydata/mysql/data 到 容器/var/lib/mysq 挂载点

-e:指定容器需要的变量

-it:表示交互式终端;

-d:后台运行mysql容器

2.5. 查看正在运行的容器

# 查看正在运行的容器
docker ps
# 查看所有的docker容器
docker ps -a

这个时候如果显示的是up状态,那就是启动成功了。如果是restarting,说明是有问题的。我们可以查看日志:

docker logs -f mysql

2.6. 查看容器内部

docker exec -it mysql /bin/bash

2.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                |
+-----------+---------------+-----------------------+
| localhost | root          | mysql_native_password |
| localhost | mysql.session | mysql_native_password |
| localhost | mysql.sys     | mysql_native_password |
| %         | root          | mysql_native_password |
+-----------+---------------+-----------------------+
4 rows in set (0.00 sec)mysql> 

查看结果,不仅仅看到了root@'localhost'也看到了root@'%'root@'%'就是允许远程登录的账号,跟我们预期的结果还不一样,只能说mysql的docker镜像做的挺良心的,知道docker更多的是用于开发测试,把root的远程登录直接出厂设置了。

  • 直接退出吧

2.8. 在宿主机连接到容器的MySQL

# 用命令行测试端口连通性
telnet localhost 3306
# 查看能不能连接上MySQL
mysql -u root -P 3306 -h 127.0.0.1 -proot
# 查看容器日志
docker logs -f mysql

2.9. 用Navicat连接容器的MySQL

  • 配置连接的参数

  • 连接上了

3. 如果是MySQL8.0可能需要执行

不得不说,mysql的docker镜像很人性化,不仅默认出产设置帮我们取消了安全限制,也允许root远程登录,爆赞、爆赞、爆赞。所以这一步其实什么都不需要做,如果有问题才继续看后面。

注:docker安装mysql一般用于开发测试,所以默认出厂设置帮用户做了一些设置。但是Linux下安装的mysql8.0默认是有一些安全限制和限制root远程登录。

3.1. 授权root远程登录

  • 进入mysql容器
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@'%'账号。如果没有就自行创建下把

  • 创建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.2. 取消密码强度限制

  • 卸载"验证密码"组件
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.
mysql>

docker的mysql镜像默认没有安装

  • 卸载"验证密码"插件
mysql> UNINSTALL PLUGIN validate_password;
ERROR 1305 (42000): PLUGIN validate_password does not exist
mysql> 

docker的mysql镜像默认没有安装

4. 参考资料

在生产环境安装MySQL 8.0

http://www.dinnco.com/news/78797.html

相关文章:

  • 互联网企业网站设计技成培训网
  • 网站建设栏目提纲重庆seo结算
  • 股票开户网站排名seo
  • 洛阳做公司网站推广链接点击器app
  • 在模板网站建站好吗近几天的新闻摘抄
  • 有经验的南昌网站制作免费好用的网站
  • 专业建站公司怎么收费正规培训机构有哪些
  • 做网站需要用什么语言开发安卓优化大师最新版
  • 二手房交易网站开发源码东莞整站优化排名
  • 博为峰软件测试培训靠谱吗班级优化大师简介
  • 合肥企业网站seo长尾关键词是什么
  • 一个网站项目多少钱网络推广和seo
  • 个人博客网页设计html代码搜索优化是什么意思
  • 邢台163最新交友重庆的seo服务公司
  • 怎么写网站规划方案网站推广策划报告
  • 上海什么做网站的公司比较好seo搜索引擎优化心得体会
  • 网站建设优化推广系统西安网站建设公司十强
  • 哪个网站做logo赚钱网络营销的现状和发展趋势
  • 如何购买域名建网站360社区app
  • 家庭宽带做网站稳定官方网站怎么查询
  • 网站建设讯美2024最火的十大新闻有哪些
  • 网站开发弹窗制作网站里的友情链接
  • 网站开发论文题目网络平台推广广告费用
  • wordpress网站模板下载百度软件商店
  • app 网站开发公司电话百度推广服务
  • 衡水企业做网站费用国际新闻大事
  • 扁平化设计 科技感网站素材自助发外链网站
  • 嘉兴网嘉兴网站建设今日山东新闻头条
  • 企业 网站建设杭州优化建筑设计
  • 做动态图网站有哪些sem和seo的区别