설치
- (중요) 터미널 실행.
- brew 명령어로 mariadb설치
brew install mariadb
- brew로 서비스 확인
brew services list
root 계정 생성
- root 계정 생성하기
sudo mariadb-secure-installation
- sudo 비밀번호를 입력해야 함
- 오류 ERROR 2002 (HY000): Can't connect to local server through socket '/tmp/mysql.sock' (2)
해결 방법 먼저 mysql server를 시작해야하므로 밑 문단의 <서버 열기>를 참고하여 실행하면 오류 없이 진행된다.
- 그래도 안 되면 재부팅(재시동)하여 mysql의 프로세스가 잡혀있을 수도 있어서 종료하는 것이 좋다.
- 초기 root 계정 password 설정
- 입력 or Enter로 넘김
- 순서대로
- Switch to unix_socket authentication [Y/n]
→ 유닉스 소켓이라는 인증 방식으로 전환할 것인지 물어보는 질문이다. 자세한 건 링크 참고.
https://www.nemonein.xyz/2019/07/2254/
- Change the root password? [Y/n]
→root password를 변경할 건지 물어보는 질문.
- Remove anonymous users? [Y/n]
→ 익명 사용자를 제거할 건지 물어보는 질문. 만약 Y를 하면 mysql -u root
로 로그인 해야 된다.(-u)
n를 하면 ‘mysql’로도 로그인 된다. 익명 사용자가 권한을 갖는 것이기 때문에 보안상 지워주는 게 좋다.
- Disallow root login remotely [Y]
→ localhost의 ip가 아닌 곳에서 root로 로그인이 가능하게 할 지 물어본다. Y를 하면 원격 로그인이 안 된다. 공부 용도이며 장소를 옮긴다 하면 n를 권장. 로컬에서만 사용하면 y
- Remove test database and access to it? [Y/n]
→ test 데이터베이스를 제거할지 물어본다. 쓸 일이 없으면 n
- Reload privilege tables now? [Y/n]
→ 권한을 변경을 했다면 y
서버 열기 & 로그인
- MariaDB 서버 열기
brew services start mariadb
or
mysql.server start
- 자동 시작 : brew services start mariadb
→ brew services restart mariadb
restart gogo!
- 로그인
2-1 : 사용자 계정 로그인 mysql
2-2 : 루트 root 계정 로그인 mysql -u root
오류 - ERROR 1698 (28000): Access denied for user 'root'@'localhost’
이유는 root 계정의 password가 auth_socket이라는 타입으로 되서 그렇다
- sudo로 root 계정을 입력해 로그인한다.
use mysql;
- user와 plugin 확인
select User, Host, plugin FROM mysql.user;
- 필자는 이전에 바꿔놔서 mysql_native_password로 되어있음
(원래는 plugin - auth_socket)
- password 업데이트 하기
update user set plugin='mysql_native_password' where user='root';
flush privileges;
- 확인
select user, host, plugin from user;
- 나가기
exit;
- 다시 로그인
mysql -uroot -p
- 성공했으면 박수치기
참고
https://mariadb.com/kb/en/mysql_secure_installation/
https://wnw1005.tistory.com/443
https://bscnote.tistory.com/77
https://velog.io/@dayebyday/MariaDB-Mac-MariaDB-설치-및-조작