>  기사  >  데이터 베이스  >  Docker에서 mysql 서비스를 배포하는 방법은 무엇입니까

Docker에서 mysql 서비스를 배포하는 방법은 무엇입니까

WBOY
WBOY앞으로
2023-05-26 22:56:041317검색

0단계: docker 허브에서 공식 mysql 이미지 가져오기

docker pull mysqldocker pull mysql

然后就是进入漫长的等待,当然如果你配置了镜像加速器,速度会快那么一丢丢

第一步:使用docker images命令查看镜像

Docker에서 mysql 서비스를 배포하는 방법은 무엇입니까

你会看到我们这里已经有了mysql的的镜像

第二步:启动我们的mysql的镜像,创建一个mysql的容器

使用命令:docker run -d --name mysql -p 3307:3306 -e mysql_root_password=123456 mysql

解释一下这里的参数:

-d表示在后台运行,不随当前命令行窗口的退出而退出

--name给容器起一个别名,以后可以通过这个别名管理此容器

-p 3307:3307把宿主机的3307端口映射到mysql容器的3306端口

-e mysql容器的环境配置

mysql_root_password=123456   指定mysql的密码,用户名默认为root,注意如果没有指定密码,会启动失败

第三步:查看我们已经启动的mysql容器

使用命令:docker ps

Docker에서 mysql 서비스를 배포하는 방법은 무엇입니까

可以看到,我们的mysql的的的的容器已经跑起来了,dockeer给mysql的的的的容器分配了一个容器的编号,便于我们管理,还显示我们设置的端口映射情况

这个时候有的老哥可能会想,虽然mysql的的的的容器欢快的跑起来了,但是你丫只告诉我们端口,我们怎么知道它的ip呢,我信你个鬼你的老头子坏得很。

不不不。我们可以使用docker inspect -f ='{{。networksettings.ipaddress}}'5fef288f221f命令查看容器的ip,注意最后直接写要查看的容器的id即可,网上那些人坏得很,还给你加一个,导致你很郁闷,就照我这样准没错

还有一点需要注意的是:要是想在外部连接我们的mysql容器,进行远程管理的话,需要配置容器里mysql的root账户的主机,把它改成一个通配符%,就可以让任意主机连接我们的mysql的了,具体方法如下:

进入mysql容器:使用的docker exec命令,-it是参数,bash表示创建一个交互界面

Docker에서 mysql 서비스를 배포하는 방법은 무엇입니까

登录mysql服务器:使用的root用户登录mysql,在输入密码之后,我们可以看到已经进去了mysql

Docker에서 mysql 서비스를 배포하는 방법은 무엇입니까

使用show数据库; 命令查看数据库(注意不要忘了最后的分号中,mysql的命令都要有分号)

Docker에서 mysql 서비스를 배포하는 방법은 무엇입니까

可以看到,我们的数据库都列了出来,然后使用mysql; 命令进入mysql的这个数据库(是不是很绕口,哈哈哈,这里的mysql的数据库是指的这一个数据库,好吧我可能还是没说明白)

然后使用show tables; 命令列出所有的表

Docker에서 mysql 서비스를 배포하는 방법은 무엇입니까

可以看到,有好多个表,这都是mysql的的配置,不用去关注,我们只需要修改一个用户表即可

使用sql命令:update user set host ='%'where user ='root';

그러면 대기 시간이 길어집니다. 물론 이미지 가속기를 구성하면 속도가 훨씬 빨라집니다. 더 빨라짐

1단계: docker Images 명령을 사용하여 이미지 보기

Docker

여기에 이미 mysql 이미지가 있는 것을 볼 수 있습니다

2단계: mysql 이미지를 시작하고 mysql 컨테이너를 만듭니다

Docker에서 mysql 서비스를 배포하는 방법은 무엇입니까명령 사용 : docker run -d --name mysql -p 3307:3306 -e mysql_root_password=123456 mysql

여기서 매개변수를 설명하세요. -d는 현재 명령줄 창이 아닌 백그라운드에서 실행됨을 의미합니다. Exit 및 종료

--name은 컨테이너에 별칭을 제공하며 향후 이 별칭을 통해 컨테이너를 관리할 수 있습니다

-p 3307: 3307은 호스트의 3307 포트를 mysql 컨테이너의 3306 포트에 매핑합니다

