mac mysql写代码_少说话多写代码之GO开发——002:go连接数据库(Mac+vscode+mysql为例)...

本文档详细介绍了在Mac上安装MySQL、修改初始密码、使用Navicat作为管理工具,以及在VSCode中配置Go语言的MySQL环境。通过具体的步骤,指导读者完成数据库连接和代码测试,确保能够顺利进行Go语言的数据库操作。
摘要由CSDN通过智能技术生成

以下步骤仅限小白参考,如内容引起不适,概不负责。

go操作 数据库 本身并不复杂,主要是环境的准备。

1、安装

去官网下载mysql对应的版本就好了。选择对应的操作系统,

434211008661e4380ac704840549ea17.png

c72877f41e18c3f422267b12aa241cf3.png

460b5ae61166d23cf8619e22d3216ada.png

然后安装即可。一般mac默认会安装在/usr/local/mysql/bin目录。

2、修改密码

安装时有一个初始密码,需要修改可按照如下步骤。

1) 关闭服务

点击系统偏好设置->最下边点MySQL,在弹出页面中,关闭服务

65eec55f4c3e59b6f881d0c3d333a6a7.png

7a7c1bca1636a0566610e4dd1d14ad14.png

2)

进入终端输入:cd /usr/local/mysql/bin/

回车后 登录管理员权限 sudo su

回车后输入以下命令来禁止mysql验证功能 ./mysqld_safe --skip-grant-tables &

例如,操作如下

yangyoushan-pc:bin yangyoushan$ sudo su

Password:

sh-3.2# ./mysqld_safe --skip-grant-tables &

[2] 8431

[1] Done(127) .mysqld_safe --skip-grant-tables

sh-3.2# Logging to '/usr/local/mysql-5.7.25-macos10.14-x86_64/data/yangyoushan-pc.err'.

2019-02-12T16:14:02.6NZ mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql-5.7.25-macos10.14-x86_64/data

回车后mysql会自动重启(偏好设置中mysql的状态会变成running)

3)

输入命令 ./mysql

回车后,输入命令 FLUSH PRIVILEGES;

回车后,输入命令 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('你的新密码');

例如,操作如下,

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.00 sec)

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD(‘your new password’);

Query OK, 0 rows affected, 1 warning (0.00 sec)

二、mysql可是管理工具

我选择的是Navicat for mysql,现在安装即可。安装成功后,建立连接,

e3c2fa53299a477e7d9ad5a783f759ce.png

三、vscode中mysql环境配置

可自行上网了解。我这里介绍下我碰到的一些问题。

我们知道goroot和gopath目录,连接数据库,需要下载一些插件到gopath也就是我们的工程代码目录下。这个目录正常应该有三个文件夹:bin,pkg,src。

1、vscode中插件下载失败

进入gopath目录,找到src/github.com/golang,如果没有请自行创建。

在命令窗口中,cd到这个目录下,下载插件包

下载完成后,src\github.com\golang多了一个tools目录,把tools目录下的所有文件拷贝到src/golang.org/x/tools下,如果没有自行创建。

2、还是有插件失败

0811437da8d96017b85ef47f45b3cca9.png

四、代码测试

首先用navicat在mysql中创建一个测试的表,插入少量数据,比如

d2524775c68709096d68a6fddd9073fe.png

go的代码如下,

ackage main

import (

"database/sql"

"fmt"

_ "github.com/go-sql-driver/mysql"

)

func checkErr(err error){

if err!=nil{

panic(err)

}

}

func main(){

//fmt.Println("我的第一个mac上的go程序")

db,err:=sql.Open("mysql", "用户名:密码@tcp(127.0.0.1:3306)/mysql?charset=utf8")

checkErr(err)

stmt,err:=db.Prepare("select name,age,address from yys_person_info where 1=1")

checkErr(err)

rows ,err :=stmt.Query()

checkErr(err)

for rows.Next() {

var name string

var age string

var address string

err :=rows.Scan(&name,&age,&address)

checkErr(err)

fmt.Println(name,age,address)

}

defer db.Close()

defer stmt.Close()

defer rows.Close()

}

调试结果如下,

f9193027075c1efc182dbe48f80030a3.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值