본문 바로가기

서버인프라/데이터베이스21

PostgreSQL 튜너 https://pgtune.leopard.in.ua/ PGTune - calculate configuration for PostgreSQL based on the maximum performance for a given hardware configuration pgtune.leopard.in.ua 재밋네 postgresql Mysql만사용하다가 postgresql을 조금씩 사용해 보려합니다. 하지만 막상 손데고 어디서 부터 컨피그 수정 할지 모를때가 있습니다. 위 사이트를 이용해 보세요 너무 잘 만들어 놨네요, 심플하게 사용하기 쉽게 만들었다고 생각합니다. 2024. 1. 25.
Mariadb Select 조금더 심도 있게~ https://mariadb.com/kb/en/getting-data-from-mariadb/ Getting Data from MariaDB Extensive tutorial on using the SELECT statement. mariadb.com 오늘은 Getting Data From MariaDB 를 진행해 보겠습니다. 우선 테스를 위해 데이터 삽입을 해야 할거 같습니다. 아래와 같이 몇개 더 넣어보죠~ INSERT INTO books (isbn, title, author_id, publisher_id, year_pub, description) VALUES ('0553213695', 'Sample Title 1', 1, NULL, '2000', 'Description for Sample Title.. 2023. 11. 6.
데이터 변경 그리고 삭제 이번에는 데이터 변경과 삭제에 대해서 다뤄보려 합니다. https://mariadb.com/kb/en/mariadb-basics/ MariaDB Basics Basic article on using MariaDB. mariadb.com 여기에 있는 내용으로 진행 할겁니다. Changing & Deleting Data 해당부분 부터 확인 하시면 됩니다. 현재 데이터의 상황은 위와 같습니다. 그리고 아래와 같이 isbn 의 값이 '0805210644' 이면 title을 'Amerika'로 바꾸라는 것입니다. UPDATE books SET title = 'Amerika' WHERE isbn = '0805210644'; 업데이트문이 잘 실행 되었고, 변경 된 값을 확인 할 수 있습니다. 그럼 이번에는 데이터를 .. 2023. 10. 31.
MariaDB Basic 지난 시간 우린 업데이트 하는 방법까지 해봤습니다. https://babo-it.tistory.com/196 update를 해보자 https://mariadb.com/kb/en/a-mariadb-primer/ A MariaDB Primer A 10-minute primer on using MariaDB. mariadb.com 오늘도 위 링크에서 똑같이 해볼 것 입니다. 우선 지난 시간에 해봤던 select 를 한번 다시 확인해 볼께요. MariaDB babo-it.tistory.com 이번에는 다시 처음부터 새로운 데이터 베이스를 만들고 다시 테이블을 생성해서 데이터를 넣고 Join Select를 해보려 합니다. 데이터 베이스 생성 CREATE DATABASE bookstore; USE bookstore.. 2023. 10. 25.
update를 해보자 https://mariadb.com/kb/en/a-mariadb-primer/ A MariaDB Primer A 10-minute primer on using MariaDB. mariadb.com 오늘도 위 링크에서 똑같이 해볼 것 입니다. 우선 지난 시간에 해봤던 select 를 한번 다시 확인해 볼께요. MariaDB [test]> select * from books; +--------+----------------------------+----------+----------+ | BookID | Title | SeriesID | AuthorID | +--------+----------------------------+----------+----------+ | 1 | The Fellowship of.. 2023. 10. 22.
데이터를 확인하고 변경해보자~ 아직우린 계속 같은 코스의 내용을 공부하는 중이다. https://mariadb.com/kb/en/a-mariadb-primer/ A MariaDB Primer A 10-minute primer on using MariaDB. mariadb.com 이 전시간에 우린 테이블 구조를 확인했고. https://babo-it.tistory.com/191 테이블 구조를 확인해 보자 오늘은 생성한 table의 구조를 확인해 보려합니다. 이전에 우린 3개의 테이블을 생성했습니다. MariaDB [test]> show tables; +----------------+ | Tables_in_test | +----------------+ | authors | | books | | series | +------------ b.. 2023. 10. 22.
테이블 구조를 확인해 보자 오늘은 생성한 table의 구조를 확인해 보려합니다. 이전에 우린 3개의 테이블을 생성했습니다. MariaDB [test]> show tables; +----------------+ | Tables_in_test | +----------------+ | authors | | books | | series | +----------------+ 위와 같은 테이블 입니다. 그 중 우린 books의 내용을 확인해 볼 것입니다. https://mariadb.com/kb/en/a-mariadb-primer/ A MariaDB Primer A 10-minute primer on using MariaDB. mariadb.com 오늘도 위 링크에서 벗어나질 않고 있습니다. 오로지 우린.. mariadb에서의 자료로만 공.. 2023. 10. 20.
이제 Insert 해볼까? https://mariadb.com/kb/en/a-mariadb-primer/ A MariaDB Primer A 10-minute primer on using MariaDB. mariadb.com 요기의 내용을 참고하여 우리는 table을 생성하였고, 이제 만들어진 table에 데이터를 넣어보려 합니다. INSERT INTO books (Title,SeriesID,AuthorID) VALUES('The Fellowship of the Ring',1,1), ('The Two Towers',1,1), ('The Return of the King',1,1), ('The Sum of All Men',2,2), ('Brotherhood of the Wolf',2,2), ('Wizardborn',2,2), ('Th.. 2023. 10. 17.
Mariadb Table생성 Mariadb Table생성을 진행해 보자 이것 역시도 아래와 같이 해당 링크에 잘 표현되어 있다. https://mariadb.com/kb/en/a-mariadb-primer/ A MariaDB Primer A 10-minute primer on using MariaDB. mariadb.com 3개의 테이블을 생성해 볼 것이다. 그리고 test라는 데이터베이스 안에 생성 할것이다. USE test; CREATE TABLE IF NOT EXISTS books ( BookID INT NOT NULL PRIMARY KEY AUTO_INCREMENT, Title VARCHAR(100) NOT NULL, SeriesID INT, AuthorID INT); 위와 같이 'books'라는 테이블 하나를 생성했다. 여.. 2023. 10. 16.
Mariadb Create DataBase 오늘은 간단한 내용을 살펴 보려 한다. 한번도 DB를 이렇게 공부해봐야 겠다고 생각한 적이 없는데 요즘들어서 오픈소스의 최대 참고서는 Document라고 생각이 되고 있다. 사실 우리가 Document를 보지 않는 이유 중 가장 큰 이유는 영어일거고 두번째는 내가 원하는 내용을 찾기 힘들어서다. 부분적으로 1가지만 원하는데 그게 되지 않다보니 사실 Document를 등한시 하긴 한다. 하지만 우리가 예전부터 하던 얘기중 모든 것은 교과서에 있다. 이거랑 별반 다르지 않다. 응용하는 문제는 다른 문제로 생각하면 된다. 가장 기본이 되는 MariaDB의 Create Database에 대해 다시한번 알아보자. 여러분은 CREATE DATABASE IF NOT EXISTS test; CREATE DATABASE.. 2023. 10. 10.
MariaDB, MySQL 사용자 관리 사용자 권한 조회 # 사용자 별 권한 확인 mysql > SHOW GRANTS FOR '사용자계정'@'호스트'; # 접속된 계정 권한 확인 mysql > SHOW GRANTS FOR CURRENT_USER; 사용자 권한 추가 권한종류 - ALL PRIVILEGES : 모든 권한 추가 - SELECT, INSERT, UPDATE, DELETE: 권한의 일부분 추가 적용 DB 및 테이블 - DB이름.테이블이름 : *.*시 모든 DB의 모든 TABLE권한 부여 WITH GRANT OPTION - with grant option : GRANT를 사용할 수 있는 권한 # 일반 사용 계정 mysql > GRANT ALL PRIVILEGES ON DB이름.테이블이름 TO '아이디'@'호스트' IDENTIFIED BY.. 2023. 1. 3.
MariaDB SlowQuery Log 설정 늘 mariadb slowquery 설정을 하다가 변경된거 같아서 기록을 남기게 되었습니다. 예전에는 ON, OFF로 컨피그에 넣었던거 같은데 찾아보니 enable_slow_query_log 를 추가 하는 방식도 있더라구요, 근데 예전처럼 아래와 같이 추가 하여도 잘 되긴 합니다. slow_query_log = 1 enable_slow_query_log slow_query_log_file = /var/log/mysql/mariadb-slow.log long_query_time = 3 log_slow_verbosity = query_plan,explain log-queries-not-using-indexes systemctl restart mariadb 이제 마리아DB 재시작을 해주고 설정이 잘 되었는지 .. 2022. 12. 6.
Mysql 과 Mariadb dump 복구 성능 테스트 이번에는 Mysql 8.0 과 Mariadb 10.6의 sqldump파일 복구 성능 테스트를 진행해 보려 합니다. 한 일주일 정도 데이터를 준비 했습니다. 5개 컬럼 짜리 999999999 라인의 46G member_table3.sql 데이터를 넣어보려 합니다. 조건은 동일하게 하며 pkg 설치 하여 어떠한 컨피그 수정 없이 진행해 보려 합니다. Compute H/W 사양 ( ProxMox 가상화) CPU : 2Socket 4Core 로 진행 MEM : 16G HDD : 200GB OS : Ubuntu 20.04 focal MariaDB [ted]> desc member_table3; +---------+-------------+------+-----+---------+----------------+ |.. 2022. 11. 27.
Index는 얼마나 Query성능을 향상 시킬까??? 단순하게 쿼리 성능테스트를 해보기로 했다 Index설정 할 때와 하지 않고 할때. 우리가 db를 설계할때 왜 많은 고민을 하며 해야 하는지를 알 수 있을 것이다. 해당 조건은 아래와 같다. 조건 쿼리는 아래와 같이 할 예정이다. primary key로 seq가 되어 있기에 속도로 보면 바로바로 튀어 나온다. 하지만 index 걸려있지 않는 mb_id를 where절에 넣는다면 얘기가 달라질 것이다. MariaDB [ted]> select * from member_table where seq=2341; 그럼 이제 mb_id로 쿼리를 해보겠다. MariaDB [ted]> select * from member_table where mb_id="ted2341"; 그럼 이제 mb_id index를 설정하고 다시 한.. 2022. 11. 25.
한 가지 트릭으로 MariaDB를 30배 더 빠르게 만들 수 있습니다! MariaDB 커뮤니티에 너무도 자극적인 글 하나가 올라왔습니다. 글 작가 앤드류 허칭스 네, 약간의 클릭 미끼 제목이지만 이 경우 하나의 SQL 명령을 실행하면 커뮤니티 사용자의 성능이 그만큼 향상되었습니다. 도움이 될 수도 있습니다. 약간 미끼를 투척했다고 직접 얘기 했고 내용은 이러했습니다. 사용자가 관련된 모든 테이블에서 이 명령을 실행하도록 제안했습니다. ANALYZE TABLE tbl PERSISTENT FOR ALL; 일단 사용자가 이것을 하면 그들은 그것에 의해 날아갔습니다. 쿼리가 갑자기 실행 시간이 0.05초로 줄었습니다. 이것이 효과가 있었던 이유 속도가 느린 이유는 옵티마이저가 데이터 자체에 대해 아무것도 몰랐기 때문입니다. 데이터의 확산에 대한 가정을 해야 했으며 불행히도 이러한 .. 2022. 10. 31.
MariaDB update 기존에 10.5를 쓰고 있었는데 지난 시간에 공유한 내용과 같이 10.6버전이 가장 EOL이 길어서 업데이트 하여 사용 하기로 했다. 업데이트 방법은 정말 간단한데 다운 타이밍이 생기므로 유념하고 작업하시길 바란다. 그리고 yum으로 설치 한 것이므로 별로 어려울 것 없다. 다만 여기서 가장 유념해야 할 상황은 다운타이밍이 생긴다는 것이다. 그것으로 인하여 만약 서비스 장비라면 고려해야 할 상황이 많이 발생한다. 참고 하시고 작업 하시길 바란다. 사전작업 Mariadb 10.6 repository 설정 다음은 CentOS용 사용자 지정 MariaDB YUM 저장소 항목입니다. 아래의 파일에 복사하여 붙여넣습니다 (파일 이름 또는 이와 유사한 /etc/yum.repos.d이름을 지정하는 것이 좋습니다 ) .. 2022. 10. 30.
lock tables 오류 mysqldump시 아래와 같은 오류를 만나곤 합니다. 이럴때 --lock-all-table 을 추가하여 mysqldump를 해주시면 좋은 결과를 얻을 수도 있습니다. mysqldump: got errer : 1146 : table 테이블명 doesn't exist when using LOCK TABLES mysqldump -u root -p --lock-all-table --all-databases > all.sql 2022. 10. 27.
MariaDB dump Backup 오늘은 MariaDB dump backup에 대해서 몇가지 방법을 설명 하려 합니다. 우선 employees database가 있다는 가정 하에 진행 하도록 하겠습니다. 모든 데이터를 덤프 하는 방법 mysqldump -u root -p --all-databases > all_dump.sql 특정 Database 덤프 employees databases를 덤프 mysqldump -u root -p employees > employees.sql 특정 Database 의 프로시져를 포함하여 덤프 mysqldump -u root -p --routines employees > employees.sql 특정 Database 의 trigger를 포함하여 덤프 mysqldump -u root -p --triggers.. 2022. 10. 27.