설치 환경
AWS에 Ubuntu 14.04를 기반으로 인스턴스를 생성하고 sudo apt-get install mysql-server
명령으로 MySQL을 설치
- 버전 - MySQL 5.5(5.5.41-0ubuntu0.14.04.1)
AWS - Security Group 설정
Inbound 탭에서 3306 포트를 열고 Source
는 Anywhere(0.0.0.0)
으로 설정
MySQL 설정 파일(/etc/mysql/my.cnf) 수정
bind-address
항목을 찾아서 0.0.0.0
으로 변경(이전 값은 127.0.0.1
)
MySQL 재시작
service mysql restart
ROOT 계정으로 외부에서 접속 가능하게 하려면
아래의 명령을 MySQL monitor에서 실행
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 49
Server version: 5.5.41-0ubuntu0.14.04.1 (Ubuntu)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION;
Query OK, 0 rows affected (0.12 sec)
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
에러 발생시 . ( 비밀번호 정책 위반이다 대소문자 1개 씩포함 + 특수문자 까지 넣어줫다 )
참고 : mysql 비밀번호 변경
mysql 접속
$ mysql -u root -p
Enter password:
mysql database 선택
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
비밀번호 변경
검색을 해보면 update user set password=password('1234') where user='root';
명령을 이용하면 된다고 나와있다.
그대로 복사해서 입력해보면
mysql> update user set password=password('1111') where user='root';
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
password
field 를 찾을 수 없다는 에러 메세지가 출력된다.
확인해보기 위해 user table의 field 들을 출력해봤더니
mysql> describe user;
+------------------------+------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------------+------------------------+------+-----+---------+-------+
| Host | char(60) | NO | PRI | | |
| User | char(32) | NO | PRI | | |
| ... |
| authentication_string | text | YES | | NULL | |
| password_expired | enum('N','Y') | NO | | N | |
| password_last_changed | timestamp | YES | | NULL | |
| password_lifetime | smallint(5) unsigned | YES | | NULL | |
| account_locked | enum('N','Y') | NO | | N | |
+------------------------+------------------------+------+-----+---------+-------+
45 rows in set (0.00 sec)
password
field를 찾을 수 없었다. 대신 authentication_string
이라는 field가 존재한다.
위의 명령에서 password
대신 authentication_string
을 업데이트하는 것으로 수정하여 실행하면 제대로 동작한다.
mysql> update user set authentication_string=password('1234') where user='root';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1
변경사항을 적용하기 위해 아래 명령을 실행한 후에 종료하면 비밀번호 변경이 완료된다.
mysql> flush privileges;
mysql> quit
Bye
'미분류' 카테고리의 다른 글
UI vs UX (0) | 2018.10.15 |
---|---|
REST ful api 란 무엇인가 ( 스크랩 ) (0) | 2018.08.21 |
(스크랩)윈도우에서 Atom 에디터(Editor)로 아마존(AWS) 리눅스 서버에 연결(접속)하기 (0) | 2018.07.04 |
NDK VS Cmake?? (0) | 2018.06.27 |
forever로 pid가 안죽는 경우 (0) | 2018.06.08 |