생계/MySQL2017. 9. 8. 23:35

- 1. mysql client 접속 


mysql -u root -p

use mysql
select host, user, password from user;

 

 - 2.1 create user 구문으로 유저생성

 

create user 'test'@'%' identified by 'test';

CREATE USER 'test'@'10.10.10.10' IDENTIFIED WITH 'mysql_native_password' AS
  #authentication_string# REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK;
=> IP추가 시 비밀번호 직접 넣지 않고 동일하게 생성

 - 2.2 insert 구문으로 유저생성

 

insert into user (Host, User, Password, ssl_cipher, x509_issuer, x509_subject, authentication_string)
values ('localhost','test', password('test'),'','','','');

 

insert into user (Host, User, Password, ssl_cipher, x509_issuer, x509_subject, authentication_string)
values ('%','test', password('test'),'','','','');

 

flush privileges;     -- * insert 구문으로 유저생성시엔 반드시 flush 해줘야 적용됨.

 

 - 3. 권한 grant

 

grant all privileges on temp.* to test@'localhost';
grant all privileges on temp.* to test@'%';

grant all privileges on *.* to test@'%';

 

  - 4. 권한 확인

 

show grants for test@'%';

 

 

반응형
Posted by 돌고래트레이너
생계/MySQL2017. 9. 8. 23:33

mariadb 설치하는 방법은 여러가지가 있고, 장단점이 있다. 


- source 설치 : 소스를 다운받아 컴파일하는 방식. 홈페이지에서 소스를 다운받았는데 컴파일오류가 나면 당황스럽다. 
- binary 설치 : 이미 컴파일된 바이너리를 다운받아 설치. 설정도 바꿀수 있고, 컴파일 에러도 피해갈수 있다. 
- yum 설치 : 가장쉽고 실패할 일이 거의 없다. 단점은 설정을 맘대로 바꾸기 힘들다는것 (ex, 설치계정, datadir..)


 binary 설치가 나의 경우엔 가장 적합했다. 




1.설치 준비


- 라이브러리

yum -y install gcc gcc-c++ libtermcap-devel gdbm-devel zlib* libxml* freetype* libpng* libjpeg* iconv flex gmp ncurses-devel cmake.x86_64 libaio

cd /usr/local/
wget -N https://downloads.mariadb.org/interstitial/mariadb-10.2.7/bintar-linux-x86_64/mariadb-10.2.7-linux-x86_64.tar.gz
tar zxvf mariadb-10.2.7-linux-x86_64.tar.gz

ln -s /usr/local/mariadb-10.2.7-linux-x86_64 /usr/local/mysql


# mariadb 사용자 및 그룹 추가
groupadd mysql
useradd -g mysql mysql
passwd mysql


# 권한설정
chown mysql.mysql -R mariadb-10.2.7-linux-x86_64
chmod 750 -R /usr/local/mariadb-10.2.7-linux-x86_64
chown mysql.mysql -R ./mariadb
chown mysql.mysql -R ./mariadb-10.2.7-linux-x86_64



2. 설치 및 설정값 편집 


# my.cnf 복사,편집  (아래 내용은 인터넷에서 가져온거라 잘은 모르겠음)
cp /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf

- 시스템 메모리가 4G이상일 때 : my-innodb-heavy-4G.cnf
- 시스템 메모리가 1G~2G일 때 : my-huge.cnf
- 시스템 메모리가 512MB정도 일 때 : my-large.cnf
- 시스템 메모리가 32MB~64MB정도 일 때 : my-medium.cnf
- 시스템 메모리가 64MB이하일 때 : my-small.cnf


vi /etc/my.cnf  ( default port 를 변경하고자 한다면.. default = 3306 ) 
[client]
port = 33060
[mysqld]
port = 33060



# mysql(mariadb) 실행데몬 복사

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chown mysql.mysql /etc/init.d/mysqld
chown mysql.mysql /etc/my.cnf

chmod 750 /etc/init.d/mysqld


# mysql 실행데몬 수정
vi /etc/init.d/mysqld


# DB디렉토리 지정 하고 저장 


basedir=/usr/local/mysql
datadir=/DATA01/mysql

chown mysql.mysql -R /DATA01



3. DB 작업 


# DB생성 (mysql 계정으로 로그인)

su - mysql
/usr/local/mariadb/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/DATA01/mysql


# mysql 구동 (mysql 계정으로 로그인)
service mysqld start


# PATH 설정 (mysql 계정으로 로그인)


cd
vi .bash_profile

맨 마지막 줄에
PATH=$PATH:/usr/local/mysql/bin


닫고 저장


source .bash_profile


mysqladmin -u root password 'root123!'


netstat -an |grep 3306


# drop database test

 


** mariadb basedir 경로 변경 -> mysql

반응형
Posted by 돌고래트레이너
생계/MySQL2017. 9. 8. 23:29

MariaDB 를 default 로 설치하면 문자 셋이 latin1 로 되어있다. 한글을 사용하기 부적절하므로 character set 을 변경해줘야 함.



 ** character set 변경 


1. 현재 문자셋 확인 


  show variables like 'c%'

  

2. my.cnf 편집 


  vi /etc/my.cnf


#########################################
[client]
 
default-character-set=utf8


[mysqld]

init_connect="SET collation_connection=utf8_general_ci"
init_connect="SET NAMES utf8"
character-set-server=utf8
collation-server=utf8_general_ci

skip-character-set-client-handshake


[mysql]


default-character-set=utf8

#########################################



3. 재기동


service mysqld restart


4. 문자셋 확인 


  show variables like 'c%'


 



## 여기까지 되면 보통은 거의 해결.


 추가적으로..

 1. character set 변경전에 생성된 테이블들은 따로 변경해주거나 재생성

 2. Toad 같은 tool 에서는 한글 입,출력이 되는데 terminal 에서 error 가 난다면 

      터미널 설정을 확인 


   (ex. secureCRT 경우 Session Options 에서 설정 변경)


   


  


** 오픈소스 DB 를 본격적으로 써본게 처음이라 아직까지는 불신이 있었다. 

문자셋 변경을 해도 터미널에서 한글 insert 가 안되서 오픈소스 탓을 했는데,

내가 사용한 터미널과 툴의 문제였다. 조금더 MariaDB 에 믿음을 가져보자 

반응형
Posted by 돌고래트레이너