Menu

Ubuntu 에서 MySQL 설정

2015. 12. 7. 17:38

냥쿤이 MySQL

우분투에서 mysql 검색 

# sudo apt-cache search mysql-server


설치

# sudo apt-get install mysql-server-5.6


설치하다가 에러가 뜬다면

err ->Err http://ap-northeast-1.e


아래 주황색 박스와 같은 에러.



# apt-get update 하면 된다 . 빨간박스,


그리고


# sudo apt-get install mysql-server-5.6

을 재설치

0. 외부 접속 권한 설정==============


(1) mysql database에 로그인.

# mysql -u root -p


(2) 권한부어

GRANT ALL PRIVILEGES ON *.* to 'root'@'%' IDENTIFIED BY 'admin패스워드 설정해!';

권한부여를 위처럼 했다가 외부에서 내 루트로 접근 허가하는건 가능했지만

로컬에서 루트로 접속이 허가가 되지 않았다.


(2) my.cnf 설정화일 변경

# sudo vi /etc/mysql/my.cnf


# bind-address = 127.0.0.1 이부분을 주석처리 

추가로 주석처리 한부분 아래에

bind-address = 0.0.0.0  을 추가해서 anywhere 접근 허가도 추가 시켜주자..

          (추가 없이도 된다면패스)


AWS 에선 inbound 규칙에서 AddRule 로 3306 포트를 Anywhere 로 추가해주자.

-------------------------------------------------------------------------------------------

(3) 새로운 계정을 생성해주기.


아래스샷 과 같이 일련의 과정을 거쳐  root 에 접근을 바꿔주는게 아니라

하나의 계정을 더 추가해 주면서  그 계정에 모든 권한을 부여시켜주는 방법을 택했다.

mysql> create user 'userId'@'%' identified by 'userpassword';


- 위 사용자에게 모든 것을 할 수 있는 권한 주기

mysql> grant all privileges on *.* to 'userId'@'%';


- 위 사용자에게 특정 DB를 관리할수 있는 권한 주기

mysql> grant all privileges on dbname.* to 'userId'@'%';


- 로컬PC에서 mysql로 접속하기 위한 사용자 추가

mysql> create user 'userId'@'localhost' identified by 'userpassword';


- 위 사용자에게 모든 것을 할 수 있는 권한 주기

mysql> grant all privileges on *.* to 'userId'@'localhost';


- 위 사용자에게 특정 DB를 관리할 수 있는 권한 주기

mysql> grant all privileges on dbname.* to 'userId'@'localhost';


파란색 박스는 생성하려다 실패한 내용이다.


(4) 즉시반영

mysql> flush privileges;


(5) mysql Server 재시작

# sudo /etc/init.d/mysql restart


외부에서도 루트 에서도 모두 접속 가능한 MySQL 이 되었다.................


0.한글 설정 =======================

(1) sudo vi /etc/mysql/my.cnf   


[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

character-set-server=utf8

collation-server=utf8_general_ci

init_connect = set collation_connection = utf8_general_ci

init_connect = set names utf8

 

[mysql]

default-character-set=utf8

 

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

default-character-set=utf8

 

[client]

default-character-set=utf8

 

[mysqldump]

default-character-set=utf8


위의 내용들을 추가


설정내용확인

mysql -h 192.168.115.207 -P 3306 -u root -p


0.innodb 설정=======================

sudo vi /etc/mysql/my.cnf에 추가


innodb_data_home_dir = /var/lib/mysql

innodb_data_file_path = ibdata1:10M:autoextend

innodb_log_group_home_dir = /var/lib/mysql

innodb_buffer_pool_size = 256M

innodb_additional_mem_pool_size = 20M

innodb_log_file_size = 64M

innodb_log_buffer_size = 8M

innodb_flush_log_at_trx_commit = 1

innodb_lock_wait_timeout = 50


'MySQL' 카테고리의 다른 글

자주 쓰는 쿼리문  (0) 2016.02.01
MySQL max_connections 설정  (0) 2016.01.08
MySQL 5.6 이하 버전을 5.6 버전으로 가리키게  (0) 2015.12.10
Windows MySQL 설치가이드  (0) 2015.12.07
MySQL 접속제한 풀기  (0) 2015.12.07