前言:
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
MySQL 数据库在发展过程中一直有自己的三个原则:简单、高效、可靠。相比其他关系型数据库,mysql有着自己独特而又全面的优势。
具体目标:
Windows系统本地安装mysql-5.7.30版本数据库,使用Navicat操作mysql数据库.
Mysql8.X 版本的安装涉及到windows系统环境的问题大致与本案例相同。
工具原料:
Win7系统
Mysql-5.7.30 官网下载压缩包 免安装版本
Navicat 16版本 工具官网下载安装包
方法步骤:
1.下载mysql
下载地址是:https://dev.mysql.com/downloads/mysql/
点击上面链接,进入到下载页面,由于最新的版本是8.x,所以默认是8.x的版本。可以通过点击“Looking for the latest GAversion ”选择版本,免安装的多版本选择可点击上方的Achives。
2.解压mysql
下载完成后,解压到你想要安装的目录,比如我的目录是:
D:\soft\mysql-5.7.30-winx64
- 配置环境变量
Mysql需要配置环境变量,类似JAVA的环境变量配置方式,如果装多个版本,MYSQL_HOME 名称可以制定多个,如果图省事,可以直接在系统变量PATH后追加mysql安装目录+bin.
Win10系统根据自己系统配置,下方是我的win7本地图示。
MYSQL_HOME = D:\soft\mysql-5.7.30-winx64
PATH 的后面直接 追加 ;%MYSQL_HOME%/bin 即可。
- 创建配置文件my.ini(关键)
5.7.30版本的安装包默认是不带配置文件my.ini的。需要创建自己创建一个my.ini的文件
my.ini文件创建方式如下,通过文本编辑工具new个空文件,保存,选择文件类型
文件配置内容如下:
###################################
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的解压目录(路径修改成自己的路径)
basedir=D:\\soft\\mysql-5.7.30-winx64
# 设置mysql数据库的数据的存放目录(路径修改成自己的路径)
# 因为5.7版本会自动生成,也可以不用配置
datadir=D:\\soft\\mysql-5.7.30-winx64\\data
# 允许最大连接数(开发时根据自己的需求来设置最大连接数)
max_connections=2000
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#初次设置数据库用户密码时使用
#skip_grant_tables
[client]
# 设置mysql客户端默认字符集
default-character-set=utf8
##########################
注意此处的坑: 设置basedir路径时,路径中如果是单”\”,,数据库初始化过程中会报错,此处文件中的配置是亲测验证通过的。windows的话可以使用 “/” 尝试下是否能正常通过,其他情况会出什么问题欢迎交流讨论。
如果是从低版本升级到5.7的版本,可能为了保留之前的配置,就直接把之前的配置文件拷贝过来。这个时候就要注意了,因为以前很多低版本的参数,已经不适合高版本的。如果不修改过来,就会导致后续的服务启动失败。
例如:
#table_cache=256 // 低版本的
table_open_cache=256 // 高版本的
如果一定要保留老版本的配置,又对于新版本的参数修改不是很熟悉,那么可以再配置文件中把日志功能假设,这样再报错的时候,可以通过查看日志了解详情。 如下配置日志路径即可:
log_error=D:\\soft\\mysql-5.7.30-winx64\\error.log
- 安装MySQL服务
Win+R,输入cmd,切换路径到 D:\soft\mysql-5.7.30-winx64\bin 目录
在当前目录下按顺序执行以下命令语句:
1. mysqld install 等待提示安装成功
2. mysqld --initialize 初始化data目录
3. net start mysql 启动服务
备注:
有些电脑会出现找不到MSVCP120.dll的错误:
- 这种错误是由于未安装 vcredist 引起的
下载 vcredist 地址:
https://www.microsoft.com/zh-CN/download/details.aspx?id=40784
安装,位置默认即可,安装成功之后,重新安装服务即可。
- Mysql 初始化的过程中,有的电脑可能会报错:
应用程序无法正常启动0xc000007b
这个可能就是电脑系统确实某些组件,可以下载directX增强版进行修复(亲测有效)。
“mysqld --initialize-insecure”和 “mysqld --initialize”的区别在于前者会创建一个空密码,而后者会创建一个随机密码。 因此用 “mysqld --initialize”,最好加上 “--console”,可以把随机密码打印出来(注意 “--console”仅限于windows)
--user=msyql 主要用于在linux或者unix系统下给与把data目录授权给mysql账号,在windows 下可以不必使用,带上也无所谓。
- 修改root密码
在进行完以上五步之后运行 mysql -u root -p , 由于root用户默认是没有密码的,直接回车进入。
提示错误: ERROR 1045 (28000): Access denied for user'root'@'localhost'(using password: NO)
这是因为mysql的root用户未设置密码导致,我们需要暂时忽略权限来设置root用户的密码
在配置文件my.ini 中的 [mysqld] 条目下添加 一行语句 skip_grant_tables
保存退出,并且重启MySQL服务, 不重启MySQL服务没有效果。
重启之后运行 mysql -u root -p
提示输入密码直接回车即可进入MySQL
按顺序输入以下SQL语句
1.use mysql ; 显示Database changed
2.update user set authentication_string=password("123456") where user="root"; 括号内为想设置的密码
3.flush privileges; 刷新数据库,4.quit 退出
将配置文件my.ini中的 skip_grant_tables 删除或者注释掉
- 初次登陆的一些设定
在第一次登陆到MySQL还不能直接使用,需要再重设一次密码,否则会出错误提示
ERROR 1820 (HY000) : You must SET PASSWORD before executing this statement
输入命令:
set password=password('123456');
与上一步设置的密码保持一致
设置好之后MySQL便可以正常使用了 , 此时root用户仅能通过本机连接,作为学习已经足够了 。
若是需要远程连接,则需再进行设置
SQL语句如下:
use mysql;
show tables;
select host,user from user; update user set host='%' where user='root'; quit net stop mysql net start mysql
注:
host列指定了允许用户登录所使用的IP,%是通配符,设置为%则代表任意IP都可以访问root