'분류 전체보기'에 해당되는 글 378건

반응형

mysql 은 기본 defult character 셋을 utfmd4로 설정해놓았다.

다만 이모티콘등을 사용하지 않는데 굳이 utfmd4를 써서 자원을 낭비할 필요가 없다.

대부분의 테이블은 utf8 3Byte로 사용하고 있고

 

테이블 생성 character set = utf8 이다.

이렇게 설정할 경우 varchar 255 * 3 = 762 바이트(해더를 뺀 254 *3)가 넘는 데이터 컬럼은 인덱스 생성이 안된다.

 

mysql> ALTER TABLE entry ADD UNIQUE INDEX (name(255));
ERROR
1071 (42000): Specified key was too long; max key length is 762bytes

 

하지만 reg_id등 암호화된 데이터를 갖은 컬럼도 인덱스 생성이 필요할 경우가 있다.

이럴 가능하게 하려면 일단 mysql 의 시스템 환경변수를 확인해야 한다.

 

1) 지원가능여부확인 

 #mysq. 5.7
mysql> show variables like 'innodb_file_format';
+--------------------+-----------+
| Variable_name      | Value     |
+--------------------+-----------+
| innodb_file_format | Barracuda |
+--------------------+-----------+
1 row in set (0.00 sec)
mysql> show variables like 'innodb_file_per_table';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| innodb_file_per_table | ON    |
+-----------------------+-------+
1 row in set (0.00 sec)
mysql> show variables like 'innodb_large_prefix';
+---------------------+-------+
| Variable_name       | Value |
+---------------------+-------+
| innodb_large_prefix | ON    |
+---------------------+-------+
1 row in set (0.00 sec)



#보통 mysql 5.7은 defualt로 전부 가능하게 설정되어있다.
#가장 좋은 성능튜닝은 version up 이다.ㅎㅎ


# mysql 5.5를 확인해본다.
mysql> show variables like 'innodb_file_format';
+--------------------+----------+
| Variable_name      | Value    |
+--------------------+----------+
| innodb_file_format | Antelope |
+--------------------+----------+
1 row in set (0.00 sec)
mysql> show variables like 'innodb_file_per_table';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| innodb_file_per_table | OFF   |
+-----------------------+-------+
1 row in set (0.00 sec)
mysql> show variables like 'innodb_large_prefix';
+---------------------+-------+
| Variable_name       | Value |
+---------------------+-------+
| innodb_large_prefix | OFF   |
+---------------------+-------+
1 row in set (0.00 sec)



#불가능하다. 지원하지 않는다.
#mysql 5.7 버전부터 지원하며 5.6의경우 특정 버전 이상부터 지원하는 것으로 알고 있다.

 

2) 인덱스 생성

1) 임시테이블생성(바라쿠다엔진선택)
아래처럼 임시테이블을 만들고 rename으로 테이블 교체
CREATE TABLE `TMP_LOAD_20180605` (
  ...
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
ROW_FORMAT=DYNAMIC COMMENT='테스트';

 
바라쿠다엔진은 여러 format이 있는데 테이블의 사용 패턴에 따라 다양하게 설정하면 된다. 해당테이블은 update가 빈번히 일어나서 Dynamic으로 설정하였다.
실시간 데이터 연동테이블이라 Rename으로 교체작업을 진행하였다.


3) unique 인덱스 생성
alter table TMP_LOAD_20180605 add unique index IDX_LOAD_20180605_02 (REGID);

 
잘된다...^^ 이제 성능이슈는 한동안.. byebye...
 

 

반응형

'RDB > mysql' 카테고리의 다른 글

mysql shell script 2  (0) 2019.09.09
Mysql shell script 1  (0) 2019.09.09
Xtrabackup 2.49 설치  (0) 2019.09.06
mysql 5.7 binary 설치 3  (0) 2019.08.30
mysql 5.7 binary 설치 2  (0) 2019.08.28
블로그 이미지

dung beetle

취미는 데이터 수집 직업은 MYSQL과 함께 일하는 DBA의 소소한 일상 이야기

,
반응형

