点击蓝字
关注我们
![347c57132f1e7d58655d08c1cabc2d0e.gif](https://img-blog.csdnimg.cn/img_convert/347c57132f1e7d58655d08c1cabc2d0e.gif)
![66a6dfd7ec7e0ed5d2e2e7ed9a0ddf18.png](https://img-blog.csdnimg.cn/img_convert/66a6dfd7ec7e0ed5d2e2e7ed9a0ddf18.png)
这一篇介绍一下docker的基本命令,以及使用docker安装mysql
![563a5e5e5cbbbd289a9a467acb0505c6.png](https://img-blog.csdnimg.cn/img_convert/563a5e5e5cbbbd289a9a467acb0505c6.png)
一 docker基本命令
docker search xxx --搜索镜像
docker pull xxx --拉取镜像
docker images --查看当前安装的镜像
docker rmi image-id --删除指定镜像,image-id表示docker images查询出的镜像的id
docker ps --查看当前运行的容器
docker ps -a --查看当前已创建的容器
docker rm container-id --删除当前容器
二 docker安装mysql
1 、查看mysql的版本
docker search mysql --查询mysql的版本
2 、下载mysql
docker pull mysql --不加版本号的话默认拉取latest版本的
3 、启动mysql并且将配置文件等挂载出来
(1)创建文件夹用于挂载数据库文件以及mysql配置文件,我选择将其存放在usr/data/mysql
cd usr/mysql/data
mkdir data --数据库文件存放位置
mkdir config --配置文件存放位置
(2)运行命令启动mysql
docker run -d
--name mysql
-e MYSQL_ROOT_PASSWORD=root
-v /usr/data/mysql/config/my.cnf:/etc/mysql/my.cnf
-v /usr/data/mysql/data:/var/lib/mysql
-p 3306:3306 mysql
--lower_case_table_names=1
--不区分大小写
--name 容器名称
-e MYSQL_ROOT_PASSWORD=root 配置root账户的密码为root
-v /usr/data/mysql/config/my.cnf:/etc/mysql/my.cnf 将配置文件挂载我们刚才创建的文件中/usr/data/mysql/config/my.cnf
-v /usr/data/mysql/data:/var/lib/mysql 将数据库文件挂载我们刚才创建的目录/usr/data/mysql/data中
-p 3306:3306将容器的3306端口映射到本地3306端口
此时执行docker ps出现下列则证明容器启动成功
三 通过navicat连接mysql测试
![02bab63b79901019eef37f9df9942576.png](https://img-blog.csdnimg.cn/img_convert/02bab63b79901019eef37f9df9942576.png)
连接,发现报错,1130禁止连接。
![8df7ecc0fc252d40a4eae551dc21e1ae.png](https://img-blog.csdnimg.cn/img_convert/8df7ecc0fc252d40a4eae551dc21e1ae.png)
这时候我们通过docker进入mysql
docker exec -it mysql bash --进入容器
mysql -u root -p --使用root登陆mysql
默认密码为空,直接回车进入,会进去MySQL、控制台
![1fdc4f03aac2e2920cb7b8af60cae368.png](https://img-blog.csdnimg.cn/img_convert/1fdc4f03aac2e2920cb7b8af60cae368.png)
在mysql控制台中查看root账户
use mysql;
select host from user where user="root"; --查看root用户可访问权限
update user set host = '%' where user ='root'; --更新root权限,%代表无访问权限
flush privileges;刷新权限
![ea27aff55390fc1c2be98f224789a804.png](https://img-blog.csdnimg.cn/img_convert/ea27aff55390fc1c2be98f224789a804.png)
大功告成,再次连接.出现了新的错误
![9d29d11bd5d9892bf46b5fb4c1b2b7ba.png](https://img-blog.csdnimg.cn/img_convert/9d29d11bd5d9892bf46b5fb4c1b2b7ba.png)
再次通过docker进入mysql,执行下列命令,刷新权限
ALTER USER 'root'@'%' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
FLUSH PRIVILEGES;
![2315cc78569643218f344c19474ff42a.png](https://img-blog.csdnimg.cn/img_convert/2315cc78569643218f344c19474ff42a.png)
再次连接,大功告成。
![a63de8de8b89c12a686a1648873fcd7b.png](https://img-blog.csdnimg.cn/img_convert/a63de8de8b89c12a686a1648873fcd7b.png)
备注:若服务器为阿里云服务器,需要将对应端口开放,通过配置安全组实现
![956b2fc4bd04e545d3f93f243e7ed29a.png](https://img-blog.csdnimg.cn/img_convert/956b2fc4bd04e545d3f93f243e7ed29a.png)
![66a6dfd7ec7e0ed5d2e2e7ed9a0ddf18.png](https://img-blog.csdnimg.cn/img_convert/66a6dfd7ec7e0ed5d2e2e7ed9a0ddf18.png)
为方便五湖四海的Linux爱好者共同
学(吹)习(牛)讨(打)论(趣)
热烈欢迎大家加入专属QQ群
![6edecab6437b76461c3a5126489817d5.png](https://img-blog.csdnimg.cn/img_convert/6edecab6437b76461c3a5126489817d5.png)
群内定时上传资料还有老师全天答疑
入群即可免费获得
1、必备工具源码包
2、内部精选电子书
3、运维资料大礼包
欲知更多福利,欢迎你的加入
![117dd643200fe7458221eecb1f430068.png](https://img-blog.csdnimg.cn/img_convert/117dd643200fe7458221eecb1f430068.png)
![66a6dfd7ec7e0ed5d2e2e7ed9a0ddf18.png](https://img-blog.csdnimg.cn/img_convert/66a6dfd7ec7e0ed5d2e2e7ed9a0ddf18.png)
![981e668637550f979fe5725a6d7d93ec.gif](https://img-blog.csdnimg.cn/img_convert/981e668637550f979fe5725a6d7d93ec.gif)
点击“阅读原文”