mysql7.0版本以及8.0版本压缩版zip安装步骤,以及各种问题解决。
7.0版本安装
因项目需要,需将原有的5.5版本的数据库升级到5.7版本的,需要进行压缩包的方式安装,在网上搜集资料,整理了一下,供大家参考。
- 将下载后的mysql压缩包放在自己需要磁盘中解压,我本地解压目录是D:\Program Files文件夹下。
- 创建系统环境变量,计算机—>属性—>系统—>高级系统设置—>环境变量—>系统变量,将上一步解压包的bin目录(如:D:\Program Files\mysql-5.7.26-winx64\bin)添加到path中;
- 然后在bin目录同级目录下创建data文件夹;
- 在bin目录同级目录下,配置my.ini文件:新建一个txt文件,然后重命名,并修改文件为ini类型。
- 复制以下内容保存到my.ini文件中。
[mysqld]
#端口号
port = 3306
#安装路径
basedir=D:\Program Files\mysql-5.7.26-winx64
#数据存放路径
datadir=D:\Program Files\mysql-5.7.26-winx64\data
#最大链接数
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
- 以管理员启动cmd命令窗口,进入到bin目录下,输入安装命令:mysqld -install,若出现Service successfully installed,证明安装成功;如出现Install of the Service Denied,则说明没有以管理员权限来运行cmd;
- 然后继续输入命令:mysqld --initialize,此时不会有任何提示:
- 再输入启动命令:net start mysql,出现以下提示证明MySQL启动成功:
- 然后输入mysql -u root -p命令即可登录
初始阶段无登录密码,可通过sql命令进行密码设置。 - 如果用Navicat访问,出现Table ‘performance_schema.session_variables’ doesn’t exist报错,查询遇到cannot select database
问题描述:
navicat连接本地MySQL时出现Table ‘performance_schema.session_variables’ doesn’t exist报错。网上的解决方法是在mysql的bin目录下运行 mysql_upgrade -u root -p --force命令,但是我在输入这个命令之后出现了Error occurred: Cannot select database.报错。
解决步骤:在mysql安装目录中的my.ini中添加如下代码:
show_compatibility_56 = ON
performance_schema
6. 然后以管理员身份运行命令窗口,切换到mysql的bin文件夹下,输入mysql -u root -p --force命令。
7. 然后重启mysql服务,以管理员身份运行命令窗口,输入net stop mysql,看到服务关闭后,再启动服务,net start mysql;
8. 重新用Navicat连接,即可看到表结构信息;
8.0版本安装
8.0版本安装与7.0版本安装基本相同,不同点主要有以下几点:
- !!! 不用自己创建data文件;
- 初始化命令后,务必记住生成的随机密码,初次登录使用。
- 8.0版本的my.ini文件如下:
[mysqld]
port=3306
basedir=D:\Program Files\mysql-8.0.29-winx64
datadir=D:\Program Files\mysql-8.0.29-winx64\data
max_connections=200
max_connect_errors=10
character-set-server=utf8mb4
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
[mysql]
default-character-set=utf8mb4
[client]
port=3306
default-character-set=utf8mb4
主要步骤如下:
- 配置环境变量,参考上面7.0版本安装;
- 以管理员命令切换到bin路径,参考上面;
- 输入mysqld -initialize–console命令;
- 然后输入mysqld -install命令出现安装成功,即安装成功;
- 然后输入net start mysql 命令启动服务,然后用刚才记录的密码登录即可。
如果出现service exsits服务存在,则先关闭之前的mysql服务,输入命令net stop mysql,然后删除服务 sc delete mysql。
8.修改密码,用Navicat登录,先用刚才之前随机登录的密码登录;
随后会提示修改新密码的弹框,输入新密码即可,随机密码只初次登录使用,配置文件中一定要加上default_authentication_plugin=mysql_native_password。
9.如果出现 ‘default_authentication_plugin’ is deprecated and will be removed in a future release. Please use authentication_policy instead.错误时,且没有生成data文件时,
- 可能是mysq8以上的版本登录加密方式Navicat不支持,需升级一下navicat版本,我用的是navicat15版本,之前是用的navicat12好像没成功。之前用navicat12访问mysql8的时候也出现过该问题,网上说的是mysql8的密码加密方式navicat不支持。
-或者可以尝试重新安装, 先执行安装命令mysqld -install命令,然后执行用以下命令:
mysqld --initialize --user=mysql --console
可以看到有随机登录密码生成,然后输入启动mysql命令,终于启动正常了。
- 修改mysql初始密码:随机生成的密码只能初次登录,需要设置新密码。
输入cmd命令:mysql -u root -p ,然后输入新密码登录mysql.
然后输入:use mysql;
新版本MySQL(8.0以上)不支持使用
SET PASSWORD FOR ‘root’@‘localhost’ = PASSWORD(‘root123456’);
或者
mysqladmin -u root -p PASSWORD “root123456”;
来修改用户密码。
解决方法:
alter user "root"@‘localhost' identified by ‘root123456’;
或者
alter use "root"’@‘localhost’ identified with mysql_native_password by ‘root123456’;
10.如果安装失败,删除已安装服务,重新解压安装。
- 先停止msyq服务:cmd命令窗口输入:net stop mysql;
- 然后删除mysql服务:sc delete myql,可以看到mysql删除提示;
总结以下,mysql安装失败一般有以下原因:
1).环境变量是否正确;
2).my.ini配置文件是否正确;
如果出现,启动服务问题Found option without preceding group in config file,可能是配置my.ini文件时“编码”为:UTF-8。!!!!重新另存为将编码改为“ANSI”后,初始化成功。
如果出现找不到路径的问题,可能是配置my.ini文件中basedir,datadir路径配置问题。
更保险的配置是路径中用双斜杠“\”,且basedir上面添加[mysqld],最终配置i如下:
[mysqld]
port=3306
[mysqld]
basedir=D:\\software\\mysql-8.0.29-winx64
datadir=D:\\software\\mysql-8.0.29-winx64\\data
max_connections=200
max_connect_errors=10
character-set-server=utf8mb4
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
[mysql]
default-character-set=utf8mb4
[client]
port=3306
default-character-set=utf8mb4
3).data文件问题;
4).之前版本卸载不完全;
5) navicat版本支持问题等;
折腾了好久,基本上有安装的问题都遇到了,好在都解决了。