以前使用MySQL 5时下载的压缩包中就自带了已初始化的数据库,可以直接使用,下载mysql-8.0.11-winx64后发现居然是裸的,什么都没有,需要使用一些命令来初始化和安装,以便能使用数据库。
1、首先使用管理员权限运行命令行,cdMySQL解压的目录的bin文件夹下;
cd c:\3rdparty\mysql-8.0.11-winx64\bin
2、执行mysqld的初始化命令,命令结束后在解压目录中生成data文件夹,文件夹下*.err中包含了临时生成的root用户登录口令;
mysqld --initialize
3、将MySQL安装为Windows服务,以便自动后台启动;
mysqld --install
4、启动MySQL后台服务;
net start mysql
5、使用root的临时口令登录客户端,口令在data文件夹下*.err日志文件中;
mysql -uroot -p
6、将root的临时口令变更为方便记忆的口令,或者直接清除本地登录的口令,原来版本的grant语句已经不再能正常工作;
alter user 'root'@'localhost' identified by 'root';
7、测试。
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
"log"
)
func main() {
db, err := sql.Open("mysql", "root:root@tcp(localhost:3306)/mysql?charset=utf8")
if err != nil {
log.Fatal(err)
}
defer db.Close()
rs, err := db.Query("select t.user,t.host from user t")
for rs.Next() {
var user, host string
rs.Scan(&user, &host)
fmt.Printf("UserName:%s, HostName:%s\n", user, host)
}
}
输出:
UserName:mysql.infoschema, HostName:localhost
UserName:mysql.session, HostName:localhost
UserName:mysql.sys, HostName:localhost
UserName:root, HostName:localhost
Process finished with exit code 0