MySQL5安装和配置

MySQL5安装和配置

日期:2020-09-13

操作系统:64位 Windows 10专业版(2004)

MySQL版本:5.7.31

1、下载MySQL数据库

最新版MySQL下载地址

在这里插入图片描述

(1)安装版

在这里插入图片描述

(2)解压版

在这里插入图片描述
在这里插入图片描述

(3)下载结果

在这里插入图片描述

2、安装版安装

安装版安装的好处是:可以选择需要的组件安装,配置相对简单,后续可以通过MySQL Installer方便地添加、修改、更新、移除组件

(1)运行安装程序

在这里插入图片描述
这里选择自定义安装才能更改安装位置,否则默认安装在C盘,如果熟悉了MySQL,建议选择自定义安装

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装 Windows 系统框架(Framework),单击 Execute 按钮,安装程序会自动完成框架的下载,进行安装即可

在这里插入图片描述
所需框架均安装成功后,点击 Next 按钮

在这里插入图片描述
进入安装确认窗口,点击 Execute 按钮,开始 MySQL 各个组件的安装

在这里插入图片描述
安装完成后在【Status】列表下显示 Complete

在这里插入图片描述

(2)配置MySQL

在安装的最后一步中,点击 Next 按钮进入服务器配置窗口,进行配置信息的确认,确认后点击 Next 按钮

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置完成,点击execute

在这里插入图片描述
在“Starting the server”位置卡住不动,然后提示错误无法安装,可能是你下载的数据库版本过高与系统不匹配,可以降低数据库版本或者升级系统版本。

接下来finish、next,即安装完成了

打开任务管理器,可以看到MySQL服务正在运行

在这里插入图片描述

3、解压版安装

请务必仔细地按照步骤说明和截图所示进行,尽量一次成功,如果不行,使用 mysqld -remove 命令卸载MYSQL服务,并删除整个MySQL文件夹,再重新解压,开始再次安装。

(1)下载压缩包,解压到某个目录

在这里插入图片描述

(2)在MySQL安装目录下创建配置文件my.ini
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8

[mysqld]
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\Developer\DB\Database\mysql-5.7.31\
# 设置mysql数据库的数据的存放目录
datadir=D:\Developer\DB\Database\mysql-5.7.31\data\
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 允许最大连接数
max_connections=20
# 允许连接失败的次数。
max_connect_errors=10
# 严格模式
#sql_mode="NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES"
# 默认使用“mysql_native_password”插件认证
#default_authentication_plugin=mysql_native_password
# 跳过密码验证,设置密码后注释掉
#skip-grant-tables

在这里插入图片描述

(3)配置环境变量

如果不配置环境变量,每次登录MySQL 服务器时就必须进入到 MySQL 的 bin 目录下,才能执行 MySQL 的命令,这样比较麻烦。

