1. 안드로이드 디바이스에 Termux 설치
https://f-droid.org/en/packages/com.termux/
최신버전을 받아 설치한다.
2. Termux 실행 후 MariaDB 설치를 위해 다음의 순서를 따른다.
pkg update
pkg upgrade
pkg install mariadb (root권한 설치가 아니므로 아래의 단계를 거쳐 root 권한을 활성화 해야함)
mysqld_safe --skip-grant-tables --skip-networking &
mysql -u root
flush privileges;
Mariadb 10.1.20 이상
ALTER USER 'root'@'localhost' IDENTIFIED BY '패스워드';
Mariadb 10.1.20 미만
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('패스워드');
이후 MariaDB를 종료 후 재시작 한다.
exit
ps -e | grep mysql (mysql의 PID를 기억해둘것)
kill -9 'PID'
다시 MariaDB를 실행해준다.
mysqld -u -root&
mysql -u root -p
패스워드를 입력 후 사용하면 된다.
3. Termux 실행 시 자동으로 MariaDB 실행되도록 하기
vim을 설치한다.
pkg install vim
vim .bashrc
내용을 수정하려면 a를 누르고 아래의 내용을 입력한다.
if ! ps -e |grep "mysql" > /dev/null;
then
echo "starting mariadb"
mysqld -u -root&
fi
이후 esc를 눌러 수정 모드를 빠져나와 :wq! 엔터를 입력한다.
4. MariaDB 외부 접속 허용하기
mysql -u root -p
use mysql
select host, user from user;
user 테이블에서 호스트와 유저를 조회한다.
host가 %로 되어있을 경우 어떤 ip에서도 접속이 가능한 상태이다.
root 계정에 모든 ip에서의 외부접속을 허용하려면 다음을 따른다.
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '패스워드';
특정 IP 대역에서만 접속을 허용하려면 다음을 따른다.
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.0.%' IDENTIFIED BY '패스워드';
특정 IP에서만 접속을 허용하려면 다음을 따른다.
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.0.1' IDENTIFIED BY '패스워드';
허용 전으로 되돌리려면 다음을 따른다.
DELETE FROM mysql.user WHERE Host='%' AND User='유저명';
FLUSH PRIVILEGES;
원격 접속
mysql -h '원격 IP주소' -u '허용된 사용자 이름(ex. root)' -p
'Android' 카테고리의 다른 글
[Kotlin] 코틀린 - 컬렉션 타입(Array, List, Set, Map) (0) | 2024.08.01 |
---|---|
[Kotlin] 코틀린 - 함수 (0) | 2024.08.01 |
[Kotlin] 코틀린 - 변수 (0) | 2024.07.31 |
[Android] 안드로이드 앱 기본 구조 - 안드로이드 컴포넌트 (0) | 2024.07.31 |
com.android.ide.common.signing.KeytoolException: Failed to read key AndroidDebugKey from store 에러 (0) | 2023.06.21 |