MariaDB는 mysql 의 Clone DB로 mysql과 거의 동일하다 10.3.x 버전부터는 Mysql과 다른 길을 걷고 있기 때문에 10.3.x 버전부터는 적용시 검토가 필요하다.

여기서는 stable 버전중에 mysql 5.7과 호환이 가능한 10.2.26 버전을 설치해본다.

 

1,.파일다운로드 페이지

https://downloads.mariadb.org/mariadb/10.2.26/

 

2. 설치 파일 선택(현재 OS는 CentOS 6.10)


mariadb-10.2.26-linux-systemd-x86_64.tar.gz -> CentOS 7 이상 설치x

mariadb-10.2.26-linux-glibc_214-x86_64.tar.gz (requires GLIBC_2.14+)

 [mysql@test-db ~]$ getconf -a | grep libc
GNU_LIBC_VERSION                   glibc 2.12


--> 2.14보다 아래라서 설치x


mariadb-10.2.26-linux-x86_64.tar.gz --> 설치가능O

 

3. Mariadb-10.2.26 설치

-- 초기설정은 Mysql 5.7과 같다 다른부분만 기술한다.

 #권한su

[root@testdb]# /home/mysql/mariadb/bin/mysql_install_db --user=mysql --defaults-file=/etc/my.cnf --basedir=/home/mysql/mariadb --datadir=/home/mysql/mariadb_data

 

#Trouble shooting 1) 뭐냐 왜 안돼냐..my.cnf 돌려쓰기 실패..
# /data/svc/mariadb/bin/mysql_install_db --user=mysql --defaults-file=/etc/my.cnf --basedir=/data/svc/mariadb --datadir=/data/svc/mariadb_data
Installing MariaDB/MySQL system tables in '/data/svc/mariadb_data' ...
2018-05-14 14:44:21 140143191357216 [Warning] 'THREAD_CONCURRENCY' is deprecated and will be removed in a future release.
2018-05-14 14:44:22 140143191357216 [ERROR] /data/svc/mariadb/bin/mysqld: unknown variable 'innodb_additional_mem_pool_size=32M'
2018-05-14 14:44:22 140143191357216 [ERROR] Aborting
# => innodb_additional_mem_pool_size 주석처리함
#확인: innodb_additional_mem_pool_size was deprecated and has been removed, but innodb_file_format etc
https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-102/

By default, until MariaDB 10.1, MariaDB uses the XtraDB storage engine, a performance enhanced fork of the InnoDB storage engine. For compatibility reasons, the system variables still retain their original innodb prefixes, and where the text in this knowledge base refers to InnoDB, it can usually be understood as referring to the XtraDB fork.
From MariaDB 10.2, InnoDB is the default (see Why MariaDB uses InnoDB instead of XtraDB from MariaDB 10.2).
Note that it is possible to use InnoDB as a plugin in MariaDB 10.1 and before instead of XtraDB. See Using InnoDB instead of XtraDB.
=> 10.2.x 버전부터 MariaDB도 XtraDB가 아니라 innodb를 default로 사용한다.

 

#my.cnf 수정후 다시 설치해본다.

[root@testdb]# ./mysql_install_db --user=mysql --defaults-file=/etc/my.cnf --basedir=/home/mysql/mariadb --datadir=/home/mysql/mariadb_data

 

Installing MariaDB/MySQL system tables in '/data/svc/mariadb_data' ...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
To do so, start the server, then issue the following commands:

'/data/svc/mariadb/bin/mysqladmin' -u root password 'new-password'
'/data/svc/mariadb/bin/mysqladmin' -u root -h 172.31.8.62 password 'new-password'

Alternatively you can run:
'/data/svc/mariadb/bin/mysql_secure_installation'

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the MariaDB Knowledgebase at http://mariadb.com/kb or the
MySQL manual for more instructions.

You can start the MariaDB daemon with:
cd '/data/svc/mariadb' ; /data/svc/mariadb/bin/mysqld_safe --datadir='/data/svc/mariadb_data'

