step1.下载MySQL数据库可以访问官方网站:https://www.mysql.com/;
step2.点击DOWNLOADS模块;
step3.在页面的最下端找到MySQL Community Server并点击进入;
step4.选择主机操作系统,根据自己的电脑选择相应的位数进行下载,本机是64位,点击download;
注意:MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的。zip形式安装文件直接点击step5 进行下载; msi形式安装文件点击step6 进行下载;
step7.在下载页面点击直接开始下载;
step8.配置MySQL数据库,配置步骤如下:
MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的。zip格式是自己解压,解压缩之后其实MySQL就可以使用了,但是要进行配置。
我的电脑->属性->高级->环境变量,选择PATH,在其后面添加: 你的mysql bin文件夹的路径 :C:\mysql-8.0.22-winx64\bin
step9.配置完环境变量之后,还需要修改一下配置文件(如果没有配置,之后启动的时候就会出现图中的错误哦!:错误2 系统找不到文件),默认的配置文件是在C:\mysql-8.0.22-winx64\my.ini,或者自己建立一个my.ini文件(最好是从其他地方拷贝一个完整的参照修改)。
在其中修改或添加配置 :
basedir=C:/mysql-8.0.22-winx64/
datadir=C:/mysql-8.0.22-winx64/data/
注意:my.ini文件的编码必须是英文编码(如windows中的ANSI),不能是UTF-8或GBK等。
以管理员身份运行cmd(一定要用管理员身份运行,不然权限不够);
step10.输入命令:cd C:\mysql-8.0.22-winx64\bin 进入mysql的bin文件夹(不管有没有配置过环境变量,也要进入bin文件夹,否则之后启动服务仍然会报错)
输入mysqld -install(如果不用管理员身份运行,将会因为权限不够而出现错误) 安装MySQL服务;
所遇到的问题:使用net start MySQL命令启动服务时,启动不了;
网上说原因是我下载这个MySQL ZIP版本中并没有data文件夹;(解压完时的确没有data文件夹和my.ini文件)
翻找网上资料,输入C:\mysql-8.0.22-winx64\bin>mysqld --initialize-insecure --user=mysql,可以生成data文件夹;
结果执行命令时候出现以下错误;
Error while setting value ‘STRICT_TRANS_TABLES, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION’
网上查询结果需要将my.ini 中的 sql_mode 这行代码注释掉;
修改my.ini 文件
重新执行 C:\mysql-8.0.22-winx64\bin>mysqld --initialize-insecure --user=mysql命令后,果然生成data文件夹;
接下来 执行net start mysql 命令启动服务时,出现 The service is starting or stopping.
Please try again later. 错误
此时要打开任务管理器,将进行中的mysqld 进程关掉;执行net start mysql 命令重新启动即可;
异常 The innodb_system data file \'ibdata1\' must be writable 的解决办法;
将innodb的系统文件夹下的文件都删除,文件夹位置见下图;并且把MySQL 安装目录下的data文件夹删除;
执行 mysqld --initialize-insecure 生成data文件夹
小贴士:
- mysqld –initialize-insecure自动生成无密码的root用户,
- mysqld –initialize自动生成带随机密码的root用户。
- 如果出错,清空data文件夹
遇见的错误: MySQL提示启动成功,实际进程并没有起来;
此时可以查看MySQL安装目录下的data文件夹中的以 .err为后缀的文件内容;查看具体的异常信息进行解决;
在配置文件my.ini 中加上 shared-memory 和 enable-named-pipe可以解决以上问题;
登录root 用户 ;如果出现以下错误 Can\'t connect to MySQL server on \'localhost\' (10061)
则 先关闭服务 然后实行mysqld --console --skip-grant-tables --shared-memory命令,
skip-grant-tables是跳过数据库权限验证
再开一个cmd窗口:实行mysql -uroot -p 进行无密码登录
参照文档:MySQL 8.0.13 密码问题 ERROR 1045 (28000): Access denied for user \'root\'@\'localhost\' (using password: NO)
然后依次执行以下命令:
//更新root密码 设置root密码为空
UPDATE mysql.user SET authentication_string=\'\' WHERE user=\'root\' and host=\'localhost\';
//刷新权限优先级
flush privileges;
//查询
mysql> select host,user,plugin,authentication_string from mysql.user;
再打开一个新的命令行窗口
哎呀 安装过程中 踩的坑很多 以下是参照的文档 有需要的拿走参照不谢:
1.MYSQL安装报错 -- 出现Failed to find valid data directory.
2.mysql8.0.12没有data_Windows 64 位 mysql 8.0.12版本包解压中没有data目录和my-default.ini文件以及服务无法启动的解决办法以及修改初始密码的方法...
注意:
一台机器上安装俩个MySQL服务的话,有时会出现虽然俩个服务名,但是路径指向的是同一个文件夹的问题;
此时要去看一下环境变量,把想要改的服务的环境变量放在前面;再把原来的服务删除重新创建一个;
用图形化界面链接数据库时,出现以下问题:
解决Navicat for MySQL 连接 Mysql 8.0.11 出现1251- Client does not support authentication protocol requested by server,consider upgrade mysql client 错误
解决办法
执行上面蓝色选中部分修改密码的命令时,出现:The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement异常
解决办法:先执行:flush privileges;命令,再执行修改密码命令,可以了:
再重新使用Navicat创建连接,就可以连接成功了