이번 시간에는 백엔드 상에서 테이블 db를 만들 수 있는 mysql에 대해 한 번 알아보고자 한다.
01. MySQL이란.
MYSQL은 전세계적으로 가장 널리 사용되고 있는 오픈 소스 데이터베이스이며, MySQL AB사가 개발하여 배포/판매하고 있는 데이터베이스(DataBase)이다. 표준 데이터베이스 질의 언어 SQL(Structured Query Language)을 사용하는 개방 소스의 관계형 데이터베이스 관리 관리시스템(RDBMS), 매우 빠르고, 유연하며, 사용하기 쉬운 특징이 있다.
brew install mysql
brew 명령어를 위한 HomeBrew 패키지 관리자 미설치시 아래 명령어를 통해 설치 필요/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
mysql.server start
아래 명령어로 기본 설정을 시작.mysql_secure_installation
비밀번호 복잡도 검사 과정 (n)
비밀번호 입력 & 확인
익명 사용자 삭제 (y)
원격 접속 허용하지 않을 것인가? (y)
test DB 삭제 (n)
previlege 테이블을 다시 로드할 것인지 (y)
아래는 위에 나타낸 과정의 자세한 내용.
💡 Securing the MySQL server deployment. Connecting to MySQL using a blank password. VALIDATE PASSWORD PLUGIN can be used to test passwords and improve securitNy. 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 plugin? Press y|Y for Yes, any other key for No:위의 과정은 복잡한 비밀번호 설정을 위한 과정을 거치겠냐고 묻는 과정이며,No로 스킵하였다.
💡 Please set the password for root here. New password: Re-enter new password:위의 과정은 루트 비밀번호를 입력하는 과정.비밀번호와 비밀번호 확인란을 입력하게 된다.
💡 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) : y익명 사용자를 삭제할 것인지 묻는다.y를 입력하였다.
💡 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) : y원격 접속을 허용할 것인지 묻는다. 로컬에서만 개발 예정이기에 y를 입력했다.
💡 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) :test 데이터베이스 삭제를 묻고 있습니다.No를 입력하였다.
💡 Reload privilege tables now? (Press y|Y for Yes, any other key for No) :previlege 테이블을 다시 로드할 것인지 묻는다.
yes를 입력, 과정을 마친다.
💡 All done!위의 메세지와 함께 설정이 종료.
추가적으로 mysql server가 재부팅과 상관없이 켜져있을 수 있도록 brew services를 이용하여 서버를 켜둔다.
brew services start mysql
mysql -u root -p
위 명령어 입력 후 루트 비밀번호를 입력하여 mysql을 사용할 수 있게 된다.
sudo
사용하지 않도록 설정하기(추가 단계)mysql > use mysql;
mysql > ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '사용할 비밀번호 입력';
mysql > FLUSH PRIVILEGES;
이상으로 mysql 설치부터 실행까지에 대해 알아봤다. 이는 필자가 로컬 상에서만 사용 목적으로 한 방법이기에 다른 방법으로 사용할 분은 구글링 해 보시면 된다. 그냥 설치 및 사용법이 이렇다는 것만 알아두면 되겠다. 다음 포스팅부터는 이제 실행 후 데이터 테이블을 만들고 사용하는 명령어에 대한 문법을 포스팅 하겠다.
--------------------to be continued----------------------