가끔 개발을 하다보면 기본 타임존이 설정되어야 하는 경우들이 있다.

(왠만해서 시스템 시간을 가져다 쓰지만)


어쨌든 우리들은 귀찮으니까 보통 my.cnf 파일을 열고 [mysqld] 의 하단부에


1
default-time-zone=Asia/Seoul
cs


을 입력하고 서비스를 재시작! 하는데,

이게 왠걸 에러가 뜬다.  (안뜨면 땡큐)


에러가 뜰 경우에는 mysql 쿼리창을 열고


1
2
3
4
SELECT b.name, a.time_zone_id
FROM mysql.time_zone AS a
     LEFT OUTER JOIN mysql.time_zone_name AS b
        ON a.time_zone_id = b.time_zone_id;
cs

라고 지긋이 쿼리를 날려보면 역시! 아무것도 뜨지 않는다.

설정할 타임존 테이블이 없어서 에러를 뿜었나보다.


그럼 mysql에 타임존 정보를 넣어주겠다.

mysql 서비스가 올라와 있는 서버에


1
$ mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
cs



라고 입력해 주면 뭔가 프로세스가 진행이 된다 된다...!

그리고 다시 mysql 에 접속하여 위 쿼리를 입력하면 timezone 리스트가 마구마구 올라온다.


그럼 다시 맨 처음에 설정하려고 했던 my.cnf 파일을 설정한다. 

그리고 서비스 재시작.


음 매우 잘되는군.

'기억할것들 > SQL' 카테고리의 다른 글

MySQL TimeZone 설정하기.  (0) 2018.12.18
mysql 설치순서  (0) 2018.08.13
MSSQL 메모리 누수 관리  (0) 2018.01.03

2018.4월에 mysql 8 버전이 새로 나왔다.

이를 기념하여 mysql을 rpm으로 설치 를 해보도록 하겠다.


1. yum install openssl-devel 


2. 먼저 mysql 홈페이지에서  풀 패키지를 다운로드 받는다. 아마 .bundle 로 되어있을것이다.

   압축을 풀면 뭔가 많은 rpm 패키지 들이 있다.


$ rpm -ivh mysql-community-common-8.0.12-1.el7.x86_64.rpm
$ rpm -ivh mysql-community-libs-8.0.12-1.el7.x86_64.rpm
$ rpm -ivh mysql-community-libs-compat-8.0.12-1.el7.x86_64.rpm
$ rpm -ivh mysql-community-client-8.0.12-1.el7.x86_64.rpm
$ rpm -ivh mysql-community-devel-8.0.12-1.el7.x86_64.rpm
$ rpm -ivh mysql-community-embedded-compat-8.0.12-1.el7.x86_64.rpm
$ rpm -ivh mysql-community-minimal-debuginfo-8.0.12-1.el7.x86_64.rpm
$ rpm -ivh mysql-community-server-8.0.12-1.el7.x86_64.rpm


3. 위 순서를 다 진행했다면 mysql 서비스를 시작한다. 

$ service mysqld start


4. 서비스가 실행 되고 나면 root 패스워드를 확인해보자

$ vim /var/log/mysqld.log

   로그 내용을 잘 읽다보면, 2번째에 임시패스워드가 생성되어있다. 이걸 잘 기억할 수 있는곳에 일단 복사해둔다.


5. mysql conf 변경

   mysql 운영에 필요한 설정을 조금 해본다. 필요하면 사용하고 안필요하면 굳이 안해도 된다.

   (validate_password.policy 레벨이 높다면 매우 복잡한 패스워드 규칙을 따라 줘야 한다)


$ vim /etc/my.cnf

[mysqld]
port = 사용할 port 번호 (기본포트를 쓰려거든 삭제)
init_connect=SET NAMES utf8
character-set-server=utf8
collation-server=utf8_general_ci
default-storage-engine=InnoDB
validate_password.policy=LOW
log-bin-trust-function-creators=1

....제일 하단에 이어서...

[innoDB]
innodb_file_per_table=1

[client]
default-character-set=utf8
port = 사용할 port 번호 (기본포트를 쓰려거든 삭제)


6. 서비스를 재 실행 한다.

$ service mysqld restart


7. mysql 로그온 후 패스워드 변경 ( 4번에서 보관해 둔 임시패스워드를 사용한다)

$ mysql -u root -p

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';


이 정도면...mysql 은 사용가능해 진다.

'기억할것들 > SQL' 카테고리의 다른 글

MySQL TimeZone 설정하기.  (0) 2018.12.18
mysql 설치순서  (0) 2018.08.13
MSSQL 메모리 누수 관리  (0) 2018.01.03

MSSQL. 많이 사용하고 있는 DBMS 이다.

MSSQL 을 사용하다 보면 서버 머신의 메모리가 엄청나게 꽉꽉차서 부담스러움을 느낄수가 있다.


왠가 관찰해보니,

MSSQL은 메모리를 점유한 뒤 사용하지 않아도 내주질 않더라.


최고의 방법은 MSSQL이 사용하는 메모리의 최대치를 제한해 버리는것이다

(적어도 OS 가 쓸만큼은 확보해주자...)



메모리 설정은 글랜베리 라는 분이 제안한 걸 참고로 해서 하면 좋다더라


 물리적 메모리 (GB)

SQL 셋팅값 (MB)

 2

1500

 4

3200

 6

4800

 8

6400

 12

10000

 16

13500

 24

21500

 32

29000

 48

44000

 64

60000

 72

68000 

 96

92000 

 128

 124000




1. MS SQL 이니 SSMS 를 실행하여 DBMS 에 접속한다. 그리고 서버 개체를 우클릭하고 속성을 누른다




2. 메모리 항목을 누르고, 최대 서버 메모리 부분을 위 표를 참고하여 조절한다.

    확인을 누른 후 SQL Server 서비스를 재시작 한다.



하고 나면,! 그래도 그나마 서버 메모리가 어느정도 확보가 된다.. 다행이지



'기억할것들 > SQL' 카테고리의 다른 글

MySQL TimeZone 설정하기.  (0) 2018.12.18
mysql 설치순서  (0) 2018.08.13
MSSQL 메모리 누수 관리  (0) 2018.01.03

+ Recent posts