昨天花了好长时间下载配置MySQL,因为课程要求没有下载最新版,安装了5.7.29。虽然老师有给出安装和配置的完整教程,但是尴尬的是5.7.29只有ZIP Archive版,跳过了安装直接配置,就会出现一些问题。因为毫无汇编基础,很多都只能百度零零散散地找原因解决,今天把过程记录一下。
下载
MySQL教程网站http://www.runoob.com/mysql/mysql-tutorial.html,有全平台安装教程。本文主要是参考上面的教程,增加了一些自己在配置过程中遇到的问题及解决方法。
打开windows下载地址MySQL windows下载地址,显示的是MySQL的最新版。点击右上角的Looking for previous GA versions? 可以找到需要的老的版本,课程要求是5.x版本,我下载的是5.7.29。
点击download就可以快乐下载啦
下载好了后,新建mysql文件,解压压缩包到mysql。因为是ZIP Archive文件所以无需安装,接下来直接配置就可以。
配置MySQL
打开刚刚解压的文件夹 C:\mysql\mysql-5.7.29-winx64\mysql-5.7.29-winx64(我解压的时候不小心多套了一层),在该文件夹下新建txt,重命名为 my.ini 配置文件,编辑 my.ini 配置以下基本信息。粗体部分要修改成自己的目录。[client]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录(注意是双斜杠)
basedir=
C:\mysql\mysql-5.7.29-winx64\mysql-5.7.29-winx64
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=C:\\mysql\\sqldata
# 允许最大连接数max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
启动MySQL数据库
以管理员身份运行cmd命令行工具。否贼会报错:发生系统错误 5。 拒绝访问。
(安装过程需要开启管理员权限,因为直接下载了ZIP应该只要管理员模式打开cmd就可以了。不过我是在administrator里调配置的,参考了以下网站 win10 如何开管理员权限)。
切换目录到bin(修改成自己的路径):cd
C:\mysql\mysql-5.7.29-winx64\mysql-5.7.29-winx64\bin
如果报错: mysql' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
原因:没有在环境变量PATH中将mysql的路径添加进去。
解决方法:1、win+r-->services.msc-->右击mysql服务-->属性-->找到可执行路径并复制出来
2、右击“我的电脑”-->属性-->高级系统设置-->环境变量-->系统变量-->PATH-->新增-->上面的“可执行路径”
定位到你的 MYSQL安装目录之后再找到bin目录, 如: C:\mysql\mysql-5.7.29-winx64\mysql-5.7.29-winx64\bin
登陆MySQL
初始化数据库:mysqld --initialize --console
会在root@localhost:后显示root密码,记下来,登陆需要用到。
输入以下安装命令:mysqld install
初始化data目录:mysqld --initialize-insecure
启动输入以下命令即可:net start mysql
输入以下命令:mysql -u root -p
按回车确认, 如果安装正确且 MySQL 正在运行, 会得到以下响应:Enter password:
若密码存在, 输入之前看到的root密码登录, 不存在则直接按回车登录。登录成功后你将会看到 Welcome to the MySQL monitor... 的提示语。
然后命令提示符会一直以 mysq> 加一个闪烁的光标等待命令的输入, 输入\q退出登录。
接下来就可以输入命令语句测试是否能成功运行啦~~
如果报错:You must reset your password using ALTER USER statement before executing this statement
输入:ALTER USER USER() IDENTIFIED BY 'Xiaoming250';
重置密码即可。
最后
关闭窗口前记得输入net stop mysql