systemctl enable mariadb --now
systemctl status mariadb | grep Active
mysql_secure_installation
mysql -u root -p1234
create database mytest;
use mytest;
MariaDB [mytest]> GRANT INSERT,SELECT,DELETE,UPDATE,CREATE ON mytest.* TO 'testuser'@'localhost' IDENTIFIED BY '1234';
Query OK, 0 rows affected (0.000 sec)
MariaDB [mytest]> GRANT INSERT,SELECT,DELETE,UPDATE,CREATE ON mytest.* TO 'testuser'@'%' IDENTIFIED BY '1234';
Query OK, 0 rows affected (0.001 sec)
MariaDB [mytest]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.000 sec)
mysql mytest -u testuser -p1234
MariaDB [mytest]> CREATE TABLE employees (
-> empid int not null,
-> lastname varchar(20),
-> firstname varchar(20),
-> salary float,
-> primary key(empid)
-> );
MariaDB [mytest]> INSERT INTO employees VALUES (1,'홍','길동',3300);
Query OK, 1 row affected (0.002 sec)
MariaDB [mytest]> INSERT INTO employees VALUES (2,'김','철수',4300);
Query OK, 1 row affected (0.001 sec)
MariaDB [mytest]> INSERT INTO employees VALUES (3,'박','영희',4500);
Query OK, 1 row affected (0.002 sec)
MariaDB [mytest]> SELECT * FROM employees;
+-------+----------+-----------+--------+
| empid | lastname | firstname | salary |
+-------+----------+-----------+--------+
| 1 | 홍 | 길동 | 3300 |
| 2 | 김 | 철수 | 4300 |
| 3 | 박 | 영희 | 4500 |
+-------+----------+-----------+--------+
3 rows in set (0.000 sec)
Quiz
mkdir로 usr/test 만들고, 해당 디렉토리를 PATH 변수에 포함시키기
다른 환경으로 로그인하면 초기 시스템 환경변수로 변경됨
[root@sooyeon 0728]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@sooyeon 0728]# mkdir /usr/test
[root@sooyeon 0728]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@sooyeon 0728]# PATH=$PATH:/usr/test
[root@sooyeon 0728]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/test
#!/bin/bash
if [ $# -ne 4 ]
then
echo "잘못된 입력 발견 : (사용법) -> ./test2.sh 번호 성 이름 연봉"
else
# 정상입력인 경우
mysql mytest -u root -p1234 -e "insert into employees values ($1,'$2','$3',$4)"
#데이터 입력 결과 확인
if [ $? -eq 0 ]
then
echo "데이터 입력 성공"
else
echo "데이터 입력 실패"
fi
fi
[root@sooyeon 0728]# ./test2.sh 5 박 문수 5000
데이터 입력 성공
[root@sooyeon 0728]# mysql mytest -u root -p1234 -e 'select * from employees'
+-------+----------+-----------+--------+
| empid | lastname | firstname | salary |
+-------+----------+-----------+--------+
| 1 | 홍 | 길동 | 3300 |
| 2 | 김 | 철수 | 4300 |
| 3 | 박 | 영희 | 4500 |
| 5 | 박 | 문수 | 5000 |
+-------+----------+-----------+--------+
[root@sooyeon 0728]# ./test2.sh 5 이 둘리 5000
ERROR 1062 (23000) at line 1: Duplicate entry '5' for key 'PRIMARY'
데이터 입력 실패
$RANDOM : 0~32967중 랜덤 생성
# 1~10까지 뽑음
[root@sooyeon 0728]# echo $((RANDOM%10+1))
8
# 100~110까지 뽑음
[root@sooyeon 0728]# echo $((RANDOM%11+100))
101
# 200~300까지 뽑음
[root@sooyeon 0728]# echo $((RANDOM%101+200))
200
사용자 ID는 수동으로 직접 선택하지 말고 RANDOM을 이용하여 10000~20000사이에서 선택하도록 하고 이를 DB로 전달한다.
단, 처음 프로그램이 실행되면 해당 번호가 DB에 존재하는 지 여부를 먼저 확인하고 존재한다면 해당번호를 ID로 하여 DB에 추가
#num=$((RANDOM%10001+10000))
#echo "랜덤넘버는 $num"
[root@sooyeon 0728]# ./test3.sh '김' '길동' 3030
랜덤넘버는 11901
데이터 입력 성공
[root@sooyeon 0728]# mysql mytest -u root -p1234 -e 'select * from employees'
+-------+----------+-----------+--------+
| empid | lastname | firstname | salary |
+-------+----------+-----------+--------+
| 1 | 홍 | 길동 | 3300 |
| 2 | 김 | 철수 | 4300 |
| 3 | 박 | 영희 | 4500 |
| 4 | 홍 | 길동 | 35000 |
| 5 | 박 | 문수 | 5000 |
| 10829 | 홍 | 철수 | 45000 |
| 11901 | 김 | 길동 | 3030 |
| 13562 | 홍 | 길동 | 35000 |
+-------+----------+-----------+--------+
[root@sooyeon 0728]# cat test3.sh
#!/bin/bash
num=$((RANDOM%10001+10000))
echo "랜덤넘버는 $num"
if [ $# -ne 3 ]
then
echo "잘못된 입력 발견 : (사용법) -> ./test2.sh 번호 성 이름 연봉"
else
mysql mytest -u root -p1234 -e "select empid from employees where empid=$num" > EOF
if [ $? -eq 0 ]
then
echo "데이터 입력 성공"
mysql mytest -u root -p1234 -e "insert into employees values ($num,'$1','$2',$3)"
else
echo "데이터 입력 실패"
fi
fi
aws에서 인스턴스 생성 시 : region(a,b,c), zone(a) 리전선택시 CPU 전체 상태를 보고