Ubuntu 16.04에 mysql을 설치하는 방법


8

Rails 프로젝트를 위해 Ubuntu 16.04에 mysql을 설치하기 위해 Ubuntu 14.04에 대한 디지털 오션 자습서를 따르고 있습니다. 나는 아마도 절차가 동일하다고 잘못 생각했을 것입니다.

그러나 명령을 실행 sudo mysql_install_db하면 다음 오류가 발생합니다.

2016-06-15 18:40:36 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2016-06-15 18:40:36 [ERROR]   The data directory needs to be specified.

설정은 어떻게 완료합니까? 우분투 14.04에서 과거에 동일한 절차를 여러 번 성공적으로 수행했습니다.


4
제안한 내용을 수행하면 어떻게 mysqld --initialize되나요?
Jos

2
@Jos 다음과 같은 오류가 발생합니다.mysqld: Can't create directory '/var/lib/mysql/' (Errcode: 17 - File exists) 2016-06-15T14:00:28.483462Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2016-06-15T14:00:28.484374Z 0 [ERROR] Aborting
Jawad Khawaja

2
디렉토리를 삭제 /var/lib/mysql하고 --initialize프로세스를 다시 실행하여 해당 문제를 해결할 수 있습니다 .
Jos

1
감사합니다! 파일이 많기 때문에 문제가 발생할 수 있다고 걱정했습니다. 그러나 효과가있었습니다. 지금 설치를 완료했습니다.
Jawad Khawaja

@Jos 댓글로 답변을 게시해야합니다.
바이트 사령관

답변:


9

MySQL 서버 설치에는 대략 3 단계가 포함됩니다. 1) 소프트웨어 포장 풀기; 2) 기본 데이터베이스 생성 3) 기본 사용자 / 암호 생성 (및 데이터베이스에 저장).

실수로 데이터베이스 파일 (일반적으로에 위치 /var/lib/mysql)을 잃어버린 경우 서버 패키지를 완전히 다시 설치하지 않고 다시 시작할 수 있습니다. 이 명령으로 수행됩니다 mysqld --initialize. 데이터베이스가 이미있는 동안이 명령을 실행하면 오류 ( "파일이 있습니다")가보고되고 데이터베이스를 덮어 쓰려고 시도하지 않습니다. 그러나 설치 절차가 올바르게 완료되었는지 확실하지 않은 경우 디렉토리를 삭제 /var/lib/mysql하고 데이터베이스를 다시 초기화 해도 됩니다.

--initialize플래그는 MySQL이 루트 사용자와 임의의 암호를 생성하게하여 로그 파일에 기록되게합니다. 자세한 내용은를 참조하십시오 man mysqld.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.