首先配置好golang环境,我此时使用的是1.17版本
m1已经支持docker了,下载好docker使用如下命令安装mysql:
官方的镜像是不支持arm架构的,所以我们要使用如上所示的docker镜像。
接下来开启一个容器,此时我命名为mysql:
如上所示开启了映射端口并且使用了端口映射在3306处。
接下来进入容器:
进入后进入mysql
mysql -u root -p
输入刚刚设置的密码:123456进入mysql命令行:
为了让程序能够连接进行相应配置项的修改:
CREATE USER 'root'@'%' IDENTIFIED BY 'root';
GRANT ALL ON *.* TO 'root'@'%';
flush privileges;
alter user 'root'@'%' identified by '123456';
flush privileges;
输入完上面的代码即可进行连接测试:
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
func main() {
dsn := "root:123456@tcp(127.0.0.1:3306)/golang?charset=utf8mb4&loc=PRC&parseTime=true" //字符串格式由对应的驱动进行定义
db, err := sql.Open("mysql", dsn)
fmt.Println(db, err)
fmt.Println(db.Ping())
}
连接成功:
执行写操作:
fmt.Println(db.Exec(`
create table test(
id bigint primary key auto_increment,
name varchar(32) not null default '' comment 'test名字'
) engine=innodb default charset utf8mb4;
`))
查看数据库: