# Site title:Writer,ITBlog# 타이틀 subtitle:EircHan'sITBlogusingHexo# 서브 타이틀 description:EircHan'sITBlogusingHexo# 블로그 설명 author:EricHan# 저자 이름 language:en# 기본 언어. 다국어 지원 timezone:Asia/Seoul# 해당 타임존 설정 (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
# URL url:http://futurecreator.github.io/# 앞에서 만든 github page 주소 root:/# 기본은 / 이고 만약 서브디렉토리 구조를 가진다면 루트를 지정하는 부분. permalink::year/:month/:day/:title/# 기본 permalink (고정 url). 새글 생성 시 자동으로 지정된 형식의 URL이 할당된다. permalink_defaults:
ubuntu 서버에 mysql 서버를 설치하고 환경을 설정하고 실제 운용까지 필요한 모든 내용을 담았다.
설치
window
아래와 같이 mysql-server를 설치해 준다. 주의 할 점은 mysql 서버에 접근하기 위해서는 3306포트가 열려있어야 하는데 만약 서버 컴퓨터를 cafe24나 aws를 통해 만드는 경우 반드시 인바운드 규칙에서 3306포트를 추가시켜 주어야 한다.
1 2 3 4 5 6
sudo apt-get update sudo apt-get install mysql-server // 이 과정에서 아이디랑 비밀번호를 물어본다. mysql_secure_installation //mysql 보안 설정을 세팅한다. systemctl status mysql.service //mysql이 실행되었는지 확인한다. sudo systemctl start mysql //mysql이 실행되고 있지 않다면 실행한다. mysqladmin -p -u root version // mysql을 관리할 수 있다 이경우 버전을 확인하는 명령어이다.
macOS
1 2 3 4
brew install mysql // 서버 설치하기 mysql.server start // 실행하기 mysql -u root // 로그인하기 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password' // 비밀번호 재설정하기
환경설정
window
먼저 다음 명령어를 통해 mysql 에 접속한다.
1
mysql -u 사용자_이름 -p 비밀번호
mysql에 접속한 뒤 해야 할 첫번째는 바로 외부 접속이 가능한 계정을 만드는 것이다. 본 계정을 통해 다른 컴퓨터에서 workbench 등의 프로그램을 통해 연결하여 db를 세팅하기 용이하다. 다음 명령어를 통해 새로운 mysql 계정을 비밀번호와 함께 만들어 준다.
1
create user [user명]@'%' identified by '패스워드';
위 계정으로 다른 컴퓨터에서 접근을 하면 권한이 없다는 말이 나타날 것이다. 이는 바로 mysql server의 초기 세팅이 내부 ip 에서만 접근 가능하도록 세팅되어 있기 때문인데 아래와 같은 방법으로 외부에서도 접근이 가능하게 바꾸어 준다.
먼저 mysql의 mysqld.cnf라는 설정파일을 vi 에디터로 열어준다.
1 2
Cd /etc/mysql/mysql.conf.d sudo vi mysqld.cnf
bind-address =127.0.0.1 부분을 주석처리 후 아래의 명령어를 통해 mysql 서버를 재시작 시켜준다.
1
sudo /etc/init.d/mysql restart
위 설정을 완료하였다면 생성한 계정이 데이터베이스에 대한 모든 권한을 가지도록 권한을 설정해 준다. 아래는 권한을 설정하는 예제이다.
1
grant all privileges on exampledb.* to admin@'%' identified by 'password' with grant option;
MYSQLADMIN 을 사용한 MYSQL 조작
MYSQL 콘솔이 아닌 그냥 컴퓨터 커맨드 라인에서 MSYQL 콘솔에 접근하기 위한 훌륭한 명령어인 mysqladmin이 있으며 다음과 같이 사용합니다.