一、概述
本篇文章作为我个人今年的第一篇技术文档,所以从简单的开始,那就是从MySQL的window版安装开始。MySQL作为一个开源关系型数据库管理系统,相对于其他商业关系型数据库管理系统,如Oracle、DB2、SQL Server 、Sybase等,某些功能不如其那么强大,但作为开源的数据库,由全社区的开源贡献者的不断迭代更新和建议优化,依然满足我们日常的小项目的各类数据库功能。因此,我们有必要需要安装使用来学习熟悉关系型数据库。
二、安装步骤
1、下载MySQL
安装MySQL就得先去官网下载,地址:https://www.mysql.com/,如图:
但一般免费版本,需要拉页面到底部,选择MySQL Community Edition版本:
2.png
选择MySQL Community Server (GPL)版本,同时我选择的是5.7.23版本
3.png
选择操作系统以及操作系统的64位版本即可。我选择下载的版本的免安装版mysql-5.7.23-winx64.zip
2、安装MySQL
由于下载的免安装版,因此下载完成之后,那就是先配置一下环境变量了。
搞Java开发的同学们都知道,配置环境变量在哪里配,我这里就不多说了,各自Google &baidu。我的MY_HOME目录为:
D:\MySQLInstall\mysql-5.7.23-winx64
,所以解压出来放到这里目录即可。接着进入命令模式,即按window键,输入cmd即可进入,如图:4.png
输入D:,即可进入D盘目录,同时进入到解压安装目录,
5.png
MySQL的安装,需要进入到bin目录,不然会发生未知错误。
在bin目录下敲mysqld -install,之前,需要在C://windows/目录下生成一个my.ini文件,这个文件就是MySQL启动的配置文件。而这个文件的内容如下:
[mysqld]
port = 3306 --端口,MySQL常用的监听端口
basedir=D:\MySQLInstall\mysql-5.7.23-winx64 --MySQL的安装目录
datadir=D:\MySQLInstall\mysql-5.7.23-winx64\data ---MySQL数据文件目录
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#skip-grant-tables ---这个参数用来授权不需要密码即可登录数据库。
[mysql]
default-character-set=utf8
6.png
生成文件之后,可以直接在命令窗口的D:\MySQLInstall\mysql-5.7.23-winx64\bin执行脚本mysqld -install
7.png
这个时候在服务就可以看到这个MySQL服务了。
8.png
如果将MySQL服务去掉,直接是mysqld remove即可。
9.png
而在上一级目录安装服务,那么在bin目录下启动net start mysql则会报错,如以下错误:
D:\MySQLInstall\mysql-5.7.23-winx64\bin>net start mysql
发生系统错误 2。
系统找不到指定的文件。
10.png
因此一定在bin目录下安装mysqld -install
最后也是在bin目录下执行 net start mysql,这个时候服务就正式启动成功了。
另外,启动服务成功之后,需要初始化一下数据库mysql,因为只是启动服务,是没有数据的,包括默认的一些登陆用户和登陆密码,需要执行 mysqld -initialize 命令
11.png
这样子就可以登陆了。
下面,就是登陆MySQL数据库了。在命令窗口敲下:
mysql -uroot -p
12.png
但是却报错了,
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
,原因是我们我们没有初始化密码,因此需要在启动配置文件my.ini设置一下暂时放开密码验证,也就是添加skip-grant-tables,这个添加需要先停掉服务,重新启动服务加载之后即可。13.png
最后要设置一下数据库用户密码,
mysql> use mysql
Database changed
mysql> update user set authentication_string=password("123456") where user="root";
mysql> flush privileges;
mysql> quit;
如下:
14.png
修改之后,重新停掉服务,然后将skip-grant-tables注释掉,然后重启服务。
15.png
但是登陆成功之后,其他的命令都是在报错,
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement befo
re executing this statement.
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement befo
re executing this statement.
在baidu上面查询了一下,说是没有用户的操作没有授权密码,原因分析:这个主要是由一个参数控制的 default_password_lifetime
。因此执行一下脚本:
alter user user() identified by "123456";
权限放开,完成各种命令的执行
直至到这里,window下安装MySQL数据库管理系统算是告知成功完成了。
后续我会继续发表Linux下安装MySQL数据库管理系统。
网友评论