서비스 상태를 확인
# systemctl status mariadb.service
● mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor pres et: disabled)
Active: failed (Result: exit-code) since Mon 2019-05-27 18:04:14 KST; 1 day 2 3h ago
Process: 18205 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=ex ited, status=1/FAILURE)
Process: 18204 ExecStart=/usr/bin/mysqld_safe --basedir=/usr (code=exited, sta tus=0/SUCCESS)
Process: 18171 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exite d, status=0/SUCCESS)
Main PID: 18204 (code=exited, status=0/SUCCESS)
May 27 18:04:12 ns1.qnct.cn systemd[1]: Starting MariaDB database server...
May 27 18:04:12 ns1.qnct.cn mariadb-prepare-db-dir[18171]: Database MariaDB i...
May 27 18:04:12 ns1.qnct.cn mariadb-prepare-db-dir[18171]: If this is not the...
May 27 18:04:12 ns1.qnct.cn mysqld_safe[18204]: 190527 18:04:12 mysqld_safe ....
May 27 18:04:12 ns1.qnct.cn mysqld_safe[18204]: 190527 18:04:12 mysqld_safe ...l
May 27 18:04:14 ns1.qnct.cn systemd[1]: mariadb.service: control process exi...1
May 27 18:04:14 ns1.qnct.cn systemd[1]: Failed to start MariaDB database server.
May 27 18:04:14 ns1.qnct.cn systemd[1]: Unit mariadb.service entered failed ....
May 27 18:04:14 ns1.qnct.cn systemd[1]: mariadb.service failed.
Hint: Some lines were ellipsized, use -l to show in full.
해결책
/var/lib/mysql 폴더의 아래 3개 파일을 삭제 후 서비스 시작한다.
-rw-rw---- 1 mysql mysql 18874368 May 29 17:28 ibdata1
-rw-rw---- 1 mysql mysql 5242880 May 29 17:28 ib_logfile0
-rw-rw---- 1 mysql mysql 5242880 May 29 17:28 ib_logfile1
# systemctl status mariadb.service
● mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2019-05-29 17:28:31 KST; 14s ago
Process: 22925 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=0/SUCCESS)
Process: 22891 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
Main PID: 22924 (mysqld_safe)
Tasks: 21
CGroup: /system.slice/mariadb.service
├─22924 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
└─23243 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/lib/mysql/ns1.qnct.cn.err --pid-file=ns1.qnct.cn.pid --port=3306
May 29 17:28:27 ns1.qnct.cn systemd[1]: Starting MariaDB database server...
May 29 17:28:27 ns1.qnct.cn mariadb-prepare-db-dir[22891]: Database MariaDB is probably initialized in /var/lib/mysql already, nothing is done.
May 29 17:28:27 ns1.qnct.cn mariadb-prepare-db-dir[22891]: If this is not the case, make sure the /var/lib/mysql is empty before running mariadb-prepare-db-dir.
May 29 17:28:27 ns1.qnct.cn mysqld_safe[22924]: 190529 17:28:27 mysqld_safe Logging to '/var/lib/mysql/ns1.qnct.cn.err'.
May 29 17:28:27 ns1.qnct.cn mysqld_safe[22924]: 190529 17:28:27 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
May 29 17:28:31 ns1.qnct.cn systemd[1]: Started MariaDB database server.
2019년 5월 29일 수요일
2017년 1월 2일 월요일
MariaDB 명령어
Show Databases; <-- 데이터베이스 목록 조회
Show Tables; <-- 테이블 목록 조회(단 사전에 데이터 베이스로 이동을 먼저 해야함.
use db명; <-- 해당 디비로 이동
show processlist; <-- 연결된 리스터 리스트 조회
kill "id"; <-- 조회 리스너중 해당 ID를 kill 한다.
explain select * from tab; <-- sql에 해당되는 Plan을 조회
show explain for processid; <-- 수행중인 프로세스에 대한 SQL Plan을 본다.
create database test; <-- 데이터베이스 생성
create user 'user'@'localhost' identified by 'password'; <- user 계정에 비번이 password인 유저를 생성
- test디비의 모든 권한을 user에세 부여(% 대신 localhost는 외부접근 차단시 사용)
grant all privileges on test.* to 'user'@'%';
revokr all on test.table from 'user'@'%'; <--해당 테이블에 대한 유저의 권한을 전부 삭제
flush privileges; <-- 권한 설적을 새로 반영한다.
1. Index(참조)
- show index from tablename; <-- 해당 테이블의 인덱스 조회
- Index의 종류
① Primary key : 중복이 발생될 수 없는 필드임.
② index : 일반적인 인덱스이고 중복이 가능(와일드카드 입력시 사용 불가)
③ Unique : Primary key와 동일하게 중복이 안되는 키임
④ fulltext key: 텍스트 필드의 like 검색을 위한 인덱스임(텍스트에 최적화).
⑤ foreign key : 데이터의 무결성을 유지시키는 인덱스임(외부 참조키임)
피드 구독하기:
글 (Atom)