오늘은 mysql부터 시작을 했다.
우분투에 들어가 확인
sudo service mysql status
# 나올 때 q
그 후에 net-tools를 설치
sudo apt install net-tools
net-tools 는 Linux환경에서 네트워크 관련 유틸리티이다.
네트워크 구성 및 모니터링을 위한 다양한 도구가 있다.
예) ifconfig와 같이 네트워크 인터페이스 정보를 표시하는데 사용된다.
# ip 확인하기
ip addr
ifconfig
ifconfig 사용 예)
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.120.151.1 netmask 255.255.240.0 broadcast 172.120.163.255
inet6 fe80::215:5dff:feec:faa8 prefixlen 64 scopeid 0x20<link>
ether 00:15:5d:ec:fa:a8 txqueuelen 1000 (Ethernet)
RX packets 449 bytes 573354 (573.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 292 bytes 64648 (64.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth0는 네트워크 인터페이스의 이름으로 보통 이더넷 인터페이스를 나타냄
flags=4163....,MULTICAST>는 플래그들은 인터페이스 상태를 나타냄
UP : 인터페이스가 활성
BROADCAST : 패킷을 수신할 수 있다.
RUNNING : 인터페이스가 작동 중이다.
MULTICAST : 멀티캐스트 패킷을 수신할 수 있다.
mtu 1500 : 한번에 전송될 수 있는 최대 데이터 크기이다.
inet 172.120.163.255 : IPv4 주소 정보이다.
inet : IPv4 주소가 172.120.151.1임을 나타냄
netmask : 서브넷 마스크가 255.255.240.0임을 나타냄
broadcast : 브로드캐스트 주소가 172.120.163.255임을 나타냄
inet6 fe80::255:5dff:feec:faa8 prefixlen 64 scopeid0x20<link> : IPv6 주소 정보
inet6 : IPv6 주소가 fe80::255:5dff:feec:faa8 임을 나타냄
prefixlen : IPv6 주소의 접두사 길이가 64비트임을 나타냄
scopeid : 링크 로컬 주소임을 나타냄
ether 00:15:5d:ec:fa:a8 : 이더넷 인터페이스의 MAC 주소이다.
txqueuelen 1000 (Ethernet) : 전송 큐의 길이 및 인터페이스의 유형이 Ethernet 이다.
RX packets 449 bytes 573354 (573.3KB): 수신한 패킷 및 바이트 수
RX errors 0 dropped 0 overruns 0 frame 0 : 수신 중 발생한 오류 및 드랍 수
TX packets 292 bytes 64648 (64.6 KB): 전송한 패킷 및 바이트 수
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 : 전송 중에 발생한 오류 및 드랍 수, 캐리어 오류, 충돌 수등 이다.
ifconfig 에서 나온 정보는 주로 네트워크 인터페이스의 현재 상태와 호라동을 확인하기 위해 사용함
IP주소, MAC주소, 패킷 수 등을 확인함
브로드캐스트 주소를 사용하면 한 네트워크에서 모든 장치에게 메세지를 보낼 수 있다
하지만 보안상의 이유로 최근에는 지원하지 않는 네트워크도 많다.
IPv6에는 브로드캐스트 개념이 없고 다양한 멀티캐스트 주소가 사용됨
# 서버에서 mysql 콘솔 접속하기
mysql -uroot -p
(나는 현재 비밀번호 1111)
정보 알아내기
cd /etc/mysql
ls /
# cpu 확인
cat /proc/cpuinfo
cat /etc/issue
# mariadb 설정 폴더
cd /etc/mysql
dba
메모리 설정 가능
sudo vim mariadb.cnf
# Vim 명령어
G : 제일 밑으로
gg : 처음으로
/bind : bind 찾기
i버튼 -> insert 진입
esc -> 비주얼 모드 -> : -> 명령어 모드 -> wq
# mysql 데몬 재시작
sudo service mysql restart
sudo service mysql status
mysql -uroot -p
CREATE USER 'encore'@'%' IDENTIFIED BY '1q2w3e!';
GRANT ALL PRIVILEGES ON *.* TO 'encore'@'%';
스타벅스 예제를 계속 사용
import pandas as pd
import pickle
with open("./starbucks.pkl", "rb") as f:
star_df = pickle.load(f)
import pymysql
con = pymysql.connect(host="172.20.51.1", user="encore", password="1q2w3e!", db='mydata')
cur = con.cursor()
cur.execute("show tables")
pd.set_option('display.max_columns', None)
col = ['s_code', 's_name', 'tel', 'fax', 'sido_code', 'sido_name', 'gugun_code',
'gugun_name', 'addr', 'defaultimage', 'open_dt', 'doro_address', 'lat', 'lot']
star_df = star_df[col].copy()
sql = """create table starbucks (
s_code int(10) not null COMMENT '',
s_name varchar(30) not null COMMENT '',
tel varchar(30) not null COMMENT '',
fax varchar(30) not null COMMENT '',
sido_code int not null COMMENT '',
sido_name varchar(10) not null COMMENT '',
gugun_code varchar(10) not null COMMENT '',
gugun_name varchar(10) COMMENT '',
addr varchar(100) not null COMMENT '',
defaultimage varchar(50) not null COMMENT '',
open_dt varchar(10) not null COMMENT '',
doro_address varchar(100) not null COMMENT '',
lat float not null COMMENT '',
lot float not null COMMENT '',
PRIMARY KEY(s_code)
);"""
cur.execute(sql)
cur.execute("ALTER TABLE mydata.starbucks MODIFY COLUMN defaultimage varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL;")
sql_insert = "INSERT INTO starbucks VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"
star_df.loc[star_df['gugun_name'].isnull(), 'gugun_name'] ="None"
for idx, row in star_df.iterrows():
try:
cur.execute(sql_insert , row.tolist())
except Exception as e:
print(e)
con.commit()
cur.execute("select * from starbucks")
'Bootcamp' 카테고리의 다른 글
[Kubernetes] 쿠버네티스 마스터 설정하기 (1) | 2024.02.01 |
---|---|
[Spark] spark 다루기 (0) | 2024.01.18 |
[Crawling] - 간단한 크롤링 (1) | 2023.12.27 |
[Linux] Linux & Jupyter Notebook (1) | 2023.12.27 |
[AI Vision] Mini Project (0) | 2023.11.17 |