You can test the MariaDB daemon with mysql-test-run.pl
cd '/data/svc/mariadb/mysql-test' ; perl mysql-test-run.pl

Please report any problems at http://mariadb.org/jira

The latest information about MariaDB is available at http://mariadb.org/.
You can find additional information about the MySQL part at:
http://dev.mysql.com
Consider joining MariaDB's strong and vibrant community':
https://mariadb.org/get-involved/

 

[root@testdb]#

# 잘된다ㅎㅎ

 

#시작 스크립트 작성
ln -s /home/mysql/mariadb/support-files/mysql.server /home/mysql/mariadb/bin/
ln -s /home/mysql/mariadb/bin/mysql.server /etc/init.d/mysqld

 

[root@testdb]# service mysqld start

Starting MariaDB.180521 16:16:34 mysqld_safe Logging to '/home/mysql/mariadb_logs/error/mysql.err'.
180521 16:16:34 mysqld_safe Starting mysqld daemon with databases from /home/mysql/mariadb_data
..                                                         [  OK  ]

 

#보안설정

[root@testdb]# cd /home/mysql/mariadb/bin

[root@testdb]# ./mysql_secure_installation --basedir=/home/mysql/mariadb

 

print: /home/mysql/mariadb/bin/my_print_defaults

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Enter current password for root (enter for none): [그냥 엔터누른다]
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

 

[root@testdb]# cd /home/mysql/mariadb/bin
[root@testdb]# cp my_print_defaults mysql mysql_config mysqladmin mysqlbinlog mysqlcheck mysqldump mysqlimport mysqlshow mysqlslap /usr/bin
[root@bin]# chown -Rf root.root my_print_defaults mysql mysql_config mysqladmin mysqlbinlog mysqlcheck mysqldump mysqlimport mysqlshow mysqlslap

 

[root@testdb]# service mysqld stop

 

#mysql 계정으로 접속

[mysql@testdb]# service mysqld start

 

#쉘 접속확인

[mysql@testdb]# mysql -uroot -p

 

 

 

반응형
블로그 이미지

dung beetle

취미는 데이터 수집 직업은 MYSQL과 함께 일하는 DBA의 소소한 일상 이야기

,
반응형

무료 라이선스 툴중에 가장 쓰기 편한 것은 dbeaver

현재 7.2.0 버전(2020-08-30)까지 나왔다 이클립스 기반이라 연동하기도 편하고

튜닝 툴로는 잴 편하게 쓰고 있다.

oracle, mysql, mariadb, postgres, mssql 등 ..대부분의 RDB를 연동할 수 있다.

https://dbeaver.io/download/

 

7버전에서 추가된 기능중 편한 것은 테이블의 실제 디스크용량이 표시되는 것이다.

테이블명 (300M) .. 이런식으로 추가되어서 굳이 information 스키마를 조회할 필요가 없어 편하다.

 

#enterprise version과 차이는 상용버전은 nosql DB가 추가되고 oracle 에서 사용할 수 있는 특정기능이 추가된 버전이다.

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

