라즈베리파이에 배포를 위해 mysql 설치를 하던 중 시행착오를 겪었다.
# 해당 에러 검색
Package mysql-server is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
mariadb-server-10.0
apt-cache madison mysql-server
로 검색해봐도 mysql 패키지가 나오지 않아 당황했다.
찾아보니 다들 mariaDB를 사용하라는 말들 뿐이었다. 이유를 알고싶어 검색했는데 간단한 이유였다.
그럼에도 불구하고 Regacy 시스템과의 호환성을 위해 MySQL를 설치해야하는 경우도 분명 있을 것이다.
-> 그런 분들은 링크 를 참고하시라!
sudo apt-get update
sudo apt-get upgrade
# 설치
sudo apt-get install mariadb-server mariadb-client
# 실행
sudo mysql
exit # 나가기
Timezone 설정
, 메모리 초과 사용시 데이터 후처리
, 실행 포트 설정
, 외부 접속 허용
, 접속 암호 설정
등을 설정한다.#----------------------------------------------------------#
# 기존 mysql -u 계정명 -p 로 기존 패스워드 방식으로 접속하고 싶은 경우
sudo mysql
#----------------------------------------------------------#
use mysql; // mysql 데이터 베이스 선택
select host, user, password from user; // 이용자 확인
# 사용자 추가 및 변경
CREATE user 사용자 id; // 예시 : CREATE 'userid'@'localhost' IDENTIFIED BY '비밀번호'
// 외부접근권한 부여할경우 : CREATE 'userid'@'%' identified by '비밀번호'
flush privileges; // MySQL에서 사용자 권한 변경 사항을 적용하기 위해 사용하는 명령어
# 사용자 삭제
DROP user '사용자 id'@'localhost';
flush privileges;
# 사용자에게 데이터베이스 권한 부여
GRANT ALL privileges ON DB명.* TO 계정아이디@localhost IDENTIFIED BY '비밀번호';
# 사용자에게 모든 데이터베이스 권한 부여
GRANT ALL privileges ON *.* TO 계정아이디@localhost IDENTIFIED BY '비밀번호' with grant option;
# 확인
SHOW GRANTS FOR 계정명@localhost;
#----------------------------------------------------------#
# 기본 설정 세팅
sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
# 외부접속 허용
# -> 기본 실행 환경은 localhost(127.0.0.1)로 되어있다.
# -> 만약, 모든 외부접속에 대한 허용을 하고 싶다면, 0.0.0.0 으로 변경하면 된다.
bind-address 0.0.0.0
# 프로세스 포트
# -> port 부분은 초기에 주석처리가 되어 있는데, 디폴트 값으로 3306 포트에서 동작한다.
# -> 만약, 3306가 아닌 다른 포트를 설정하고 싶다면 주석을 해제하고 포트번호를 입력하면된다.
port 1234
#----------------------------------------------------------#