Search Results for 'Access denied for user'

1 POSTS

  1. 2017.08.15 centos 6.9 mysql 5.7 설치

centos 6.9 mysql 5.7 설치

Posted 2017. 8. 15. 23:25

기존 테스트 환경의 개발DB가 CentOS6.2 에 MySQL5.5.x 였다.

다른 개발서버에 있던 dump를 import 하려니 오류가 발생한다. 

sql_mode를 바꿔야 하는데, 이게 5.7부터 변경된듯 하다.

한두개 바꿔서 될듯하지 않아서 새로운 mysql을 설치하기로 했다. 

나의 개발환경은 Windows 2008 Enterprise 의 Hyper-V 에 가상으로 Linux를 설치하여 구성한다. 

설치과정은 대략 다음과 같다.


1. 기존 CentOS 6.2 VHD 를 이용하여 새로운 가상서버를 만든다.

2. CentOS 6.x부터 추가된 rules.d / persistance 를 변경해서 네트워크를 잡는다.

3. yum update -y를 하고나니 OS 버전이 6.2에서 6.9로 업그레이드 되었다.

4. mysql 5.7을 설치한다. ( 설치 정보는 여기 를 참고했다. )  

  yum 관련 오류가 발생하면 yum clean all 을 한번 실행하면 잘 될수도 있다.

5. 설치 마지막 과정에 mysql_secure_installation 을 실행하는데,  자꾸 오류가 난다.

Error: Access denied for user 'root'@'localhost' (using password: YES)

6. 검색후 다음과 같은 내용을 찾았다. 임시비밀번호를 로그에서 찾으라는 것.

  grep 'temporary password' /var/log/mysqld.log

7. 이전과 달라진듯 한다. 이전엔 현재 OS의 비밀번호를 입력했었는데...

이후 비밀번호 설정과정에서도 영문대소문자, 숫자, 특수문자까지... 보안이 강화되었다. ㅠ.ㅠ;;; 내부에서만 쓸건데...


이상으로 새로운 버전의 CentOS6.9에 mysql 5.7을 설치한 과정 끝.


사용자 추가 및 권한 설정 ( https://dev.mysql.com/doc/refman/5.7/en/grant.html )

1. create database with utf8

CREATE DATABASE mydb
  DEFAULT CHARACTER SET utf8  
  DEFAULT COLLATE utf8_general_ci;

2. create user & grant privileges

CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'mypass';

GRANT ALL ON db1.* TO 'jeffrey'@'localhost';

flush privileges;