mysql(and mariadb) 기본 설정, 원격접속 가능하게 등등. 우쿠분투/리눅스

이 내용은 MySql, MariaDB 모두에 적용된다. 그런데, 어떤 것들은 MySql 에선 대부분 해결된 듯도 하다.
2017.09 현재, MariaDB 에서만 이런 문제가 발생하는 듯?
2017.10 현재, MariaDB root password 관련 문제 해결법을 수정했다.




별로 알 필요없는 내용들..
오랜만에 mysql 을 건드려보려니.. 여기 저기 부대낀다. 이 글은 다음 오류들을 해결하는 와중에 알아낸 것들을 정리한 것이다.
  • Can't connect to MySQL server on 'DOMAIN' (111)
  • Host is not allowed to connect to this MySQL server
  • Access denied for user 'root'@'localhost'
다음 글을 참고했다.우분투에서 mysql 설정 파일은 다음 위치에 있다.

/etc/mysql/my.cnf (이전 판)


또는, 최근 판(5.7.16)에선, 저 파일이 있긴한데, 실제로는

/etc/mysql/mysql.conf.d/mysqld.cnf


이 파일이 실제 파일이다. 이 파일을 ~/.my.cnf 에 복사해서 사용하라고 돼 있긴 한데.. 정확한 사용법은 모르겠다~




1. 설치.

mysql : $ sudo apt install mysql-server
MariaDB : $ sudo apt install mariadb-server


확실하진 않지만, MySql 은 저렇게 설치할 때, 설치 중간에 root 암호등을 묻는 화면이 나온다. 그러나 MariaDB 엔 그런게 없다.
어떤 것을 선택하든, 설치가 끝나면 다음 과정을 거쳐주는 것이 좋다.

2. 초기 설정

여기부터는 mysql/MariaDB 구분없이 동일하다. MariaDB 도 mysql_secure_installation 을 해준다.

$ sudo mysql_secure_installation


여기에서 시키는대로 적절히 선택하면 된다. 초기화하려면 모두 "YES" 를 선택하면 된다. 원격접속도 여기에서 가능하게 해줄 수 있다.
root 암호를 초기화 할 수도 있다.

이 작업이 끝나면, 다음을 통해 mysql(MariaDB)에 접근이 되는지 확인해본다.

$ mysql -u root -p


접근이 되고, DB 프롬프트가 떨어지면 아무 문제가 없이 잘 설치/설정이 된 것이다.

3. 문제 해결

만약, 위 명령에서 DB 로 접근이 되지 않고, ERROR 1698 (28000): Access denied for user 'root'@'localhost' 이 나온다면, 다음 처치가 필요하다.
(다음 글들에서 도움을 얻었다.)이 문제를 해결하려면, sudo 로 mysql 로 진입해야 한다. (지금 상황에서 sudo 로 mysql 을 실행하면 아무 암호나 쳐도 그냥 접근이 된다. 물론 sudo PW 는 제대로 넣어야 한다.)

$ sudo mysql -u root
MariaDB [(none)]> use mysql;
MariaDB [mysql]> update user set plugin='mysql_native_password' where user='root';
MariaDB [mysql]> flush privileges;
MariaDB [mysql]> quit;



왜 이런 현상이 생기는 지는 잘은 모르지만, 아마도 mysql 의 root 가 시스템 자체의 root 계정 PW 를 연동하여 쓰게끔 기본 설정이 된 모양이다. 이것을 자체 PW 로 바꿔주는 게 위 작업인 듯 하다.
이제는 sudo mysql 을 하면, 정확한 PW 를 넣어야 접근이 가능해진다.

이 설정을 마치고 나면, 적어도 WordPress 를 돌리는데는 전혀 문제가 없는 상태가 된다.

핑백

  • A Citizen of (no) obscure city : VirtualBox + Ubuntu Server(16.04) + LAMP + WordPress 2017-09-18 20:32:10 #

    ... 좋겠다.만약, MySql 이 아닌 MariaDB 를 선택했다면, 그리고 MariaDB 에서 뭔가 오류가 발생했다면 다음 글을 참고하라.mysql(and mariadb) 기본 설정, 원격접속 가능하게 등등.설치가 끝나면 우분투 서버가 부팅된다. 이 때, 네트웍 설정은 FTP를 쓸 것이라면 Bridge 로 하는 편이 좋고, FTP 를 ... more

  • A Citizen of (no) obscure city : ownCloud 설치 간단 정리. 2017-10-17 23:33:00 #

    ... 소지가 있는 부분만 정리했다.MariaDB ➙ mySql 이 아닌 MariaDB 를 설치했다면, 다음 글에 따라 설정을 해줘야 한다.mysql(and mariadb) 기본 설정, 원격접속 가능하게 등등.SSL ➙ 작동하지 않아서 빼버렸다. 나중에 필요하면 추가하기로.Installation Wizard ➙ GUI 가 아닌 Comm ... more

  • mariadb, 데비안/우분투 root 권한 문제. – 바깥 세상으로 2019-06-26 17:46:37 #

    ... 여기까지 와버렸군. 아무튼, 그럼에도 불구하고 mysql root 를 시스템 root 와 분리하고 싶다면?다음 방법으로 해줄 수는 있다. (다만, 이건 Mariadb 10.0 까지는 되는데, 그 이후는 잘 모르겠고 ... more

  • 꽃삽질 : Nextcloud 설치 (우분투 서버) – 바깥 세상으로 2019-06-27 14:26:11 #

    ... 다음 과정</a>을 통해 DB 의 root 사용자 설정을 해줘야 한다. MariaDB 의 경우는 이런데, MySql 은 조금 다를 수도 있다. sudo mysql_secure_installation 위 명령을 실행하고, 시키는 대로 입력하면 된다. root 를 사용할 지, 암호는 무엇으로 할 지등등을 입력해야한다.다만, mysql root 비밀번호는 바꾸지 말고 그대로 둔다. 즉, 기본값(암호 없음)으로 그냥 놔둔다. 이에 관한 길고도 지루한 ... more

  • MariaDB; 인증(Authentication) 문제. &#8211; 바깥 세상으로 2019-07-09 16:39:30 #

    ... 다면? 즉, mysql_native_password 방식을 사용하고 싶다면?MariaDB 10.1 까지는 다음 방법으로 해줄 수 있다. # 10.1 까지 $ sudo mysql_secure_installation ... more

덧글

댓글 입력 영역

Google Analyze


LastFm

MathJax