본문 바로가기

Backend/DB

[Mysql] 설치 및 dump file import 까지

회사에서 테스트 서버에 구축 했던 서버 구성을 다른 컴퓨터로 이전 하면서 느꼈던 삽질기를 정리함.

 

환경 : Mac OS 카탈리나 10.15+

 

※ 주의! 처음에는 Homebrew 를 이용해서 mysql 을 설치했다. DB 구동에 큰 문제는 되지 않지만 mecab 설치에 필요한 일부 파일들이 부족해 찾아 보던 중 정확한 방법이 있어서 아래 방법을 사용했다.

STEP - 1 MySQL 설치

기존 Mysql 삭제

brew install mysql로 설치했을 경우

sudo rm -rf /usr/local/var/mysql

sudo rm -rf /usr/local/bin/mysql*

sudo rm -rf /usr/local/Cellar/mysql

ps. (엔터) 는 앞에 명령어를 치고 키보드 엔터를 내려 치라는 소리임.

mySQL 홈페이지에서 DMG파일로 설치했을 경우

sudo rm -rf /usr/local/mysql*

sudo rm -rf /Library/PreferencePanes/My*

sudo rm -rf /var/db/receipts/com.mysql.*

ps. (엔터) 는 앞에 명령어를 치고 키보드 엔터를 내려 치라는 소리임.

주의 사항: 파일을 삭제한다고 해도 이미 실행중인 프로그램은 종료되지 않으므로 파일 삭제 후, 재부팅해줄 것!

 

Mysql 5.7 설치

1. ,MySql 사이트에 들어가서 파일 다운받기.

링크: https://dev.mysql.com/downloads/mysql/5.7.html#downloads

 

본인이 설치할 때 버전은 5.7.31 이었음. 설치할 때마다 버전이 달라질 수 있음

2. 다운로드 된 'mysql-5.7.31-macos10.14-x86_64.dmg' 실행해서 설치하기

 

3. 맥 OS 의 '시스템 환경설정' > 하단 'MySQL' 클릭

'Start MySQL Server' 클릭해서 'Stop MySQL Server' 으로 변경해야 MySQL 이 실행되는 중이다.

'Automatically Start MySQL Server on Startup'은 맥 os 부팅 시 자동으로 MySQL 실행 하겠다는 말인데 나는 안할꺼임!

터미널에서 mySQL 실행하기

MySQL 설치된 디렉토리 이동 

cd /usr/local/mysql/bin

1-1 MySQL 실행

bin ./mysql -uroot -p
  • bin ./mysql: 난 지금부터 mysql을 쓰고 싶어라고 컴퓨터에게 알림
  • -u: user를 의미
  • root: root라는 아이디를 가진 사용자임을 의미
  • -p: password. 엔터치고 아까 카피해놓은 비밀번호를 입력한다.

1-2 위 명령어가 안먹히는 경우.

최상위 경로로 돌아오기

cd

명령어 실행하기

/usr/local/mysql/bin/mysql -uroot -p

 

비밀번호 초기화

UPDATE mysql.user SET authentication_string='[원하는 비밀번호]' WHERE User='root';

ex) UPDATE mysql.user SET authentication_string='1q2w3e' WHERE User='root';

 

 

실행 완료!!

 

 

STEP - 2 MySQL dump file

dump file import

source < [dump file name].sql

([dump file name].sql 은 dump file 명을 말하는 것이다. 예 : mysql> source < dump_mysqldb_20200707.sql)

또는!!

 

/usr/local/mysql/bin/mysql -uroot -p [db 명] < [dump 파일명].sql

 

dump file import error

문제>

 "The user specified as a definer ('root'@'%') does not exist" 또는

"The user specified as a definer ('temp'@'%') does not exist" 등등

원인>

Mysql의 권한설정의 문제입니다.  

해결>

아래와 같이 권한을 설정하면 됩니다.

grant all on *.* to 'root'@'%' identified by 'password' with grant option;

 

 

참고

https://velog.io/@wow/Mac%EC%97%90%EC%84%9C-mySQL5.7-%EC%9E%AC%EC%84%A4%EC%B9%98

 

Mac에서 mySQL@5.7 재설치

나의 경우 멋 모르고 아래의 두가지 경우를 모두 사용하였기에..(심지어 이전에 하위 버전, 최신 버전도 깔아놓음) 모두 삭제해주었다. 좋은 경험이였다.. 주의 사항: 파일을 삭제한다고 해도 이�

velog.io

https://dev.mysql.com/doc/refman/5.7/en/reloading-sql-format-dumps.html

 

MySQL :: MySQL 5.7 Reference Manual :: 7.4.2 Reloading SQL-Format Backups

7.4.2 Reloading SQL-Format Backups To reload a dump file written by mysqldump that consists of SQL statements, use it as input to the mysql client. If the dump file was created by mysqldump with the --all-databases or --databases option, it contains CREAT

dev.mysql.com

https://m.blog.naver.com/PostView.nhn?blogId=kkson50&logNo=120172066954&proxyReferer=https:%2F%2Fwww.google.com%2F

 

[문제해결]MySQL : "The user specified as a definer ('root'@'%') does not exist"

[현상]mysql에서 sql실행시에 아래와 같은 문제가 발생을 함."The user specified as a definer ('root'@'...

blog.naver.com

https://likejirak.tistory.com/163

 

[Mac] MySQL 5.7 설치

검색해서 나오는 방법대로 하면 안되서 수많은 시행착오 끝에 성공해서 올린다. 일단 홈브루부터 설치하고 오자 (있으면 brew update 입력) https://brew.sh/index_ko 5.7 버젼 설치 brew install mysql@5.7 설치..

likejirak.tistory.com