>  기사  >  데이터 베이스  >  docker mysql에서 루트 계정 비밀번호를 변경하고 권한을 부여하는 방법

docker mysql에서 루트 계정 비밀번호를 변경하고 권한을 부여하는 방법

PHPz
PHPz앞으로
2023-06-01 19:16:041825검색

Start

CentOs 리눅스 서버 로그인 후

docker ps        //查看docker镜像

docker mysql에서 루트 계정 비밀번호를 변경하고 권한을 부여하는 방법

mysql 이미지 입력

 docker exec -it 镜像id或者镜像别名   /bin/bash   //进入docker内部镜像

docker mysql에서 루트 계정 비밀번호를 변경하고 권한을 부여하는 방법

vim 설치

docker 이미지에는 vim 명령어가 없기 때문에 수동으로 설치해야 합니다 또는 docker cp 명령을 사용할 수 있습니다. 호스트에서 복사하세요.

apt-get update
apt-get install vim

구성 파일을 편집하세요

vim /etc/mysql/mysql.conf.d/mysqld.cnf

"skip-grant-tables"를 추가해야 합니다. "skip-grant-tables"를 추가하려면 i "cv"를 누르세요. esc 그런 다음: wq!

docker mysql에서 루트 계정 비밀번호를 변경하고 권한을 부여하는 방법

저장하고 종료합니다

exit    # 退出容器

mysql 컨테이너를 다시 시작합니다

docker restart mysql

컨테이너를 다시 입력하세요

docker exec -it mysql bash

mysql에 로그인합니다(비밀번호 필요 없음)

mysql -uroot

권한 업데이트

flush privileges;

비밀번호 변경

alter user 'root'@'localhost' identified by '123456';

Quit mysql

exit

Comment "skip-grant-tables"

Comment 필수" Skip-grant-tables” i를 누르세요. esc를 누르세요. 그런 다음: wq!

컨테이너 종료

exit

컨테이너 다시 시작

docker restart mysql

내부인 경우 액세스가 가능하지만 Navicat이 액세스할 수 없습니다. 그런 다음 mysql 권한을 열려면 실행하세요

오류: ERROR 1130: 호스트 'ip'는 thisMySQL 서버에 연결할 수 없습니다.

이유: 연결된 데이터는 ip를 사용하여 액세스할 수 없습니다. localhost만 허용됩니다.

mysql 미러로 들어가세요

 docker exec -it 镜像id或者镜像别名   /bin/bash   //进入docker内部镜像

mysql에 로그인

mysql -u root -p     输入刚刚修改的密码
mysql>use mysql;

mysql>select 'host' from user where user='root';

mysql>update user set host = '%' where user ='root';

mysql>flush privileges;

mysql>select 'host'   from user where user='root';

그래도 작동하지 않으면 여러 루트 권한에 대한 업데이트 권한이 있는 것입니다.

update user set 비밀번호=password("root" ) user="root"; 기본 키 ID가 이미 존재하는 경우

localhost

를 삭제하세요.

위 내용은 docker mysql에서 루트 계정 비밀번호를 변경하고 권한을 부여하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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