Windows 下安装并使用 mysql

156 阅读4分钟

MySQL 下载网址 建议使用 zip 方式安装,使用 msi 一个不注意就出错了不知道怎么解决。。。 这里我在 win11 下演示 8.0.25 的安装

一、下载

打开上方网址下载 MySQL 最新版 zip 压缩包 下载 MySQL 最新版

二、解压

将下载好的 zip 解压到自己想存放 MySQL 的地方 我这里是放在了 E 盘下,因为我 E 盘放一些办公用的 然后将目录下的 bin 目录添加到环境变量 解压文件

三、安装 MySQL 服务

以管理员身份运行 cmd 管理员身份运行 cmd 转到安装的 MySQL 目录下的 bin 目录内 cd 到 bin 目录 执行以下命令生成和 bin 目录同级的 data 目录

mysqld --initialize-insecure --user=mysql

等待执行完成,目录下会多出一个 data 文件夹,执行完成后终端会恢复输入状态 生成 data 目录 执行以下命令安装 MySQL 服务

mysqld --install

已经装过其他版本的会提示这个 安装 MySQL 服务 执行以下命令启动服务

net start MySQL

启动服务

四、连接

执行以下命令连接 MySQL

mysql -u root -p

连接 MySQL 这里提示输入密码,因为没有设置密码,所以点击回车即可 连接成功 这样就算是连接成功了

五、设置数据库密码

mysqladmin -uroot -p 旧密码(没有为空) password 新密码

六、数据库配置

在安装根目录下创建 my.ini 配置文件

[mysqld]
#设置3306端口号
port=3306
#设置MySQL的安装目录
basedir=E:\\mysql-8.0.25-winx64
#设置MySQL数据库的数据存放目录
datadir=E:\\mysql-8.0.25-winx64\\data
#运行最大连接数
max_connections=200
#运行连接失败的次数。这也是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
#服务端使用的字符集默认为utf-8
character-set-server=utf8
[mysql]
#客户端使用的字符集默认为utf8
default-character-set=utf8
[client]
#客户端默认端口号为3306
port=3306

七、使用

  1. 使用以下命令查看当前用户下的所有数据库
show databases;

查看当前用户下的所有数据库

  1. 使用以下命令创建数据库
create database 数据库名;

创建数据库

  1. 使用以下命令使用数据库
use 数据库名;

使用数据库

  1. 使用以下命令创建表
create table 表名(字段1 类型,字段2 类型);

命令创建表

  1. 使用以下命令查看表结构
desc 表名;

查看表结构

八、使用 load data 导入 txt 文件数据

例如我的 txt 文件格式是这样,路径是 G:/ww.txt txt文本示例 使用以下命令进行导入

LOAD DATA LOCAL INFILE "文件路径" INTO TABLE 表名
FIELDS TERMINATED BY "分隔符"
LINES TERMINATED BY "每一条数据的分割符";

导入成功 导入成功 使用以下命令查看表中数据

select * from 表名;

查看数据

可能出现的错误

  1. 如果报以下错误
ERROR 3948 (42000): Loading local data is disabled; this must be enabled on both the client and server sides

意思是禁止加载本地数据;这必须在客户端和服务器端都启用 禁止加载本地数据错误示例 使用以下命令查看 local_infile 值,默认是 OFF

SHOW GLOBAL VARIABLES LIKE 'local_infile';

解决办法: 在 my.ini 的配置文件中的 [mysqld] 中加入 local-infile=1 更改my.ini配置 然后使用以下命令重启 mysql 服务

net stop mysql
net start mysql

再次连接时使用以下命令进行连接

mysql -h localhost -u root --local-infile=1 -p
  1. 如果报以下错误
ERROR 2068 (HY000): LOAD DATA LOCAL INFILE file request rejected due to restrictions on access.

意思是 LOAD DATA LOCAL INFILE 文件请求拒绝由于访问限制。 请求拒绝由于访问限制 使用以下命令查看 secure_file_priv 值,默认是 null

SHOW VARIABLES LIKE "secure_file_priv";

查看 secure_file_priv 值 解决办法: 在 my.ini 的配置文件中的 [mysqld] 中加入 secure-file-priv = 更改my.ini配置 然后使用以下命令重启 mysql 服务

net stop mysql
net start mysql

❀❀❀❀❀❀ 完结散花 ❀❀❀❀❀❀

Written ❤️ sywdebug.