配置环境变量以后就可以在任意位置执行 MySQL 的命令

  • 进入环境变量配置窗口,新建MYSQL_HOME变量,变量值为“D:\Program Files\MySQL\MySQL Server 5.7”(改为自己的解压目录
  • 在Path变量值最前面添加“%MYSQL_HOME%\bin;”,确定保存,环境变量从上往下读取,添加在最前面可以防止被覆盖
    在这里插入图片描述
(4)以管理员身份运行cmd,执行以下命令
  • mysqld -install ,安装MySQL服务

在这里插入图片描述

  • mysqld --initialize --console ,初始化MySQL服务,在指定目录下生成data文件夹,生成随机密码并在控制台显示

在这里插入图片描述
初始化完成后,生成的data文件夹

在这里插入图片描述

  • net start mysql ,启动MySQL服务

在这里插入图片描述

  • mysql -u root -p ,回车输入密码, 登录数据库,输入密码时请务必小心,这是最容易出错的地方

在这里插入图片描述

  • 修改密码,以下三种方式都可以,一般第一种就可以了

    • alter user 'root'@'localhost' identified by '123456';

在这里插入图片描述
set password for root@localhost=password('1234567');

在这里插入图片描述
update mysql.user set authentication_string=password("xxx") where user="root"; flush privileges;

在这里插入图片描述

4、启动、停止MySQL服务

MySQL 服务和 MySQL 数据库不同,MySQL 服务是一系列的后台进程,而 MySQL 数据库则是一系列的数据目录和数据文件。

MySQL 数据库必须在 MySQL 服务启动之后才可以进行访问。

Windows 系统下启动停止 MySQL 服务的方式主要有以下两种:

  1. 通过计算机管理方式
  2. 通过命令行方式
(1)通过计算机管理方式

在这里插入图片描述
选中右键,可以将服务状态设置为“启动”、“停止”、“暂停”、“恢复”、“重新启动”

右键属性,还可以设置启动类型,可以选择“自动(延迟启动)”、“自动”、“手动”和“禁用”

如果需要经常练习 MySQL 数据库的操作,可以将 MySQL 设置为自动启动,这样可以避免每次手动启动 MySQL 服务。当然,如果使用 MySQL 数据库的频率很低,可以考虑将 MySQL 服务设置为手动启动,这样可以避免 MySQL 服务长时间占用系统资源。

(2)通过命令行方式

管理员身份运行cmd命令,不以管理员身份运行会拒绝访问

net start MySQL服务名
net stop MySQL服务名

在这里插入图片描述

5、登录MySQL数据库

登录MySQL数据库前,需确保MySQL 服务已开启

(1)使用 DOS 命令登录MySQL数据库

管理员身份运行cmd命令,不以管理员身份运行会拒绝访问

mysql [-h 主机名 -P 端口号] -u root -p回车再输入密码 	密码不会明文显示
mysql -h localhost -u root -p密码 p和密码之间不能有空格,这种方式密码会明文显示,不安全

status 查看MySQL信息
show databases; 查看所有数据库

exit; 或 quit; 退出登录

mysql 为登录命令,-h 后面的参数是服务器的主机地址,在这里客户端和服务器在同一台机器上,所以输入 localhost 或者 127.0.0.1;-u 后面跟登录数据库的用户名称,在这里为 root;-p 后面是用户登录密码。

在这里插入图片描述

当命令提示符变为“mysql>”时,表明已经成功登录 MySQL数据库,可以开始对数据库进行操作了

(2)通过命令行客户端软件登录 MySQL 数据库

当 MySQL 安装版 安装完后,一般都会有一个简单命令行使用程序(MySQL Command Line Client),

可在开始菜单中找到

打开后输入密码即可登录,但只能登录root账户

在这里插入图片描述

6、MySQL常用命令

前缀为:C:\Windows\system32>


cls 清除屏幕内容
sc delete mysql 删除MysQL服务,慎用
mysqld -remove  卸载MySQL服务
mysqld -install 安装MySQL服务

mysqld --initialize   初始化MySQL服务,在MysQL目录下生成data文件夹,生成密码但不在控制台显示,可在data文件夹后缀名为.err的文件中,Ctrl+F搜索’password‘查找

在这里插入图片描述

mysqld --initialize --console  初始化MySQL服务,在MysQL目录下生成data文件夹,生成密码并在控制台显示
mysqld --initialize-insecure 初始化MySQL服务,在MysQL目录下生成data文件夹,不生成密码

net start mysql 启动MySQL服务
net stop mysql  停止MySQL服务

mysql [-h 主机名 -P 端口号] -u root -p回车再输入密码   密码不会明文显示
mysql [-h 主机名 -P 端口号] -u root -p密码 	 p和密码之间不能有空格,这种方式密码会明文显示,不安全
mysql -u root -p


mysql>
# 授权
grant all privileges on *.* to user@'ip' identified by 'password' with grant option;
flush privileges;
#all privileges: 授予所有权限(即select、update、insert和delete)
#*.*: 第一个“*”代表授权访问所有的数据库,第二个"*"代表数据库中的所有的表
#user: 授予访问权限的用户
#ip: 授予访问权限的ip地址,%代表所有ip
#password: 授予访问权限的密码
#with grant option: 授予可以授予权限的权限
#grant all privileges on *.* to root@'192.168.3.21' identified by '123456' with grant option: 授予192.168.3.21这个IP这样的权限,以root用户登录,密码为123456,可以访问所有数据库中的所有表并且可以进行增删查改操作,而且可以授予其他人权限。

#修改密码
alter user 'root'@'localhost' identified by '密码'; 
或
set password for root@localhost=password('xxxxxx');
或
update mysql.user set authentication_string=password("xxx") where user="root";
flush privileges 刷新权限

#退出登录
exit; 或 quit; 

status #查看MySQL信息
select version(); #查看MySQL版本
或
C:\Windows\system32>mysql --version
或
C:\Windows\system32>mysql -V

#查看数据库表
show databases; 查看所有数据库
use mysql; 切换数据库
show tables; 查看当前库所有表
show tables from mysql; 不切换数据库,查看其他库所有表
select database(); 查看当前数据库
desc user; 查看表结构,desc为describe的缩写

当前连接进程
show processlist;
最大连接数
show global variables like "%max_connections%";
最大等待秒数
show global variables like "%wait_timeout%";
最大错误连接数
show global variables like "%max_connect_errors%";

source D:/xxx.sql 使用脚本文件,导入数据

7、MySQL目录结构

MySQL安装版的 data目录my.ini 文件可能不在 MySQL 的安装目录下,而是在 “C:\ProgramData\MySQL\MySQL Server 5.7 ”或其他自定义的目录下。

一般情况下,C 盘下的 ProgramData 目录是隐藏的,需要取消隐藏。

在这里插入图片描述

(1)bin目录

用于放置MySQL常用的命令工具以及管理工具,如 mysql.exe、mysqld.exe、mysqlshow.exe 等。

(2)data目录

登录数据库后,可使用 SHOW GLOBAL VARIABLES LIKE "%Datadir%"; 命令查看 data 目录位置。

data 目录中用于放置一些数据文件以及日志文件,我们创建和保存的数据都存在这个目录里。

(3)doc目录

存放一些帮助文档。

(4)include目录

用于放置一些头文件,如:mysql.h、mysql_ername.h 等。

(5)lib目录

用于放置一系列库文件。

(6)share目录

用于存放字符集、语言等信息

(7)my.ini文件

除了my.ini文件,MySQL 安装目录下可能还有几个后缀名为.ini的配置文件,这些是适合不同数据库的配置文件的模板。

my.ini 是 MySQL 默认使用的配置文件,MySQL 服务器启动时会读取这个配置文件,

通过修改这个文件并重启服务,可以更新配置

  • my-huge.ini:适合超大型数据库的配置文件。
  • my-large.ini:适合大型数据库的配置文件。
  • my-medium.ini:适合中型数据库的配置文件。
  • my-small.ini:适合小型数据库的配置文件。
  • my-template.ini:是配置文件的模板,MySQL 配置向导将该配置文件中选择项写入到 my.ini 文件。
  • my-innodb-heavy-4G.ini:表示该配置文件只对于 InnoDB 存储引擎有效,而且服务器的内存不能小于 4GB。

8、MySQL配置文件详解

[client]
port=3306   MySQL客户端连接服务器端时使用的端口号
[mysql]
default-character-set=utf8   MySQL 客户端默认的字符集

[mysqld]     
port=3306 	 MySQL服务器的端口号
basedir=C:/Program Files/MySQL/MySQL Server 5.7/	MySQL的安装路径
datadir=C:/ProgramData/MySQL/MySQL Server 5.7/Data	 MySQL数据文件的存储位置,也是数据表的存放位置

character-set-server=utf8		服务器端默认的字符集
default-storage-engine=INNODB	创建数据表时,默认使用的存储引擎
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"	SQL模式的参数,通过这个参数可以设置检验 SQL 语句的严格程度

max_connections=100		允许同时访问 MySQL 服务器的最大连接数。其中一个连接是保留的,留给管理员专用的
query_cache_size=0		查询时的缓存大小,缓存中可以存储以前通过 SELECT 语句查询过的信息,再次查询时就可以直接从缓存中拿出信息,可以改善查询效率
table_cache=256
tmp_table_size=35M		内存中每个临时表允许的最大大小
thread_cache_size=8		缓存的最大线程数
myisam_max_sort_file_size=100G	MySQL 重建索引时所允许的最大临时文件的大小
myisam_sort_buffer_size=69M		重建索引时的缓存大小
key_buffer_size=55M		关键词的缓存大小
read_buffer_size=64K	MyISAM表全表扫描的缓存大小
read_rnd_buffer_size=256K	将排序好的数据存入该缓存中
sort_buffer_size=256K	用于排序的缓存大小

以下是 InnoDB 存储引擎使用的参数
innodb_additional_mem_pool_size=3M	附加的内存池,用来存储 InnoDB 表的内容。
innodb_flush_log_at_trx_commit=1	设置提交日志的时机,若设置为 1,InnoDB 会在每次提交后将事务日志写到磁盘上
innodb_log_buffer_size=2M	用来存储日志数据的缓存区的大小
innodb_buffer_pool_size=107M	缓存的大小,InnoDB 使用一个缓冲池类保存索引和原始数据
innodb_log_file_size=54M	日志文件的大小
innodb_thread_concurrency=18	在 InnoDB 存储引擎允许的线程最大数

每次修改 my.ini 文件中的参数后,必须重启 MySQL 服务才会有效

暂时就写到这了,刚开始写博客,不太熟练,写得不好的地方请大家见谅!

如果您觉得这篇文章对您有帮助,就请随意点个赞吧!您的鼓励是将我坚持创作的巨大动力!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值