MySQL
먼저! mairadb와 mysql을 같이 설치하면 충돌납니다.
mariadb-server를 설치하고
yum -y install mariadb-server
mairadb를 설치하고
yum -y install mariadb
mariadb를 실행시킨다
systemctl start mariadb
또는
yum -y install mysql
systemctl start mysql

DB SQL문
-- DB 보기
show databases;
-- 만약 sql DB가 존재하면 우선 지운다.
drop database if exist sqlDB;
-- DB 생성
create databse sqlDB;
-- DB 선택
use sqlDB;
데이터베이스의 이름은 대소문자를 구분하여 사용하는 것이 좋다.
테이블 생성
CREATE TABLE DB명.TABLE명 (
컬럼명1 INT PRIMARY KEY AUTO_INCREMENT, -- 기본키 숫자 자동 증가 설정
컬럼명2 CHAR(15) NOT NULL,
컬럼명3 INT,
PRIMARY KEY(컬럼명1),
FOREIGN KEY(컬럼명2) REFERENCES 테이블명(컬럼명) -- 자기자신 외래키 참조
FOREIGN KEY(컬럼명3) REFERENCES 다른테이블명(컬럼명a) -- 다른테이블 외래키 참조
);
-- 테이블이름을 띄어쓰기 하고싶으면 ``를 써야 한다.
create table `TESTSQL`(id InT);
테이블 운영 SQL문
-- 테이블 이름 조회
SHOW TABLES;
-- 테이블 구조 조회
EXPLAIN customer;
-- 테이블 생성
CREATE TABLE 테이블이름 (필드이름1 필드타입1, 필드이름2 필드타입2 ...)
-- 테이블 삭제
DROP TABLE customer;
-- 테이블 수정
ALTER TABLE customer MODIFY name CHAR(20);
-- -> customer 테이블의 name 필드 데이터 타입을 CHAR(20)으로 변경
ALTER TABLE customer CHANGE name fullname CHAR(20);
-- -> customer 테이블의 name 필드 이름을 fullname으로 바꾸고 자릿수는 CHAR(20)으로 지정
ALTER TABLE customer ADD phone VARCHAR(20) AFTER name;
-- -> customer 테이블에서 name 필드 바로 다음에 전화번호를 의미하는 phone 필드를 추가
ALTER TABLE customer DROP age;
custmoer 테이블에서 age 필드를 삭제
--테이블 조회
SELECT * FROM customer;
-- -> cusmoer 테이블에서 모든 행의 모든 필드를 조회
SELECT id, name FROM customer;
-- -> cusmoer 테이블에서 모든 행의 id 필드와 name 필드 값을 조회
SELECT id, name FROM customer WHERE id = 'john';
-- -> cusmoer 테이블에서 id 필드 값이 'john'인 행의 id 필드와 name 필드 값을 조회
SELECT id, name FROM customer WHERE age >= 25;
-- -> custmoer 테이블에서 age 필드 값이 25 이상인 행의 id vlfemdhk name 필드 값을 조회
HEidiSQL - MYSQL GUI 환경
https://www.heidisql.com/download.php?download=installer
Download HeidiSQL
Download HeidiSQL 12.6, released on 05 Nov 2023 Please disable your adblocker and reload the page to enable HeidiSQL downloads. Or, if you can't overcome the temptation, rightclick the anchor and click "copy link" to get it. Compatibility notes HeidiSQL ru
www.heidisql.com

MariaDB [mysql]> GRANT ALL PRIVILEGES ON *.* TO 'dba'@'192.168.56.1' IDENTIFIED BY 'newpass';
Query OK, 0 rows affected (0.00 sec)
grant all privileges on .:
grant: 권한을 부여하는 SQL 명령어입니다.
all privileges: 모든 권한을 의미합니다.
*.*: 모든 데이터베이스의 모든 테이블에 대한 권한을 지정합니다.
to 'dba'@'192.168.56.1':
'dba': 사용자 이름입니다. 여기서는 'dba'로 설정되어 있습니다.
'192.168.56.1': 호스트 주소입니다. '192.168.56.1'로 지정되어 있는데,
이는 특정 IP 주소로부터의 연결만을 허용하겠다는 의미입니다.
만약 모든 호스트로부터의 연결을 허용하려면 '%'로 지정할 수 있습니다.
identified by 'remotepass';:
identified by: 사용자의 비밀번호를 설정하는 부분입니다.
'remotepass': 여기서는 비밀번호를 'remotepass'로 설정하고 있습니다.
systemctl start firewalld
== 정책 리스트를 확인하고
firewall-cmd --list-service
== 정책으로 mysql을 추가해주어야 한다.
firewall-cmd --add-service=mysql
== 정책으로 mysql을 영구적으로 추가
firewall-cmd --add-service=mysql --permanent



Mariadb / mysql 암호 재설정
1. db server를 실행 할 때 user table을 무시하고 실행
>> mysqld_safe --skip-grant-tables &
mysql -u root -p
use mysql;
update user set password=password('mypass') where user='root'
*.mysqladmin -u root shutdown
'DB' 카테고리의 다른 글
| MySql 샘플 DB (0) | 2024.02.01 |
|---|---|
| Table 조인 (1) | 2024.02.01 |
| DB 생성과 정규화 (2) | 2024.01.31 |
| MySQL select문 (0) | 2024.01.30 |
| MariaDB 한글 깨짐 해결 방법 (0) | 2024.01.30 |