go 语言链接服务器上的mysql数据库

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

在网上找了一大堆例子,最后简化一下把,一下会从安装mysql开始,与大家分享一下如何用go链接服务器上的mysql

我用的是ubuntu系统

1,安装mysql:sudo apt-get install mysql-server (记住root的密码假设密码为root123)

2,进入mysql:mysql -uroot -p 然后输入密码

3,创建一个数据库:create database people;

4,给数据库people添加用户:GRANT ALL PRIVILEGES ON people.* TO peo@localhost IDENTIFIED BY "peo123";

5,调整数据库配置以便于远程访问:GRANT ALL PRIVILEGES ON people.* TO peo@“%” IDENTIFIED BY "peo123"; 然后推出mysql执行:sudo nano /etc/mysql/my.cnf

 修改bind-address=127.0.0.1 到bind-address= 机器的IP(就是安装mysql的机器的ip)

6,重启mysql:sudo /etc/init.d/mysql restart

7,建表:首先进入mysql:mysql -u peo -p

  进入数据库下:use people

  创建表:create table hello(age int, name varchar(10));

  插入一条数据:insert into hello(age, name) values(19, "hello world");

至此数据库方面的工作已经做好,接下来是go语言了

8,首先下载mysql的驱动包(应该是这样叫)执行 go get github.com/go-sql-driver/mysql代码会下载到你的gopath下(执行export可以查看gopath)

接着就是下面的代码了

package main
import "database/sql"
import _ "github.com/go-sql-driver/mysql"
import "encoding/json"
import "fmt"


type User struct {
 
Age    int `json:"age"`
   Name string `json:"name"`
}


func main() {
   fmt.Println("start")

   db, err := sql.Open("mysql", "peo:peo123@tcp(192.168.0.58:3306)/people?charset=utf8")
   if err != nil {
     panic(err)
   }

   rows, err := db.Query("select age,name from hello")
   if err != nil {
     panic(err)
   }
   defer rows.Close()
 
   for rows.Next() {
      user := &User{}
      err = rows.Scan(&user.Age, &user.Name)
      if err != nil {
       painc(err)
      }
      b, _ := json.Marshal(user)
      fmt.Println(string(b))
   }
   println("end")
}


大家可以来这里订阅本博客,里面有很多go语言的例子
http://feed.feedsky.com/zongjh

转载于:https://my.oschina.net/u/1013545/blog/180851

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/547154.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nginx、LVS、HAProxy 的区别和优缺点

Nginx、LVS、HAProxy 是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,通常会结合Keepalive做健康检查,实现故障转移的高可用功能。 1)在四层(tcp)实现负载均衡的软件: lvs------…

mssql 字增自段怎样重置(重新自增)|清空表已有数据

方法1 -- 清空已有数据,并且将自增自段恢复从1开始计数 truncate table 表名 方法2 -- 不清空已有数据,但将自增自段恢复从1开始计数 dbcc checkident(表名,RESEED,0) 让SQL自动增长的ID号从一个新的位置开始在查询分析器中执行后,该表自动增长列从1开始…

Android 基本测试工具的使用

Android 基本测试工具的使用和无线学习介绍1,日志查看工具1)DDMSAndroid测试中,使用最多的日志查看工具就是DDMS了。ddms可以从两个地方打开,1,Eclipse的的ddms插件(属于Eclipse 的SDK插件)&…

服务端接口中的那些坑

TOP1:版本意识与兼容性问题。 对于一个好的程序员来说,思考的时间>写代码的时间,如果思路不对写的代码越多,错的也越多,任何时候思考是保证高效工作最省事的武器。 对于接口开发,不同于bs项目&#xff…

JS逆向学习笔记

JS逆向学习笔记 寻找深圳爬虫工作,微信:cjh-18888 文章目录 JS逆向学习笔记 一. JS Hook 1. JS HOOK 原理和作用 原理:替换原来的方法. (好像写了句废话)作用: 可以去Hook一些内置的函数, 例如Debugger, setInterval,JSON.stringify等等2.JS…

bfs+优先队列(hdu1242)

题目:http://acm.hdu.edu.cn/showproblem.php?pid1242这题目就是个大坑,先说下思路就是在遇到‘x’时要多停留1步,另外就是要用到优先队列,要从小到大排列,另外就是普通的bfs了 但是要注意题里的each of Angels frien…

vscode使用汇总——常用插件、常用配置、常用快捷键

