http://beizix.egloos.com/2560401
ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value
Mysql 버전이 높아지면서 보안관련 인한 오류입니다.
User 생성시 Host, User ,Password, ssl_cipher, x509_issuer, x509_subject 를 입력 해 주셔야 합니다.
ssl_cipher, x509_issuer, x509_subject 값은 '' 빈값을 입력하세요.
ex)
insert into user (Host, User, Password, ssl_cipher, x509_issuer, x509_subject )
values('localhost','사용자명',password('비밀번호'),'','','');
ERROR 1364 (HY000): Field 'authentication_string' doesn't have a default value
* mysql 5.5 에서 user 생성시 authentication_string 필드 추가. '' 값으로 넣어 주세요.
ex)
insert into user (Host, User, Password, ssl_cipher, x509_issuer, x509_subject, authentication_string)
values('localhost','사용자명', password('비밀번호'),'','','','');
====================================================================================================
FLUSH HOSTS;
OS : Ubuntu Server (Karmic Koala)
MYSQL : 5.1 version
특정 사용자 계정의 외부접속 허용하기 - 여기서는 root 를 예로 든다.
1. mysql 접속 후 mysql database 선택
mysql> use mysql;
2. user 테이블 살펴보기
mysql> select host, user, password from user;
root 의 host 값들은 localhost, 127.0.0.1 등으로 기본 등록되어 있지만, 외부접속을 나타내는 값이 없다. 특정 아이피로 지정할 수도 있지만 여기선 % 기호로 어디서든 접속 가능하게 만든다.
3. 권한 설정
mysql> grant all privileges on *.* to 'root'@'%' identified by 'root의 패스워드';
Query OK, 0 rows affected (0.03 sec)
4. 등록확인하기
mysql> select host, user, password from user;
root 계정의 host 필드에 % 가 등록되었는지 확인한다.
5. refrash
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
위 단계는 my.cnf 파일 수정후 서버를 재시작할 것이기 때문에 굳이 안해도 된다.
6. my.cnf 에서 외부접속 관련사항 변경하기
user@home:~$ sudo vim /etc/mysql/my.cnf
파일 내용중
bind-address = 127.0.0.1
부분 주석처리후 저장하기
7. mysql 재시작
user@home:~$ sudo /etc/init.d/mysql restart
8. 완료.
이제 외부 클라이언트 프로그램에서 접속이 가능하다 ^^