内容简介:go操作数据库本身并不复杂,主要是环境的准备。一、mysql安装1、安装
以下步骤仅限小白参考,如内容引起不适,概不负责。
go操作数据库本身并不复杂,主要是环境的准备。
一、 mysql 安装
1、安装
去官网下载mysql对应的版本就好了。选择对应的操作系统,
然后安装即可。一般mac默认会安装在/usr/local/mysql/bin目录。
2、修改密码
安装时有一个初始密码,需要修改可按照如下步骤。
1) 关闭服务
点击系统偏好设置->最下边点MySQL,在弹出页面中,关闭服务
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,现在安装即可。安装成功后,建立连接,
三、vscode中mysql环境配置
可自行上网了解。我这里介绍下我碰到的一些问题。
我们知道goroot和gopath目录,连接数据库,需要下载一些插件到gopath也就是我们的工程代码目录下。这个目录正常应该有三个文件夹:bin,pkg,src。
1、vscode中插件下载失败
进入gopath目录,找到src/github.com/golang,如果没有请自行创建。
在命令窗口中,cd到这个目录下,下载插件包
git clone https://github.com/golang/tools.git tools
下载完成后,src\github.com\golang多了一个tools目录,把tools目录下的所有文件拷贝到src/golang.org/x/tools下,如果没有自行创建。
2、还是有插件失败
下载了这个网友的资源: https://download.csdn.net/download/m1179457922/10497136 ,将这个文件夹放入工程代码同级目录下。比如,
四、代码测试
首先用navicat在mysql中创建一个测试的表,插入少量数据,比如
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()
}
调试结果如下,
以上所述就是小编给大家介绍的《少说话多写代码之GO开发——002:go连接数据库(Mac+vscode+mysql为例)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Cyberwar
Kathleen Hall Jamieson / Oxford University Press / 2018-10-3 / USD 16.96
The question of how Donald Trump won the 2016 election looms over his presidency. In particular, were the 78,000 voters who gave him an Electoral College victory affected by the Russian trolls and hac......一起来看看 《Cyberwar》 这本书的介绍吧!
HTML 编码/解码
HTML 编码/解码
HSV CMYK 转换工具
HSV CMYK互换工具