最近在研究golang worm,到了数据库的安装和使用,特别是在VScode上快捷使用MySQL时,遇到了一些难处,特此纪录与分享一下。
MySQL简介
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。我们一般安装社区版免费试用。
下载地址:MySQL :: Download MySQL Community Server
第一种:以安装包(exe)的形式进行安装
无脑下一步,唯一要注意的是帐户设置
密码验证方式(Authentication Method):
第一个是强密码校验,
第二个是默认密码方式
mysql推荐使用最新的数据库和相关客户端,MySQL8换了加密插件,所以如果选第一种方式,很可能navicat等客户端连不上mysql8。
可以参考这个作者的文章:MySQL安装教程(详细)_花北城的博客-CSDN博客
第二种:以压缩包方式安装
可以参考这个作者的文章:进修python
下载完成后,就得到了一个zip压缩包(我mysql-8.0.29-winx64.zip),然后我将压缩包解压到了 D:\mysql-8.2.0-winx64 中,接下来需要配置一下MySQL的配置文件,如下:
在D:\mysql-8.2.0-winx64 文件夹中 my.ini 配置文件,编辑 my.ini 配置以下基本信息(复制进去)
# D:\mysql-8.2.0-winx64\my.ini
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录 ----------是你的文件路径-------------
basedir=D:\mysql-8.2.0-winx64
# 设置mysql数据库的数据的存放目录 ---------是你的文件路径data文件夹自行创建
datadir=D:\wcy\mysql\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
接下来启动MySQL数据库
以管理员的身份打开cmd命令行工具,切换目录:
d:
cd mysql-8.2.0-winx64
cd bin
进入bin文件夹之后,我们就可以使用mysql命令了。
mysqld --initialize --console
执行完成后,会输出root(用户名)的初始默认密码,
这个密码是系统随机生的的,最好保存一下,以免忘掉,后面我们可以修改密码。
然后,继续进行安装数据库命令
mysqld install
完成之后我们启动服务即可
net start mysql
即完成MySQL的安装。
数据库操作
连接mysql
mysql -uroot -p
输入之后去复制一下刚刚保存下来的密码,并粘贴到命令台
输入以下命令修改密码(把新的密码修改成你想要的密码)
ALTER USER 'root'@'localhost' IDENTIFIED BY '新的密码';
密码修改完成。
也可以进入数据库后修改
set password =password(‘123456’);
查看数据库
语法:
show databases;
分号是非常重要的
创建数据库
语法:
create database 库名;
删除数据库
语法:
drop database 库名;
选择数据库
语法:
use 库名;
进入数据库,我们就可以进行表操作了。
创建数据表
语法:
create table 表名(
ID int auto_increment,
表字段名 类型,
表字段名 类型,
表字段名 varchar(n),
) DEFAULT CHARSET=utf8;
varchar(n) n代表字符个数
MySQL 中定义数据字段的类型对数据库的优化是非常重要的。
删除数据表
语法:
drop table 表名;
删除表
清空表数据
truncate table 表名;
truncate只会清除表数据,drop不光清除表数据还要删除表结构
delete from 表名 where id='1';
delete from 表名;
如果不加where条件,则是删除表所有的数据
插入数据
语法:
insert into 表名(name1,name2,name3) values (data1,data2,data3)
如果数据是字符型,必须使用单引号或者双引号,如:"data"
查询数据
语法:
select * from 表名;
# 查看表中的所有数据
select name from 表名;
# 查看指定数据
desc 表名:
# 查看表结构
show tables;
# 查看表 - 选择数据库
在VScode中连接MySQL
选择下载量最高的mysql,会在左侧菜单里显示mysql按钮菜单
安装后,按“F1”进入msql配置界面,依次输入ip、端口、用户名、密码等信息,就可以在连接mysql了
部分疑难杂病
vscode连接mysql报错
如果你的MySQL版本是8.0以上,数据库会连接失败,原因是这个MySQL驱动不支持MySQL 8的caching_sha2_password加密方式。如果继续用这个插件,可以将数据库的用户加密改为mysql_native_password方式。
修改如下,我们进入dos中启动mysql终端,输入:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
by之后是密码,改成自己的。引号不要去掉,分号要加上。
执行mysqld --install mysql如果提示该服务已存在
就先删除该服务(使用以下代码)
sc delete mysql
然后再执行
mysqld --install mysql