🎜 -e mysql 컨테이너의 환경 구성 🎜🎜mysql_root_password=123456 사용자 이름은 기본적으로 root로 설정됩니다. 비밀번호를 지정하지 않으면 시작이 실패합니다. 🎜3단계: 우리가 시작한 mysql 컨테이너를 확인하세요. 🎜🎜🎜 다음 명령을 사용하세요: docker ps🎜🎜Docker에서 mysql 서비스를 배포하는 방법은 무엇입니까🎜🎜mysql 컨테이너가 이미 실행 중인 것을 확인할 수 있습니다. Docker는 mysql 컨테이너에 컨테이너 번호를 할당하므로 관리하기 편리합니다. 우리가 설정한 포트 매핑을 표시합니다🎜🎜이때 어떤 사람들은 mysql 컨테이너가 성공적으로 실행되고 있는데 포트만 알려줬는데 IP를 어떻게 알 수 있을까?라고 생각할 수도 있습니다. 🎜🎜안돼 안돼 안돼. dockerspect -f ='{{를 사용할 수 있습니다. networksettings.ipaddress}}'5fef288f221f 명령을 사용하면 컨테이너의 IP 주소를 확인할 수 있습니다. 마지막에 확인하려는 컨테이너의 ID를 적으면 됩니다. 인터넷상의 사람들은 매우 나쁘며 당신을 매우 우울하게 만들 것이므로 그냥 따라오십시오. 제가 절대적으로 옳습니다🎜🎜또 한 가지 주목해야 할 점은 원격 관리를 위해 mysql 컨테이너를 외부에 연결하려면 루트 계정의 호스트를 구성해야 한다는 것입니다. mysql을 컨테이너에 넣고 와일드카드 문자 %로 변경합니다. 구체적인 방법은 다음과 같습니다. 🎜🎜 mysql 컨테이너를 입력합니다. docker exec 명령을 사용합니다. -bash 매개변수입니다. 🎜🎜Docker에 mysql 서비스를 배포하는 방법은 무엇입니까? 🎜🎜mysql 서버 로그인: 루트 사용자를 사용하여 mysql에 로그인하고 비밀번호를 입력하면 mysql이 입력된 것을 볼 수 있습니다🎜🎜Docker에 mysql 서비스 배포 방법은 무엇입니까?🎜🎜show Database; 명령을 사용하여 데이터베이스를 봅니다. 마지막 세미콜론은 잊어버리십시오. 모든 mysql 명령에는 세미콜론이 있어야 합니다.)🎜🎜무엇입니까? method todeploy mysql service in Docker🎜🎜우리 데이터베이스가 나열된 것을 볼 수 있고 mysql; 명령을 사용합니다. mysql 데이터베이스를 입력합니다(복잡한 단어 아닌가요, 하하하, 여기서 mysql 데이터베이스는 이것을 가리킵니다. 알겠습니다. 아직 명확하게 설명하지 못했을 수도 있습니다.)🎜🎜그런 다음 show tables 명령을 사용하여 모든 테이블을 나열하세요🎜 🎜🎜🎜보시다시피 테이블이 많습니다. 이것들은 mysql 구성이므로 주의할 필요가 없습니다. 우리는 단지 하나의 사용자 테이블을 수정해야 합니다🎜🎜sql 명령을 사용하세요: update user set host ='%'where user ='root' ;🎜🎜일부 학생들은 이 명령으로 오류를 보고할 수 있습니다. mysql에 루트 사용자가 여러 명 있을 수 있으므로 다음 명령을 사용하세요.🎜
update user set host ='%'其中user ='root'和host ='localhost';
🎜위 단계를 구성한 후 연결이 작동하는지 테스트할 수 있습니다. 연결되었습니다. 축하합니다. 🎜🎜축하합니다. 다운로드한 mysql 이미지가 mysql8이므로 연결할 수 없습니다. 🎜🎜다음 오류가 발생할 수 있습니다.🎜🎜이 시점에서 구성이 완료되었으므로 종료 명령을 사용하십시오. 🎜🎜원격 연결 테스트🎜🎜🎜🎜🎜🎜4단계: mysql 컨테이너로 데이터 가져오기🎜🎜🎜mysql 컨테이너가 실행 중이지만 데이터가 없습니다. 다음 방법을 사용하여 데이터베이스를 mysql로 ​​가져올 수 있습니다. docker🎜🎜먼저 파일을 컨테이너로 가져오고, cp는 가져올 SQL 파일의 경로입니다🎜
#docker cp **.sql mysql:/root/
进入容器
#docker exec -it mysql bash
将文件导入数据库
# mysql -uroot -p 【数据库名】 < ***.sql

mysql -h localhost -u root -p(进入mysql下面)
create database abc;(创建数据库)
show databases;(就可看到所有已经存在的数据库,以及刚刚创建的数据库abc)
use abc;(进入abc数据库下面)
show tables;(产看abc数据库下面的所有表,空的)
source /var/test.sql(导入数据库表)
show tables;(查看abc数据库下面的所有表,就可以看到表了)
desc pollution;(查看表结构设计)
select * from pollution;
exit(或者ctrl + c)退出mysql

위 내용은 Docker에서 mysql 서비스를 배포하는 방법은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제