개발

리눅스 mariaDB(10.1.43) 설치하기

snow-line 2021. 7. 6. 19:38
반응형

리눅스에 mariaDB를 설치할 때 버전마다 설치 방법이 다릅니다.

이 포스팅을 참고하면서 mariaDB를 설치할 때 꼭 mariaDB 10.1.43(https://downloads.mariadb.org/mariadb/10.1.43/) 버전을 다운받아서 진행해야 문제가 발생하지 않습니다.

 

* 리눅스는 centos 7 버전에 설치를 진행합니다.

1. mariaDB 다운로드

 - mariaDB 사이트에서 (https://downloads.mariadb.org/mariadb/10.1.43/) tar.gz 파일로 10.1.43 버전을 다운받습니다.

 - 다운받을 파일을 리눅스 서버의 /usr/local/src 폴더에 업로드 합니다.

2. 설치에 필요한 패키지를 설치합니다.

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

3. 설치를 진행합니다.

 - mariaDB를 다운로드 한 폴더로 이동합니다.

cd /usr/local/src

- 압축을 해제합니다.

tar -zxvf mariadb-10.1.43.tar.gz

- 압축을 해제한 폴더로 이동합니다.

cd mariadb-10.1.43

- cmake를 진행합니다.

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb \
-DMYSQL_DATADIR=/usr/local/mariadb/data \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DMYSQL_UNIX_ADDR=/usr/local/mariadb/mariadb.socket \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATEDX_STORAGE_ENGINE=1 \
-DWITH_ARIA_STORAGE_ENGINE=1 \
-DWITH_XTRADB_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=bundled \
-DWITH_ZLIB=system \
-DMYSQL_TCP_PORT=3306

make

make install

make clean

 - 폴더를 이동 한 후 mariaDB 계정을 생성하고 설정 파일을 복사합니다.

cd /usr/local

groupadd mysql

useradd -g mysql mysql

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

chown -R mysql:mysql /usr/local/mariadb/

cd /usr/local/mariadb/support-files/

cp mysql.server /etc/init.d/mariadb

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

4. mariaDB 설정을 변경합니다.

vi /etc/my.cnf

thread_concurrency = 8 밑에 max_connections = 3000 추가

character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

vi /etc/init.d/mariadb

basedir=/usr/local/mariadb

datadir=/usr/local/mariadb/data

5. 프로파일에 값을 추가합니다.

vi /etc/profile

export MARIA_DB_HONE=/usr/local/mariadb
export PATH=$PATH:$MARIA_DB_HOME/bin

source /etc/profile

6. mariaDB를 실행합니다.

service mariadb start

7. mysql 계정으로 로그인합니다.

su - mysql

8. mariaDB에 새로운 사용자를 생성합니다.

/usr/local/mysql/bin/mysql -u root -p

use mysql; 

insert into user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Create_user_priv, ssl_type, ssl_cipher, x509_issuer, x509_subject, max_questions, max_updates, max_connections, max_user_connections ) values ( '%', 'test', password('test'), 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', 0, 0, 0, 0); 

FLUSH PRIVILEGES;

9. root 계정에 대한 익명 접근 권한을 삭제합니다.

# /usr/local/mariadb/bin/mysql -u root -p
# Enter password:
# mysql> USE mysql; 
# mysql> delete from user where password = ""; 
# mysql> exit
# /usr/local/mariadb/bin/mysqladmin -u root -p reload 
# Enter password:

mariaDB 설치가 끝났습니다.

 

생성한 계정(test)으로 접속해서 정상적으로 mariaDB 설치가 완료되었는지 확인하면 됩니다.

 

 

반응형