SW/APM
우분투(Ubuntu) - MariaDB 컴파일 설치 (mysql)
bigju
2021. 10. 6. 16:00
설치 환경 Ubuntu 18.04
1. 필요 라이브러리 설치
apt-get update
apt-get install -y gcc g++ libncurses5-dev libxml2-dev openssl libssl-dev curl libcurl4-openssl-dev libjpeg-dev libpng-dev libfreetype6-dev libsasl2-dev autoconf libncurses5-dev
apt-get install cmake -y
2. 사용자 계정 설정
useradd -g mysql -s / bin / bash -m mysql groupadd mysql
3. 설치
cd /usr/local/src
wget https://downloads.mariadb.org/interstitial/mariadb-10.4.6/source/mariadb-10.4.6.tar.gz/from/http%3A//ftp.kaist.ac.kr/mariadb/
tar xfz mariadb-10.4.6.tar.gz
4. 컴파일 ( 오래 걸린다.)
cd mariadb-10.4.6
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mariadb \
-DMYSQL_DATADIR=/usr/local/mariadb/data \
-DMYSQL_UNIX_ADDR=/usr/local/mariadb/mysql.sock \
-DSYSCONFDIR=/usr/local/mariadb \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_USER=mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
ake && make install //오래 걸림
5. 설정 수정
cd /usr/local/mysql
./bin/mysql_install_db
--user=mysql
--datadir=/usr/local/mysql/data
* 내용 입력
vi /etc/my.cnf
[mysqld]
# port=3306
init_connect=SET collation_connection = utf8_general_ci
init_connect=SET NAMES utf8
character-set-server=utf8
collation-server=utf8_general_ci
# table_cache=1024
max_connections=2048
max_user_connections=500
max_connect_errors=10000
wait_timeout=300
query_cache_type = 1
query_cache_size = 128M
query_cache_limit = 5M
slow_query_log
long_query_time=3
max_allowed_packet=16M
sort_buffer_size = 2M
# skip-innodb
skip-name-resolve
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8
* 관리를 위해 복사
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
vi /etc/init.d/mysqld 찾아서 수정
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data update-rc.d mysqld defaults
service mysqld start
service mysqld status (확인창에서 나오려면 q를 누르면됨)
service mysqld stop
6.실행
./bin/mysql -u root -p ( cd /usr/local/mysql 에서 실행할것_)
!!! 그래도 접속이 불가하다면 패스워드 초기화 진행
세션 2개가 필요 하며 세션 1 진행 후 세션 2 에서 진행
1. 세션 1
cd /usr/local/mysql ./bin/mysqld_safe --skip-grant-tables &
세션 2
./bin/mysql -u root -p use mysql; update user set authentication_string = password('원하는 비밀번호') where user = 'root'; flush privileges;