이번에 새로 맥OS가 업그레이드 되면서 간만에 또 mysql을 새로 설치하게 되었습니다.
설치 대상 OS는 카탈리나 10.15 입니다.
특징이 있는게 / (루트디렉토리)에서는
디렉토리 신규 생성이 되지 않네요.
그래서 "/Users"에 설치 하였습니다.
설치 버전은 5.7.28 모하비 10.14용 버전입니다.
https://dev.mysql.com/downloads/mysql/5.7.html
다운로드 받은 tar 파일 압축 해제 한다음
"/Users/XXX/mysql" 이런식으로 디렉토리 구성하고
거기에 복사해 넣습니다.
다음 디렉토리에서
/Users/XXX/mysql/mysql-5.7.28-macos10.14-x86_64/support-files/
mysql.server 파일의 내용을 수정합니다.
다음과 같이 basedir / datadir을 기재 합니다.
basedir=/Users/XXX/mysql/mysql-5.7.21-macos10.13-x86_64/
datadir=/Users/XXX/mysql/mysql-5.7.21-macos10.13-x86_64/data/
basedir로 이동후 data 디렉토리를 생성합니다.
cd /Users/XXX/mysql/mysql-5.7.21-macos10.13-x86_64/
mkdir data
data 디렉토리에 권한을 추가합니다.
777 또는 755를 적용 합니다.
chmod -R 777 ./data
basedir에서 다음 명령을 실행시킵니다.
./support-files/mysql.server start
다음과 같은 팝업이 뜹니다.
오류가 아니고 카탈리나의 강화된 권한정책에 의한 것이므로 너무 놀라지 않으셔도 됩니다. ^^;
실행에 필요한 파일에 대한 것이므로 반드시 [취소]를 눌러줍니다.
시스템 실행환경 > 보안 및 개인정보 보호 > 일반 탭 선택
하단의 자물쇠를 엽니다.
[확인 없이 허용]을 선택하여 해당 실행파일의 실행에 허가를 해줍니다.
중간에 실행이 중단되거나 오류가 나면 동일하게 반복해 줍니다.
2 ~ 3 번정도 실행파일명이 바뀌며 재시도 해야 합니다.
다음과 같이 pid파일을 만들지 못하는 오류가 발생합니다.
.. ERROR! The server quit without updating PID file (/Users/EGOV/mysql/mysql-5.7.28-macos10.14-x86_64/data/comghostLabui-MacBookPro.local.pid).
./data 디렉토리의 메타데이타나 DB파일이 생성및 초기화되어야 하는데
무슨 이유인지 모르나 오류가 발생하므로
다음과 같이 수동으로 초기화 해줍니다.
data내의 생성된 데이타 파일이 쓰레기(?) 이기 때문에 모두 지워 줍니다.
rm -rf는 하위 디렉토리까지 모두 지우는 명령어 이므로 현재 디렉토리를 확실하게 확인후 명령을 줍니다.
cd data
rm -rf *
basedir에서 다음 명령을 주어서 수동으로 data 디렉토리를 초기화 하고 필요한 파일이 생성되도록 합니다.
basedir / dataidr을 반드시 설정해야 합니다.
./bin/mysqld --initialize --basedir=/Users/EGOV/mysql/mysql-5.7.28-macos10.14-x86_64 --datadir=/Users/EGOV/mysql/mysql-5.7.28-macos10.14-x86_64/data
서비스가 기동은 되나
mysql에 접속하려고 하면 다음과 같은 오류 발생한다.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
다음과 같이 입력하여 mysql 콘솔로 들어갈수 있다.
하지만 root에 대한 디폴트 비번을 알수가 없다. ㅜㅠ
=> 특정한 로그파일에 임시 비번이 제공 된다. 여기서는 다른 방법으로 해결한다.
서비스가 실행중이면 종료하고 mysql을 safe모드로 다음과 같이 기동한다.
./bin/mysqld_safe --skip-grant-tables
2019-11-02T02:36:41.6NZ mysqld_safe Logging to '/Users/EGOV/mysql/mysql-5.7.28-macos10.14-x86_64/data/comghostLabui-MacBookPro.local.err'.
2019-11-02T02:36:41.6NZ mysqld_safe Starting mysqld daemon with databases from /Users/EGOV/mysql/mysql-5.7.28-macos10.14-x86_64/data
2019-11-02T02:39:36.6NZ mysqld_safe mysqld from pid file /Users/EGOV/mysql/mysql-5.7.28-macos10.14-x86_64/data/comghostLabui-MacBookPro.local.pid ended
다른 터미널 창에서 mysql 콘솔로 진입하여 비번을 변경한다.
참고로 필자는 테스트용으로 쓰는 DB라 비밀번호가 공백이다. ^^;
* 주의사항
비번 변경 명령을 2가지 모두 주어야 적용이 되었다. 이해는 않가지만 안전모드에서 2가지 유형의 password변경 명령어를 2가지 모두 주어야 한다.
./bin/mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.28 MySQL Community Server (GPL)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> UPDATE mysql.user SET authentication_string = PASSWORD('변경된 비밀번호')
-> WHERE User = 'root' AND Host = 'localhost';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> SET PASSWORD = PASSWORD('변경된 비밀번호');
mysql 서비스를 중지시키고
정상적인 방법으로 재기동 시킨후 콘솔에 접속한다.
./support-files/mysql.server start
이제야 변경한 비번으로 접속이 된다.
앗~ 그런데 명령어가 먹지 않고 password에 대한 메시지가 나온다.
방금 분명 바꿨는데 ~~~ ㅜㅠ
./bin/mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.28
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use mysql
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
이 버전에서는 다음과 같이 비번 지정하는 방식이 변경되었다.
하~ 오라클 님들~ 너무해요~ ㅜㅠ
이후로 "root@localhost"접속 권한 설정도 가능하다. ㅜㅠ
SET PASSWORD = PASSWORD('변경된 비밀번호');
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql>
mysql> grant all privileges on mysql.* to root@localhost;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
* 이번버전에서 생각보다 많은 삽질을 필요로 하네요.
Mysql이 의외로 설치가 까다로운거 같네요 ^^;
DBeaver 클라이언트에서 테스트 해보면
정상적으로 DB에 접속이 되고 Database정보및 각종 쿼리가 정상적으로 수행된다.
* 최대한 기억나는대로 정리하였습니다.
* 이미 mysql 인스턴스가 떠있는경우 다음을 보고 조치한다.
https://gmlwjd9405.github.io/2018/12/23/error-mysql-start.html
'TIP-맥OS' 카테고리의 다른 글
macOS에서 한글 자소분리 및 풀어쓰기(NFC,NFD)된 파일을 모아쓰기 처리와 FileZilla FTP 문제 해결 (0) | 2020.12.24 |
---|---|
macOS Catalina 업그레이드후 mysql 실행 않되는것 해결하기 (0) | 2019.11.01 |
macOS PPT발표시에 화면그리기 및 강조 툴 추천 (0) | 2019.10.31 |
macOS 인텔리J IDE 사용시 svn 접속시 E170013 메시지 나오는경우 (0) | 2019.09.03 |
macOS 모하비로 업데이트후 맥 앱스토어에서 업데이트시 오류 발생 (0) | 2019.08.12 |