320x100
320x100
homebrew가 설치되어있다는 가정 하에 진행한다
설치가 되어있지 않다면
https://code-boki.tistory.com/116
homebrew로 mysql 설치하기
brew update
brew install mysql
brew services start mysql
mysql 보안 설정
mysql_secure_installation
순서
- 현재 비밀번호 확인: MySQL 서버에 대한 현재의 root 계정 비밀번호를 입력하라는 메시지가 표시됩니다. 기존에 비밀번호를 설정하지 않았다면 엔터 키를 눌러 건너뛸 수 있습니다.
- 새로운 비밀번호 설정: 새로운 root 계정 비밀번호를 입력하고 확인합니다. 안전한 비밀번호를 사용하는 것이 좋습니다.
- 비밀번호 검사 설정: 비밀번호 검사 기능을 활성화하거나 비활성화할 수 있습니다. 비밀번호 검사는 비밀번호의 복잡성을 강화하는데 도움이 됩니다.
- 루트 외부 접근 제한: 루트 계정에 대한 외부 접근을 제한할 것인지를 설정합니다. 일반적으로 외부에서 루트 계정으로 접속할 수 없도록 하는 것이 좋습니다.
- 익명 사용자 제거: 익명 사용자 계정을 제거할 것인지를 설정합니다. 보안을 강화하기 위해 익명 사용자 계정을 제거하는 것이 좋습니다.
- 테스트 데이터베이스 제거: 테스트 데이터베이스를 제거할 것인지를 설정합니다. 일반적으로 테스트 데이터베이스는 실제 운영 환경에서는 필요하지 않으므로 제거하는 것이 좋습니다.
- 권한 업데이트: 권한 테이블을 업데이트하여 설정 변경 사항을 적용합니다.
Securing the MySQL server deployment.
Connecting to MySQL using a blank password.
// 1 - root 계정 비밀번호 설정(복잡한 설정: y/간단설정: n)
VALIDATE PASSWORD COMPONENT can be used to test passwords and improve security.
It checks the strength of password and allows the users to set only those
passwords which are secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y/Y for Yes, any other key for No: y
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: [ 선택 ]
Please set the password for root here.
New password: [ 비밀번호 ]
Re-enter new password: [ 다시 입력 ]
// 2 - root 패스워드 강도를 그대로 사용할 것인지 여부
Estimated strength of the password: ...
Do you wish to continue with the password provided?
(Press y/Y for Yes, any othe key for No): [ 선택 ]
// 3 - 익명 유저 계정을 삭제할 것인지 여부
By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment.
Remove anonymous users?
(Press y|Y for Yes, any other key for No): [ 선택 ]
// 4 - 원격으로 root 계정의 접속을 막을 것인지 여부
Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No): [ 선택 ]
// 5 - 테스트 DB를 삭제할 것인지 여부
By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production
environment.
Remove test database and access to it?
(Press y|Y for Yes, any other key for No): [ 선택 ]
// 6 - 권한 테이블 다시 로딩 여부
Reloading the privilege tables will ensure that all changes made so far will take effect immediately.
Reload privilege tables now?
(Press y|Y for Yes, any other key for No): [ 선택 ]
나의 경우는 공부 목적이므로 1번 0, 2번~6번: y를 선택했다
LOW: 길이가 8 이상인 비밀번호를 허용합니다.
MEDIUM: 길이가 8 이상이고, 숫자, 대소문자, 특수 문자를 모두 포함해야 합니다.
STRONG: 길이가 8 이상이며, 숫자, 대소문자, 특수 문자뿐만 아니라 사전 파일에 포함된 단어를 사용하지 않아야 합니다.
접속해보자
mysql -uroot -p
passoword 입력...
접속이 안되시는 분들은
brew services list을 입력해서 mysql이 실행되었는지 확인해보자
stop 상태라면 brew services start mysql
mysql > show databases;
종료
\q 또는 quit 입력
320x100
'DB > MySQL' 카테고리의 다른 글
MySQL Select 쿼리 실행 순서 알아보기(feat. EXPLAIN, ANALYZE) (0) | 2024.11.21 |
---|---|
RDB라고 해서 FK가 꼭 필요할까? (9) | 2024.11.13 |
댓글