상세 컨텐츠

본문 제목

030. Raspberry Pi 라즈베리 파이 - Mysql 외부접속 허용

raspberrypi/raspbian

by ZelKun 2017. 6. 12. 13:30

본문

반응형


mysql 이면 되지만 pi에서 진행한거라 여기로...

 

mysql을 설치안했다면 여기 참고..


참고로 토드나 db툴을 사용해서 접속하고 싶을때 작업하면 됩니다

터미널에서 작업하면 귀찮은게 많으니..

 

mysql 외부접속 허용을 위해선 db my.cnf 수정해야합니다

특히 root 외부에서접속하게되면 보안에 취약해서 권장하질 않지만

집에서 쓰고 보안이 뚤려도 안에 든게 없는 pi...

간단 요약

  • mysql -u root -p
  • use mysql;
  • grant all privileges on *.* to 'root'@'%' identified by 'root_passwd'
  • flush privileges;

굵은부분을 설정하려는 계정에 맞춰서 변경하면 됩니다

pi@rasp2-dev:~ $ mysql -u root -p

Enter password: 

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 15827

Server version: 5.5.54-0+deb8u1 (Raspbian)

 

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

 

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 

mysql> use mysql;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

 

Database changed

mysql> select host, user, password from user;

+-------------+------------------+-------------------------------------------+

| host        | user             | password                                  |

+-------------+------------------+-------------------------------------------+

| localhost   | root             | *dddddddddddddddddddddddddddddddddddddddd |

| raspberrypi | root             | *dddddddddddddddddddddddddddddddddddddddd |

| 127.0.0.1   | root             | *dddddddddddddddddddddddddddddddddddddddd |

| ::1         | root             | *dddddddddddddddddddddddddddddddddddddddd |

| localhost   | debian-sys-maint | *dddddddddddddddddddddddddddddddddddddddd |

+-------------+------------------+-------------------------------------------+

5 rows in set (0.00 sec)

 

mysql> grant all privileges on *.* to 'root'@'%' identified by 'root_passwd';

Query OK, 0 rows affected (0.01 sec)

 

mysql> select host, user, password from user;

+-------------+------------------+-------------------------------------------+

| host        | user             | password                                  |

+-------------+------------------+-------------------------------------------+

| localhost   | root             | *dddddddddddddddddddddddddddddddddddddddd |

| raspberrypi | root             | *dddddddddddddddddddddddddddddddddddddddd |

| 127.0.0.1   | root             | *dddddddddddddddddddddddddddddddddddddddd |

| ::1         | root             | *dddddddddddddddddddddddddddddddddddddddd |

| localhost   | debian-sys-maint | *dddddddddddddddddddddddddddddddddddddddd |

| %           | root             | *dddddddddddddddddddddddddddddddddddddddd |

+-------------+------------------+-------------------------------------------+

6 rows in set (0.00 sec)

 

mysql> flush privileges;

Query OK, 0 rows affected (0.01 sec)

 

mysql> exit

Bye

pi@rasp2-dev:~ $

요약한 내용대로라면

select host, user, password from user;

질의에서 password 전부 같이 나올겁니다 % 추가되있고요

패스워드를 바꿔서 써놔서 화면과는다를거에요

 

root_passwd 말그래도 root비밀번호를 넣으라는거에요...

따라하시면 패스워드가 다르죠..

 

그럼 my.cnf 파일을 수정해줍니다

apt-get으로 설치된거라 etc하위에 위치해있습니다

윈도우의 경우엔 없는경우도 있습니다 (apmsetup)

pi@rasp2-dev:~ $ ls /etc/mysql/

conf.d  debian.cnf  debian-start  my.cnf

pi@rasp2-dev:~ $ sudo vi /etc/mysql/my.cnf 

 

 36 pid-file        = /var/run/mysqld/mysqld.pid

 37 socket          = /var/run/mysqld/mysqld.sock

 38 port            = 3306

 39 basedir         = /usr

 40 datadir         = /var/lib/mysql

 41 tmpdir          = /tmp

 42 lc-messages-dir = /usr/share/mysql

 43 skip-external-locking

 44 #

 45 # Instead of skip-networking the default is now to listen only on

 46 # localhost which is more compatible and is not less secure.

 47 #bind-address            = 127.0.0.1

 48 #

 49 # * Fine Tuning

 50 #

 51 key_buffer              = 16M

 52 max_allowed_packet      = 16M

 53 thread_stack            = 192K

 54 thread_cache_size       = 8

 55 # This replaces the startup script and checks MyISAM tables if needed

 56 # the first time they are touched

 57 myisam-recover         = BACKUP

 58 #max_connections        = 100

                                                              47,1          33%

47 라인의 bind 주석처리해줍니다

 

그리고 재시작

pi@rasp2-dev:~ $ sudo service mysql restart

 

재시작 후에 db툴을 사용해서 접속되면 된겁니다


반응형

관련글 더보기

댓글 영역