현재 /home/database/mariadb 라는 절대 경로에 mariadb 10.3을 설치를 한다는 것을 배경으로 정리한다.
만약 yum 패키지를 이용해 mariadb를 설치했다면 아래 명령어를 따라 관련된 파일을 전부 삭제해준다.
yum remove mariadb* mariadb-server rm -rf /etc/my.cnf rm -rf /var/log/mysql rm -rf /var/lib/mysql 해당 경로로 들어가서 mariadb, mysql과 비슷한 느낌의 파일이 있다면 전부 삭제해준다. |
1. maria db tar gz 다운 받기
wget -O mariadb.tar.gz https://downloads.mariadb.com/MariaDB/mariadb-10.3.30/bintar-linux-systemd-x86_64/mariadb-10.3.30-linux-systemd-x86_64.tar.gz |
-O 옵션을 쓰지 않으면 .index 파일로 받아지기 때문에 -O mariadb.tar.gz를 입력해준다.
2. 압축 풀기
tar -zxvf mariadb-10.3.30-linux-systemd-x86_64.tar.gz[파일이름]
압축을 풀면 파일이름과 동일한 폴더가 생성이 되는데, mv 커맨드를 사용해서 적당한 이름의 폴더로 옮겨준다. 마리아db니까 mariadb라는 이름의 폴더를 만드는게 편하다.
3. 심볼릭 링크 생성
ln -s mariadb mysql
접근성을 위해 심볼릭 링크를 생성한다.
4. 환경변수 등록
sudo nano /etc/profile
맨 아래에 아래 내용을 추가해준다.
export MARIADB_HOME=/home/database/mariadb export PATH=$PATH:$MARIADB_HOME/bin:. |
5. 변경된 환경변수 등록
source /etc/profile
6. my.cnf 생성 혹은 수정
nano /etc/my.cnf
내용은 아래와 같이 입력해준다.
[mysqld] character-set-server=utf8mb4 collation-server=utf8mb4_bin # 쌍따음표 사용 sql_mode="ANSI_QUOTES,ONLY_FULL_GROUP_BY,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION" # 대소문자 구분 lower_case_table_names=1 # commit read option autocommit=0 # 데이터 저장경로 basedir=/home/database/mariadb datadir=/home/database/mariadb/data # 포트 변경 port = 3306 |
7. 데이터베이스 폴더 권한 주기
groupadd mysql
useradd -g mysql mysql
chown -R mysql:mysql mariadb
mysql 계정을 만들어서 주는 방법도 있고, 다른 계정을 만들어도 무관하다.
ls -l 또는 ll로 확인하기
해당 데이터베이스 폴더에 root 계정이 아닌 다른 사용자 계정으로 권한이 변경되었다면 됐다.
7. mysql_install_db 실행
$MARIADB_HOME/scripts/mysql_install_db --defaults-file=/etc/my.cnf --user=mysql
/etc/my.cnf를 기준으로 mysql이 설치가 됩니다. 계정을 user가 아닌 다른 계정으로 변경했다면 다른 계정으로 변경해서 입력하면 된다.
8. 자동적으로 mariadb가 실행될 수 있도록 수정
cp -rfp $MARIADB_HOME/support-script/mysql.server /etc/init.d/mariadb
chkconfig –add mariadb
chkconfig –level 2345 mariadb on
-> 위 명령어가 작동하지 않을 경우, cp $MARIADB_HOME/support-files/mysql.server /etc/init.d/mysql 으로 입력하고, chkconfig mysql을 입력한다.
9. 서버 실행/정지
service mariadb start
service mariadb stop
* 8번에 mysql이라는 이름을 사용할 경우 service mysql start/stop 을 사용해준다.
10. root 비밀번호 설정
서버가 시작이 되었다면 아래 명령어로 루트 계정을 수정/실행해본다. [] 괄호는 빼도 됨.
mysqladmin -u root password [설정할 비번]
mysql -uroot -p[설정한 비번]
'Database > RDBMS' 카테고리의 다른 글
[Mysql] 위도 경도 반경 구하기 (0) | 2022.07.15 |
---|---|
[MySQL] 파티셔닝 자동화 프로시저 코드 (0) | 2021.04.28 |
[MySQL] 파티셔닝 개념 및 사용법 (2) | 2021.04.28 |
[오류해결] MySQL Read Only Table (0) | 2020.08.06 |
[오류해결] MariaDB errno: 150 "Foreign key constraint is incorrectly formed" (0) | 2020.08.06 |