Enterprise Edition features:

 

  • Support of NoSQL databases:
  • Advanced extensions for:
    • Netezza
    • Oracle
    • SQL Server
  • -------------------------------------------------------------------------------------

     

    5.3.5버전이후 잠시 mysql8기반을 default로 해놓고 mysql 5.7 버전 connection 관련 버그있어서 한동안 버전패치를 하지 않았는데 오늘해보니 mysql5.7이나 mariadb 10.2 버전도 제대로 커넥션 되고 oracle 11.2 별 문제 없어서 버전패치하였다.

    엑셀파일 업로드나 그런 것은 Toad를 쓰는 경우가 있긴 하지만 업무시 대부분은 dbeaver를 사용하고 있다.

    반응형

    'INTRO' 카테고리의 다른 글

    DBA의 위치와 역할은?  (0) 2019.08.24
    DB가 뭘까?  (0) 2019.08.13
    블로그 이미지

    dung beetle

    취미는 데이터 수집 직업은 MYSQL과 함께 일하는 DBA의 소소한 일상 이야기

    ,
    반응형

    1-1 Mysql의 논리적 아키텍처

    Mysql의 스토리지 엔진

    -- 테이블 생성시 xx.frm 파일이 만들어지고 파일안에는 테이블이름과 스키마 정의를 저장
    -- show table status like '테이블이름' \G;

    1) MyISAM 엔진
    Full-text 인덱싱, 압축, 공간함수 지원, 트랜잭션 x, 행수준의 잠금지원x
    스토리지 저장파일 : xxxx.MYD, xxxx.MYI
    기능
    /*
    잠금과 동시성
    - 테이블 전체를 잠금
    자동복구
    수동복구 - CHECK TABLE '테이블이름', REPAIR TABLE '테이블이름'
    인덱스기능
    지연된키 쓰기 - DELAY_KEY_WRITE 옵션이 ON으로 설정된 MyISAM 테이블은 쿼리 실행 마지막에 변경된 인덱스 데이터를 디스크에 기록하지 않고,
    대신 메모리 상의 버퍼에 변경 내용을 버퍼링한다. MyISAM 테이블은 버퍼를 정리하거나 테이블을 닫을 때 인덱스 블록을 디스크로 flush 한다.
    이러한 작업은 이용 빈도수가 높고 데이터 변경이 잦은 테이블의 성능을 높여준다. 그러나 서버나 시스템에 충돌이 나면 인덱스가 손상되므로 이를 복구해야한다.
    서버를 다시 시작하기 전 myisamchk을 실행하는 스크립트나 자동복구 옵션을 이용해 이 상황을 처리한다.(DELAY_KEY_WRITE 옵션을 사용하지 않더라도 이렇게 하는 것은
    매우 좋은 생각이다.) DELAY_KEY_WRITE는 전역적으로 또는 개별 테이블 기준으로 설정할 수 있다.
    */
    2) InnoDB 엔진
    트랜잭션 O, MVCC이용 4가지 격리수준을 모두 구현한다. REPEATABLE READ 가 DEfault
    인덱스 압축을 지원x

    3) Memory 엔진
    매우빠름, HEAP 테이블, 재시작시 테이블 구조는 있지만, 데이터는 모두 사라짐
    HASH 인덱스 사용, 테이블 수준의 잠금, TEXT BLOB 지원x
    고정된 레코드만 지원하기 때문에 VARCHAR -> CHAR로 변경해야함(메모리낭비)
    사용예)
    --조회용 매핑용 테이블(우편번호를 주소에 매핑하는 테이블)
    --주기적으로 집계되는 테이블의 결과 캐시용
    --데이터 분석시 중간 결과 저장용

    4) Archive 엔진
    고속삽입과 압축 저장을 위해 최적화된 스토리진 엔진(replication작업 등)
    INSERT와 SELECT 쿼리만 지원, zlib 압축, 인덱스 사용x

    5) CSV 엔진
    쉼표로 구분된 값으로 구성된 파일을 테이블로 처리할 수 있으나 인덱스는 지원x
    데이터 교환하거나 일부 로깅작업에 매우 유용

    6) Federated 엔진
    원격 서버에 테이블 참조
    INSERT 쿼리에 가장 유용, 조인이나 집계쿼리는 성능이슈있음

    7) Blackhole 엔진
    저장 메커니즘이 아에 없음, insert 쿼리는 버림
    복제구성과 감사용 로깅에 유용

    8) NDB 클러스터 엔진
    shared nothing 아무것도 공유하지 않는 형태의 클러스터링 개념
    NDB가 스토리지 엔진 수준이 아닌 Mysql 서버 수준에서 조인을 실행함, NDB의 모든 데이터는 네트워클르 거쳐 나오므로 복잡한 조인은 매우 느리다.
    반면 단일 테이블 조회는 여러 데이터 노드가 결과를 구성하기 때문에 신속하다.

    9) Falcon 엔진
    MVCC

    10) SolidDB 엔진
    MVCC, InnoDB와 유사함

    11) PBXT(Primebase XT) 엔진
    트랜젝션 커밋의 오버헤드를 최대한 줄이기 위해 고안, 좀더 확인필요

    12) Maria 엔진
    MVCC

     

    반응형

    '쇠똥굴리기(BOOK) > Mysql 성능최적화' 카테고리의 다른 글

    실행계획(explain) 사용  (2) 2019.09.25
    로컬 호스트 전용 연결  (0) 2019.09.17
    운영체제 보안  (0) 2019.09.10
    localhost와 127.0.0.1로 연결 및 차이점  (0) 2019.09.09
    INTRO  (0) 2019.09.04
    블로그 이미지

    dung beetle

    취미는 데이터 수집 직업은 MYSQL과 함께 일하는 DBA의 소소한 일상 이야기

    ,
    반응형

    mysql 성능관련해서 심화과정을 공부할 수 있는 책으로
    mysql high performance mysql의 번역본인데 현재 절판되어서 시중에서 구할 수는 없다. 원서는 3쇄 4쇄가 나오는데.. 번역본은 아직 소식이 없다..

     

    아직 공부중이며 Mysql sale out를 고려할 때 쯤엔 한번은 꼭 봐야할 책이라 생각한다.

    반응형

    '쇠똥굴리기(BOOK) > Mysql 성능최적화' 카테고리의 다른 글

    실행계획(explain) 사용  (2) 2019.09.25
    로컬 호스트 전용 연결  (0) 2019.09.17
    운영체제 보안  (0) 2019.09.10
    localhost와 127.0.0.1로 연결 및 차이점  (0) 2019.09.09
    1.Mysql 아키텍처  (0) 2019.09.04
    블로그 이미지

    dung beetle

    취미는 데이터 수집 직업은 MYSQL과 함께 일하는 DBA의 소소한 일상 이야기

    ,
    반응형

    Mysql Bible

    반응형
    블로그 이미지

    dung beetle

    취미는 데이터 수집 직업은 MYSQL과 함께 일하는 DBA의 소소한 일상 이야기

    ,
    반응형

    1.my.cnf 설정

     

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

     

     cp /usr/local/mysql/support-files/my-innodb-heavy-4G.cnf /etc/my.cnf

     

    /etc/my-innodb-heavy-4G.cnf

    my-innodb-heavy-4G.cnf

     

    1-2) 기존 쓰는 my.cnf가 있을 때(my.cnf 파일만 가져와서 복사)

     cp -rp /home/mysql/my.cnf /etc/my.cnf

     

    2. mysql 설치

    #su 권한 

    [root@~]# /home/mysql/mysqldb_bin/mysqld --defaults-file=/etc/my.cnf --initialize-insecure --user=mysql

     

    #시작 스크립트 등록
    [root@~]# cp -rp /home/mysql/mysqldb_bin/support-files/mysql.server ../bin
    [root@~]# ln -s /home/mysql/mysqldb_bin/bin/mysql.server /etc/init.d/mysqld

     

    #DB server 시작

    [root@~]# service mysqld start
    Starting MySQL...                                          [  OK  ]

     

    #Mysql 보안설정

    [root@~]# cd /home/mysql/mysqldb_bin/bin
    [root@~]# ./mysql_secure_installation --basedir=/home/mysql/mysqldb_bin --socket=/tmp/mysql.sock

     

    ...
    패스워드 입력 후
    Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
    By default, a MySQL installation has an anonymous user,
    allowing anyone to log into MySQL without having to have
    a user account created for them. This is intended only for
    testing, and to make the installation go a bit smoother.
    You should remove them before moving into a production
    environment.

    Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
    Success.


    Normally, root should only be allowed to connect from
    'localhost'. This ensures that someone cannot guess at
    the root password from the network.

    Disallow root login remotely? (Press y|Y for Yes, any other key for No) : N

    ... skipping.

    By default, MySQL comes with a database named 'test' that
    anyone can access. This is also intended only for testing,
    and should be removed before moving into a production
    environment.

    Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
    - Dropping test database...
    Success.

    - Removing privileges on test database...
    Success.

    Reloading the privilege tables will ensure that all changes
    made so far will take effect immediately.

    Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
    Success..

     

    #path 잡기귀찮으면 자주쓰는 것 때려넣는다.

    [root@~]# cd /home/mysql/mysqldb_bin/bin

    [root@~]# cp my_print_defaults mysql mysql_config mysqladmin mysqlbinlog mysqlcheck mysqldump mysqlimport mysqlshow mysqlslap /usr/bin

    [root@~]#cd /usr/bin
    [root@~]# chown -Rf root.root my_print_defaults mysql mysql_config mysqladmin mysqlbinlog mysqlcheck mysqldump mysqlimport mysqlshow mysqlslap

     

    [root@~]# service mysqld stop

     

    #mysql계정으로 접속

    [mysql@~]$ service mysqld start
    Starting MySQL...                                          [  OK  ]

     

    3. mysql shell 접속

     [mysql@~]$ mysql -uroot -p

    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 14
    Server version: 5.7.27-log MySQL Community Server (GPL)

    Copyright (c) 2000, 2017, 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>

     

     

     

    반응형

    'RDB > mysql' 카테고리의 다른 글

    mysql shell script 2  (0) 2019.09.09
    Mysql shell script 1  (0) 2019.09.09
    Xtrabackup 2.49 설치  (0) 2019.09.06
    varchar 255가 넘는 인덱스 추가  (0) 2019.09.05
    mysql 5.7 binary 설치 2  (0) 2019.08.28
    블로그 이미지

    dung beetle

    취미는 데이터 수집 직업은 MYSQL과 함께 일하는 DBA의 소소한 일상 이야기

    ,
    반응형

    1. 설치 파일 다운로드
    - mysql 홈페이지에 가서 다운로드 받으면 된다.
      당연히 오라클사에서 인수했기 때문에 이제는 오라클 계정이 있어야 다운로드가 가능하다.
      mysql 도 오라클처럼 standard, enterprise 버전이 있다.
      무료 standard 버전은 여기서는 communtiy 라고 한다.
      장비에 설치된 OS에 맞게 다운로드 한다.
      현재 유휴장비의 OS는 CentOS 6.10 64bit이므로 맞춰 다운받는다.
      GILBC 버전체크도 중요하다. 2.12 인지 확인하고 2.14이상일 경우 2.12버전을 설치해도 상관없지만
      C++ 라이브러리 함수의 더 많은 사용(?) 을 하려면 버전에 맞는 binary 파일을 다운 받는 것이 좋다.

     

    다운로드 경로: https://dev.mysql.com/downloads/mysql/5.7.html

     

     

     

    2. 파일 전송

    - 아마 21 FTP포트는 못 쓸 것이다. 22포트를 쓸 수 있는 winscp나 그런 걸 통해서 장비로 파일 전송한다.

     

    3. mysql 계정생성

    #su 권한 --mysql계정으로 쉘 접속이 필요할 경우(replication 관리필요시)

    groupadd mysql

    useradd -d /home/mysql -s /bin/bash mysql

     

    #su 권한 --쉘 접속 필요 x

    groupadd mysql

    useradd -d /home/mysql -s /sbin/nologin mysql

     

    4. mysql 디렉토리 경로설정

    mkdir {backup,mysqldb_bin,mysqldb_data,mysqldb_logs}

    cd /home/mysql/mysqldb_logs

    mkdir {binary,error,relay,slow}

     

    5. 압축해제

    #su 권한

    cd /home/mysql/backup

    tar -zvxf mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz

    ..

    mv mysql-5.7.27 /home/mysql/mysqldb_bin

    chown -Rf mysql:mysql /home/mysql

    반응형

    'RDB > mysql' 카테고리의 다른 글

    mysql shell script 2  (0) 2019.09.09
    Mysql shell script 1  (0) 2019.09.09
    Xtrabackup 2.49 설치  (0) 2019.09.06
    varchar 255가 넘는 인덱스 추가  (0) 2019.09.05
    mysql 5.7 binary 설치 3  (0) 2019.08.30
    블로그 이미지

    dung beetle

    취미는 데이터 수집 직업은 MYSQL과 함께 일하는 DBA의 소소한 일상 이야기

    ,