注意:zip版本不同于msi版本,msi版本下载后是直接双击进行安装,而zip版本解压后就是mysql的源码,需要用命令行进行安装,中间可能会出现各种小问题,如果按照顺利的话,也是挺方便的;
第一步:下载mysql server
下载地址:https://dev.mysql.com/downloads/mysql/
因为装的是windows版本,所以就拿windows举例子。
下载后文件名:mysql-8.0.15-winx64.zip
第二步:解压ZIP文件
解压后的文件目录
第三步:配置Path环境变量
设置环境变量方法:https://blog.csdn.net/jiaweiok123/article/details/88737946
把mysql下载目录复制一下,然后粘贴到Path里面即可;
例如:C:\mysql-8.0.15-winx64AZ\bin
注意:配置完环境变量后,执行命令时,如果此时报错,不是内部命令,则需要关闭Cmd命令窗口,重新打开,然后再执行就可以了;
第四步:以管理员身份运行cmd,配置My.ini文件
注意:新下载的解压包里面是没有my.ini文件的,需要自己手动新建,然后把下面的内容粘贴进去即可;
注意修改mysql的安装目录 和 数据的存放目录
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:\mysql-8.0.15-winx64AZ //解压包所在的位置
# 设置mysql数据库的数据的存放目录
datadir=C:\mysql-8.0.15-winx64AZ\Data //Data文件夹自定义位置和目录
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
第五步:初始化Mysql数据,目的是为了生存Data文件夹中的数据包和初始密码
注意:
1、mysql首次安装的话,是没有初始化密码的,所以需要手动执行命令,获取随机密码,进行登录;
2、Data文件夹是我们上面在my.ini文件中设置的数据的存放目录:即:datadir=C:\mysql-8.0.15-winx64AZ\Data
生存数据包,同时生成随机密码,执行命令:mysqld --initialize --console
0、问题:如上图:这里提示,不能创建我们指定的数据存放目录,C: oftwareAZ\Data
1、原因:可能是softwareAZ这个目录,mysql命令执行时,没有权限对这个目录进行写入,或者该目录的名称有未知特殊性;
2、解决:我把这个mysql的安装目录直接放到,其他目录下面,例如:C:\mysql-8.0.15-winx64AZ,这样就可以了;
3、重新执行命令:mysqld --initialize --console
注意:如果已经初始化一次后,Data中数据包已经生成了,再次执行初始化命令时,需要手动把Data文件夹中的文件都删掉,
否则初始化会失败;
这次成功了,初始密码是:Paua):RgG1XE然后用这个密码进行登录;
4、初始化后,文件夹data里面就会创建数据包内容,如下图:
第六步:安装mysql服务,并启动服务
安装服务命令:mysqld -install 服务名
卸载服务命令:mysqld -remove 服务名
启动服务命令:net start 服务名
停止服务命令:net stop 服务名
退出命令:quit
1、安装,启动服务,执行命令:mysqld -install mysql8;net start mysql8
注意:安装服务时,如果这里只输入了:mysqld -install,没有手动指定服务名的话,默认服务名是:mysql
第七步:登录Mysql服务器
1、找到上面随机生成的密码:Paua):RgG1XE(注意:密码生成后,最好用鼠标选择密码,然后复制下来,否则容易输入错误)
2、登录mysql,输入命令:mysql -u root -p (注意:是用mysql -u root -p命令,而不是mysqld -u root -p命令)
如上图:提示登录成功;然后如果未修改密码进行其他任何操作,都会提示先修改初始密码;
第八步:设置用户名和密码
修改初始密码,执行命令:ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
创建自己用的账户,执行命令:create user 'test'@'localhost' IDENTIFIED BY '123456';
使用新建账户登录,执行命令:mysql -u test -p(密码是:123456)
第九步:给新建账户授权
给新建账户授权,执行命令:grant all on *.* to 'test'@'localhost';
注意:不能用test账户登录给自己授权,因为其权限不够,所以无法给自己或其他账户授权;
所以,执行授权会提示,没有权限,如下图:
解决方法:用root管理员账户登录,然后执行命令,给test账户授权即可;
GRANT命令说明:
GRANT privileges ON databasename.tablename TO 'username'@'host'
privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
databasename:数据库名
tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*