Mysql的下载安装全过程(包括中途遇到的问题)

1.下载MySQL数据库可以访问官方网站:https://www.mysql.com/

2.点击DOWNLOADS模块下的Community模块下的MySQL Community Server进行下载。

 

 

  • 由于目前最新版本是:MySQL Community Server 5.7.21
  • 建议博友下载历史版本,本博下载的是5.6.39
  • 下载步骤:

 

  • 进入,选择MySQL的版本及主机

 

  • 根据自己的电脑选择相应的位数进行下载,本机是64位,点击download。

 

 

 

 

 

  • 进入下一个页面,该页面需要注册MySQL账户,也可不进行注册,直接下载。

 

 

3.配置MySQL数据库,配置步骤如下:

 

  • MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的。zip格式是自己解压,解压缩之后其实MySQL就可以使用了,但是要进行配置。
  • 如果用户没配置直接使用MySQL,但会出现图示的错误。这是因为没有配置环境变量所致。配置环境变量很简单:

    我的电脑->属性->高级->环境变量

    选择PATH,在其后面添加: 你的mysql bin文件夹的路径 :D:\Program Files\JavaTool\MySQL\mysql-5.6.39-winx64\bin

 

以管理员身份运行cmd(一定要用管理员身份运行,不然权限不够),

输入命令:cd D:\Program Files\JavaTool\MySQL\mysql-5.6.39-winx64\bin 进入mysql的bin文件夹(不管有没有配置过环境变量,也要进入bin文件夹,否则之后启动服务仍然会报错误2)

输入mysqld -install(如果不用管理员身份运行,将会因为权限不够而出现错误:Install/Remove of the Service Denied!) 

 

 

  • 安装成功

 

  • 启动服务了,输入命令:net start mysql。
  • 如图所示启动成功。

 

 

 

  • 服务启动成功之后,输入命令:mysql -u root -p(第一次登录没有密码,直接按回车过)!

 

  • 直接回车,如图所示,登录成功。

  • 错误总结:

 

若启动服务时,出现错误,请看注意:

这个时候经常会出现错误2和错误1067。

 

  • 如果出现“错误2 系统找不到文件”,检查一下是否修改过配置文件或者是否进入在bin目录下操作,如果配置文件修改正确并且进入了bin文件夹,需要先删除mysql(输入 mysqld -remove)再重新安装(输入 mysqld -install);
  • 如果出现错误1067,那就是配置文件修改错误,确认一下配置文件是否正确。

 

CMD无法启动mysql怎么处理?

 第一步:在MySQL的安装文件的bin目录(例如:C:\Program Files\MySQL\MySQL Server 8.0\bin)中新建一个my.ini的文件,复制进代码

##########################################################################################################

 

[mysqld]
#skip-grant-tables
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:\Program Files\MySQL\MySQL Server 8.0
# 设置mysql数据库的数据的存放目录
datadir=C:\Program Files\MySQL\MySQL Server 8.0\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

##########################################################################################################

 

把其中的两处工作路径改为自己的按照路径(这里可以自己创建一个data文件夹)

# 设置mysql的安装目录
basedir=C:\Program Files\MySQL\MySQL Server 8.0
# 设置mysql数据库的数据的存放目录
datadir=C:\Program Files\MySQL\MySQL Server 8.0\data

第二步:在CMD中执行 mysqld --initialize-insecure 指令,安装路径会默认生成一个data文件夹

第三步: 在CMD输入mysqld --install指令,安装mysql服务,之后会提示安装成功。(如果已经安装此步骤省略)

第四步:在CMD输入net start mysql,启动服务,这里如果显示服务启动成功代表安装成功。

若出现:正在启动服务,服务无法启动的错误。

【解决办法】:

(1)可以输入mysqld --console 启动 查看启动的报错信息,博主的报错信息是3306 端口已经被另一个服务占用,该次启动无法进行。这是问题的关键所在。

(2)去查找3306被谁占用了。步骤如下:

开始-运行-cmd, 输入 netstat -ano, 看第一列,后面的就是端口,找到3306 ,记住对应的PID

然后打开任务管理器查看 -> 选择列 -> 勾上 PID(进程标识符) -> 确定 

在任务管理器找到刚才的PID的进程,查看是什么程序占用了端口,把它关闭

在重新启动mysql就不会包端口被占用的错误了

(3)重新先用msqld --remove 删除掉服务,再把data文件夹也删除,重新执行以下三条指令即可完成

mysqld --initialize-insecure

mysqld --install

net start mysql

复制代码

在CMD执行mysql -u root,(无需密码, 即可进入),因为上边是用insecure 创建的。

这样就可以启动mysql服务了。

 

如果想修改密码的话,

在安装MySQL的bin目录下,找my.ini文件;

在[mysqld]后添加skip-grant-tables

#使其登录时跳过权限检查

 

重启MySQL服务器

 

 

这时可以键入mysql –u root –p;直接回车(Enter),就可以直接进入数据库。(可以不执行,直接进行密码修改)

在CMD执行mysqladmin -u root -p password

 

 再把my.ini的skip-grant-tables删除,然后重启MySQL服务器:

net stop mysql ;

net start mysql;

 

 

在安装完MySQL的时候,我们现在一般都使用Navicat来连接数据库,可惜出现下面的错误:1251-Client does not support authentication protocol requested by server; consider upgrading MySQL client。

出现上述问题的原因是:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password 把mysql用户登录密码加密规则还原成mysql_native_password

我安装的时候是使用的安装包去安装的,所以新建了几个用户,cmd命令,连接mysql,查询系统当中所有的用户。

1.查看MYSQL数据库中所有用户

mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

2.修改加密规则,因为最新版的加密规则好像不一样,安装的过程当中是有提示的。

mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;

3.修改用户的认证规则

mysql> alter user '用户名'@'%' identified with mysql_native_password by '密码';

例如我的用户名是admin,密码是123456,那么,我修改的规则如下

mysql> alter user 'admin'@'%' identified with mysql_native_password by '123456';

其中还有'用户名'@'%'和'用户名'@'localhost'的区别,一个是任意连接,一个是本地连接。

4.刷新权限

mysql> flush privileges;

5.停止并重启服务

 
  1. mysql> net stop mysql

  2. mysql> net start mysql

这里需要注意的是:mysql这个是你的mysql服务的名称,具体名称如何查询呢?假如你的服务名称为MySQL80,那么mysql就得改成MySQL80。

现在再去用Navicat去连接数据库,就不会出现上述的问题了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值