-
RaspberryPi로 Golang 서버만들기 - MariaDB 설치하기 [6]Go 2021. 1. 3. 21:16728x90반응형
1. 라즈베리파이에 아래 명령어로 MySQL을 설치합니다.
apt-get update apt-get install mariadb-server
2. mysql 에 접속합니다.
mysql -u root -p
초기비밀번호를 설정합니다.
3. localhost에서 접속할때 localhost를 허용해주어야 됩니다.
# 마지막의 raspberry는 위에서 설정한 비밀번호이다. grant all privileges on *.* to 'root'@'localhost' identified by 'raspberry';
4. mysql에 접속이 되면 설치가 완료되었습니다.
5. 데이터베이스 리스트를 확인합니다.
show databases;
6. mysql 데이터베이스를 사용하고, 테이블을 확인합니다.
use mysql; show tables; select User, Password from user;
7. 이제 go에서 코드를 통해 조회해보겠습니다. 먼저 package를 받습니다.
go get github.com/go-sql-driver/mysql go mod vendor
8. main을 수정한다.
//현재 패키지를 설정한다. main은 func main()이 있어야한다. package main //필요한 패키지를 import한다. import ( "net/http" "database/sql" "github.com/labstack/echo/v4" _ "github.com/go-sql-driver/mysql" ) func main() { //echo 생성 e := echo.New() // '/'로 GET으로 요청이 왔을때 응답을 설정한다. e.GET("/", func(c echo.Context) error { //DB의 접속정보를 저장하고 db를 인스턴스화 한다. db, err := sql.Open("mysql", "root:raspberry@tcp(127.0.0.1:3306)/mysql") //err발생했는지 확인한다. if err != nil { panic(err) } //db를 통해 sql문을 실행 시킨다. rows, err := db.Query("select User, Password from user") // 함수가 종료되면 rows도 Close한다. defer rows.Close() //err발생했는지 확인한다. if err != nil { print(err) return err } //User, Password를 받을 변수를 미리 만든다. var User string var Password string for rows.Next() { //포인터를 사용해 User와 Password를 가져온다. err := rows.Scan(&User, &Password) //err발생했는지 확인한다. if err != nil { print(err) return err } //User와 Password를 받아온다. print("User: " + User + " Password: " + Password + "\n") } //Response를 보낸다. return c.String(http.StatusOK, "ok") }) //echo를 실행시키고, 서버가 종료됬을때 Logger를 설정한다. e.Logger.Fatal(e.Start(":1323")) }
9. 실행시킨다.
go run main.go
10. Curl 또는 PostMan을 통해 테스트해 본다.
curl "http://192.168.0.100:1323"
11. terminal에 다음과 같이나오면 성공 (상황에 따라 더 나올 수도 있다.)
728x90반응형'Go' 카테고리의 다른 글
RaspberryPi로 Golang 서버만들기 - 회원관리 하기 (2) [6] (0) 2021.01.06 RaspberryPi로 Golang 서버만들기 - 회원관리 하기(1) [6] (0) 2021.01.06 RaspberryPi로 Golang 서버만들기 - Postman [5] (0) 2021.01.03 RaspberryPi로 Golang 서버만들기 - Echo Framework [4] (0) 2021.01.03 RaspberryPi로 Golang 서버만들기 - visual code ssh 연결하기 [3] (0) 2021.01.03