一、代码提示快捷键设置:(keybindings.json) [{"key": "ctrlj","command": "-workbench.action.togglePanel"},{"key": "ctrlj","command": "editor.action.tri…

HDFS使用JavaAPI操作上传特定副本到datanode

一、首先自然是导包 $HADOOP_HOME/share/hadoop/common/*.jar $HADOOP_HOME/share/hadoop/common/lib/*.jar $HADOOP_HOME/share/hadoop/hdfs/*.jar $HADOOP_HOME/share/hadoop/hdfs/lib/*.jar 二、代码如下 package com.stu.hdfs; /*** * author ysw28* HDFS的API操…

centos php 版本升级 至5.3 wordpress3.7

今天换了主机,wordpress居然出现下面的错误: 您的服务器现在运行的PHP版本为5.1.6,但WordPress 3.7要求的最低版本为5.2.4。 http://www.webtatic.com/packages/php53/ 这里已经准备了 5.3的安装包, 包括相关的扩展 升级命令: rpm…

vuejs深入浅出—基础篇

一、从HelloWorld说起 任何语言的都是从Hello World开始的&#xff0c;VueJs也不例外&#xff0c;直接上代码&#xff1a; <script src"https://unpkg.com/vue/dist/vue.js"></script><div id"demo">{{hello}}</div><script&g…

近百家公司高级运维的面试题汇总

10月1日日考题 画出系统应用架构图写出LVS与nginx的区别当前数据库服务处理速度慢&#xff0c;你认为可能是什么原因导致的&#xff0c;并阐述一下对应的解决办法说一下你知道的存储引擎&#xff0c;建表时如何决定表使用存储引擎单张表过大有什么缺点&#xff0c;如何解决给你…

Linux idle基础

2019独角兽企业重金招聘Python工程师标准>>> Linux系统越来越受到电脑用户的欢迎&#xff0c;于是很多人开始学习Linux时&#xff0c;学习linux&#xff0c;你可能会遇到linux内核问题&#xff0c;这里将介绍linux内核中idle知识。 1. idle是什么 简单的说idle是一…

PowerDesigner版本控制器设置权限

PowerDesigner版本控制权限之前一直在Groups里面设置&#xff0c;一直没有效果&#xff0c;原因终于找出来了&#xff0c;PowerDesigner是要对每个库单独赋权限的&#xff0c;步骤如下&#xff1a; 连接上版本控制&#xff0c;在左侧菜单 Object Browser里面&#xff0c;找到你…

IT运维面试问题总结-运维工具、开源应用(Ansible、Ceph、Docker、Apache、Nginx等)

1、简述Ansible及其优势&#xff1f; Ansible是一款极其简单的开源的自动化运维工具&#xff0c;基于Python开发&#xff0c;集合了众多运维工具(puppet, cfengine, chef, func, fabric)的优点。实现了批量系统配置&#xff0c;批量程序部署&#xff0c;批量运行命令等功能。同…

程序员进阶之路—如何独当一面

今天和大家分享一下&#xff0c;程序员如何独当一面这个话题&#xff0c;这是一个很大的话题&#xff0c;我把他分成三部分来谈&#xff1a;  一、需求转换的能力或者叫理解需求的能力&#xff1b;  二、分配时间的能力&#xff1b;  三、开发质量的问题&#xff1b; 我…

html跨浏览器兼容性问题

之前写代码没注意到&#xff0c;这次学习了。 首先 img的width和height属性在IE浏览器中不起作用&#xff0c;可以设置一个div&#xff0c;让img标签在div块中&#xff0c;div中设置style:overflow:hidden,然后用div的宽和高来定义图片的宽和高。 第二个就是&#xff0c;clear:…

Spring经典面试题

文章目录 Spring概述&#xff08;10&#xff09; 什么是spring?Spring框架的设计目标&#xff0c;设计理念&#xff0c;和核心是什么Spring的优缺点是什么&#xff1f;Spring有哪些应用场景Spring由哪些模块组成&#xff1f;Spring 框架中都用到了哪些设计模式&#xff1f;详细…

JDBC 获取被插入数据的主键ID值

除了用存储过程还有以下方法可以获取&#xff1a; static int create() throws SQLException { Connection conn null; PreparedStatement ps null; ResultSet rs null; try { // 2.建立连接 conn JdbcUtils.getConnection(); // …

MySQL 5.6的新特性

MySQL 5.6是一个主要的版本发布&#xff0c;它在性能、可伸缩性、可靠性和可用性方面引入了多项重要改进和新特性。它在2013年发布&#xff0c;相比于它的前身MySQL 5.5&#xff0c;MySQL 5.6带来了以下关键升级&#xff1a; 优化的InnoDB存储引擎&#xff1a;MySQL 5.6中的Inn…

简易数字时钟软件详细制作过程

这是我自己用VS2010制作的简易数字时钟小软件&#xff0c;在制作过程中收获知识不少&#xff0c;希望和初学MFC编程的朋友分享一下。 一、其功能有一下三点&#xff1a; 1.打开软件后&#xff0c;其程序自动获取当前电脑系统的日期、时间和周次&#xff0c;并同步显示在主对 …