docker中创建MySQL及在外部使用Navicat连接

 

1:获取MySQL镜像

运行 docker pull mysql

复制代码
[root@MyCentos7-1 ~]# docker pull mysql  
Using default tag: latest  
latest: Pulling from library/mysql  
85b1f47fba49: Pull complete   
5671503d4f93: Pull complete   
3b43b3b913cb: Pull complete   
4fbb803665d0: Pull complete   
05808866e6f9: Pull complete   
1d8c65d48cfa: Pull complete   
e189e187b2b5: Pull complete   
02d3e6011ee8: Pull complete   
d43b32d5ce04: Pull complete   
2a809168ab45: Pull complete   
Digest: sha256:1a2f9361228e9b10b4c77a651b460828514845dc7ac51735b919c2c4aec864b7  
Status: Downloaded newer image for mysql:latest  
复制代码

2:启动MySQL镜像

[root@MyCentos7-1 ~]# docker run --name=mysql -itd -p 3306:3306 -e MYSQL_ROOT_PASSWORD=abcd123 mysql  
eb3dbfb0958f5c856323e4d8da60d43194884ff05d7adac1ec059adb66ac7f7b  

docker run是启动容器的命令;

--name:指定了容器的名称,方便之后进入容器的命令行

-itd:其中,i是交互式操作,t是一个终端,d指的是在后台运行

-p:指在本地生成一个随机端口,用来映射mysql的3306端口

-e:设置环境变量

MYSQL_ROOT_PASSWORD=emc123123:指定了mysql的root密码

mysql:指运行mysql镜像

3:进入MySQL容器

运行  docker exec -it mysql /bin/bash

[root@MyCentos7-1 ~]# docker exec -it mysql /bin/bash
root@my-mysql-v1-nths4:/usr/local/mysql# 

4:进入MySQL

运行  mysql -uroot -p

复制代码
root@my-mysql-v1-nths4:/usr/local/mysql# mysql -uroot -p 
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.4-m14 MySQL Community Server (GPL)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;

+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.02 sec)

复制代码

5:进行配置,使外部工具可以连接

为了安全,首先需要设置root帐号的密码

mysql> update user set authentication_string = password('root') where user = 'root';

root的密码改为root。 
接着,由于mysql中root执行绑定在了localhost,因此需要对root进行授权,代码如下,

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

最后,使用navitecat测试mysql连接,如下, 

 

参考:http://xiaoqiangge.com/aritcle/1496481502190.html

posted @   山人是我师  阅读(12369)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示