本文主要讲解如何安装mysql-5.7.18数据库:
将绿色版安装包mysql-5.7.18-winx64解压后目录中内容如下图,该例是安装在D盘根目录。
在mysql安装目录中新建my.ini文件,文件内容及各配置项内容如下图,需要先将配置项【skip-grant-tables】打开,用于跳过权限验证,以便于安装后的初次登录。
[client]
#设置mysql客户端连接服务端时默认使用的端口
port=3306
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8mb4
[mysqld]
#设置mysql的安装目录
basedir=D:\mysql-5.7.18-winx64
#设置mysql的数据目录
datadir=D:\mysql-5.7.18-winx64\data
#允许最大连接数
max_connections=200
#允许连接失败的次数,意在防止数据库被攻击
max_connect_errors=10
#服务端使用的字符集
character_set_server=utf8mb4
#NO_ENGINE_SUBSTITUTION意即允许在建表时指定存储引擎,NO_AUTO_CREATE_USER意即当创建用户时不自动创建允许访问所有数据库的权限
sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER
#开启查询缓存
explicit_defaults_for_timestamp=true
#跳过权限验证,启用该参数后,任何账号和任何密码都可以登录MySQL数据库。
skip-grant-tables
#不记录binlog
skip-log-bin
用管理员权限打开cmd命令窗口,进入mysql安装目录的bin目录下,如下图,
然后执行命令:mysqld --initialize,
此时会发现mysql安装目录下已经出现了data文件夹。
data目录内容如下,
然后,执行命令:mysqld install,如果执行成功,会提示:Service successfully ingtalled,如下图。
执行命令:net start mysql,用以启动mysql服务,如下图,提示服务已经启动,说明启动成功。注意:执行该命令之前要先将my.ini文件中的配置项【skip-grant-tables】打开,用于跳过权限验证,否则启动mysql服务会失败。
可以直接打开服务界面,刷新一下,如下图,可以看到mysql服务已经出现了,并且显示已启动。
配置系统环境变量,将mysql安装路径及其下的bin目录路径都配置到Pah变量中,添加到Pah变量中末尾即可,每一项结尾加上英文分号,如下图。
输入以下命令:mysql -u root -p,用以登录mysql设置root密码,如下图,会提示“Enter password”,意即输入密码。
由于之前在my.ini中已经打开了【skip-grant-tables】配置项跳过权限验证,因此这里不需要输入密码,或者也可以输入任何内容,然后直接敲Enter键,就可以登录mysql,进入mysql命令行,登录成功后会提示下图所示信息。
执行以下sql语句:
update MySQL.user set authentication_string=password('88888888') where user='root';
用以设置root用户的密码,注意,结尾要带分号,sql语句中所有的符号必须是英文的,包括引号、括号、分号等,如下图,屏蔽了sql语句的密码部分,执行成功后,会提示一行受影响。
进入my.ini文件,关闭【skip-grant-tables】配置项,在该配置项前面加上“#”即可,
然后在命令行中执行【exit】命令用以退出mysql命令行,再执行【net stop mysql】命令停止mysql服务,然后再执行【net start mysql】命令启动服务,如下图,意即重启服务。
然后,再执行【mysql -u root -p】命令,回车后输入刚刚设置的root用户密码,登录mysql,因为之前已经关闭了my.ini文件中的【skip-grant-tables】配置项,并重启了mysql服务,即开启了权限验证,所以此时登录需要输入正确的密码。
进入mysql命令行之后,执行以下sql语句:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '88888888' WITH GRANT OPTION;
语句解释:
GRANT ALL PRIVILEGES: 表示授予所有权限,
ON *.*: 授予的权限适用于所有数据库和表,
TO 'root'@'%': 授予权限给指定的用户和主机,其中%表示任何主机都可连接,
IDENTIFIED BY '88888888': 用户密码,
WITH GRANT OPTION: 允许用户将其获得的权限再授予其他用户。
该语句意即授予root用户所有数据库和所有表的所有权限。
执行该语句之后,发现报错如下图,提示要修改root用户的密码。
那就执行以下命令:
set password for 'root'@'localhost' = password('666666');
用以修改root用户的密码,执行成功后会提示下图所示信息。
然后再重新执行对root用户的授权语句,注意语句中的IDENTIFIED BY后面的密码要填写正确,执行成功后会提示下图所示信息。
至此,mysql数据库已安装完成。