免安装版的Mysql
MySQL关是一种关系数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用的标准化语言,其特点为体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,在 Web应用方面 MySQL 是最好RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
在本博文里,我主要以Mysql免安装版为例,帮助大家解决安装与配置mysql的步骤。
首先:要先进入(Mysql的官网>https://www.mysql.com/),下面是详细步骤:↓
一、下载安装包:
①进入官网后,点击”Dowload”,然后页面往下拉
②接下来看到的页面是这样的,红色框框的链接就是mysql社区版,是免费的mysql版本,然后我们点击这个框框的链接:↓
③接下来跳转到这个页面,在这里,我们只要下载社区版的Server就可以了:↓
④下载免安装版(windows以外的其他系统除外)
***这样,安装包就下载好了!
***注意,安装的目录应当放在指定位置,,其次,绝对路径中避免出现中文,推荐首选英文为命名条件!!!!
二、Mysql的配置
*以管理员身份打开命令行(如下图所示),一定要是管理员身份,否则由于后续部分命令需要权限,出现错误!
①下转到mysql的bin目录下:
②安装mysql的服务:mysqld –install
③初始化mysql,在这里,初始化会产生一个随机密码,如下图框框所示,记住这个密码,后面会用到(mysqld –initialize –console)
④开启mysql的服务(net start mysql)
⑤登录验证,mysql是否安装成功!(要注意上面产生的随机密码,不包括前面符号前面的空格,否则会登陆失败),如果和下图所示一样,则说明你的mysql已经安装成功!注意,,一定要先开启服务,不然会登陆失败,出现拒绝访问的提示符!!!
修改密码:
由于初始化产生的随机密码太复杂,,不便于我们登录mysql,因此,我们应当修改一个自己能记住的密码!!
设置系统的全局变量:
为了方便登录操作mysql,在这里我们设置一个全局变量:↓
①点击”我的电脑”–>“属性”–>‘‘高级系统设置’’–>‘‘环境变量’’,接下来如下图所操作
②把新建的mysql变量添加到Path路径变量中,点击确定,即完成:
配置完成之后,每当我们想要用命令行使用mysql时,只需要win+R,–>输入”cmd”打开命令行,之后输入登录sql语句即可。
③在mysql目录下创建一个ini或cnf配置文件,在这里我创建的是ini配置文件,里面写的代码是mysql的一些基本配置
[mysqld]
character-set-server=utf8mb4
bind-address=0.0.0.0
port=3306
default-storage-engine=INNODB
[mysql]
default-character-set=utf8mb4
[client]
default-character-set=utf8mb4
就这样,一个免安装版的Mysql就安装并配置完成了
**
MySQL 开启远程连接
一、MySQL 开启远程连接需要先在服务器上登录到 MySQL
mysql -u root -p
然后 Enter password: 输入密码
二、修改 root 账户的 Host
1、打开 mysql 数据库
use mysql;
2、修改一条 root 用户host,并刷新MySQL的系统权限相关表
update user set Host = '%' where User='root';
flush privileges;
这样就能通过ip远程连接mysql了。
mysql 8.0修改密码方式(特别注意)
alter user 'root'@'%' identified with mysql_native_password by 'root';
alter user 'root'@'localhost' identified with mysql_native_password by 'root';
**
可能会出现的问题
1、ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO/YES)
2、“由于找不到MSVCR120.dll,无法继续执行代码。重新安装程序可能会解决此问题” 或者 “由于找不到VCRUNTIME140_1.dll,无法继续执行代码。重新安装程序可能会解决此问题”
3、“net start Mysql”启动服务时 ,显示”Mysql服务正在启动 Mysql服务无法启动 服务没有报告任何错误”
解决办法
(问题1):
.一、问题
有时候我们登录Mysql输入密码的时候,会出现这种情况
mysql -u root -p
Enter Password > ‘密码’
错误:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)
或者:错误:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)
二、解决办法
修改my.in/my.cnf配置文件
进入mysql安装目录
编辑my.ini
在[mysqld]下添加skip-grant-tables跳过登录验证,保存即可。
使用管理员身份打开命令行
①重启mysql:
1、net stop mysql 2、net start mysql
②进入mysql,登录
mysql -u root -p
不用输入密码,直接回车(出现Enter Password 也一样直接回车,即可登陆成功)
③输入use mysql,修改root的密码:
mysql8.0之前版本采用:
update user set authentication_string=password(‘新密码’) where user=‘root’;
flush privileges;
mysql8.0版本采用:
alter user ‘root’@‘%’ identified with mysql_native_password by ‘root’;
alter user ‘root’@‘localhost’ identified with mysql_native_password by ‘root’;
flush privileges;
④退出:
quit;
⑤再次重启mysql:
1、net stop mysql 2、net start mysql
⑥测试是否成功就是是否登陆成功咯。
mysql -u root -p
Enter Password>‘新密码’
就不会出错,可以登录啦!!!
(另外一种情况就是,,你密码输入错误了,如果是初始化后第一次登录,出现这种情况的话,很大概率就是密码错误,初始化后的密码要认真查看,可能会因为空格、小数点等符号输错)
(问题2):
一、问题
对mysql初始化的时候遇到的问题,描述如下:
1、无论是:"由于找不到MSVCR120.dll,无法继续执行代码。重新安装程序可能会解决此问题"
2、还是 "由于找不到VCRUNTIME140_1.dll,无法继续执行代码。重新安装程序可能会解决此问题"
问题解析:
这是安装mysql-8.0.20初始化的时候会遇到的报错。
这种错误是由于电脑系统缺少部分配置文件引起的,安装 vcredist 下载相关配置文件即可。
二、解决
1、官网地址 (vcredist) :https://www.microsoft.com/zh-CN/download/details.aspx?id=40784
缺少的dll文件也可在我的博客主页资源中下载,下载之后复制到C:\Windows\System32文件夹中即可。
命令参考:
①安装服务:mysqld –install
②初始化: mysqld –initialize –console
③开启服务:net start mysql
④关闭服务:net stop mysql
⑤登录mysql:mysql -u root -p
Enter PassWord:(密码)
⑥修改密码:alter user ‘root’@‘localhost’ identified by ‘root’;(by 接着的是密码)
⑦标记删除mysql服务:sc delete mysql
**
用navicat连接MySQL8+时会出现2059错误
**原因:
这是由于在mysql8之前的版本中加密规则为mysql_native_password,而mysql8以后版本的MySQL使用的是caching_sha2_password验证方式,但此时的navicat还没有支持这种验证方式。
解决方法:
一种是更新navicat驱动来解决此问题,一种是将mysql用户登录的加密规则修改为mysql_native_password。本文采用第二种方式。
解决过程:
在命令行中登录数据库时不会出现2059错误,所以在命令行中登录数据库,
执行下面的命令。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
刷新权限。
FLUSH PRIVILEGES;
问题解决。
注意:‘root’可以改为你自己定义的用户名,‘localhost’指的是该用户开放的IP,可以是’localhost’(仅本机访问,相当于127.0.0.1),可以是具体的’...‘(具体某一IP),也可以时’%'(所有IP均可访问,一般修改为%)。最后的’root’是你想使用的验证密码。需要根据实际情况替换成自己的实际配置。
**
[ERR] 2006 – MySQL server has gone away
修改my.ini 加入
max_allowed_packet=2048M 调整到合适大小
wait_timeout=288000
interactive_timeout = 288000
** 解决Navicat运行sql文件报错:1292 – Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘created_at‘ at
[ERR] 1292 - Incorrect datetime value: '0000-00-00 00:00:00' for column 'created_at' at row 1
修改sql_mode(将上述查询到的sql_mode中的NO_ZERO_DATE和NO_ZERO_IN_DATE删除即可)
修改全局
set @@global.sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
# 修改当前
set @@sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
SQL Mode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。
还可以在MySQL配置文件mysql.ini中修改sql_mode配置,这样就不需要每次重启MySQL就得重新设置sql_mode了
在my.ini的[mysqld]下添加:
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
然后重启mysql。
MySQL卸载
卸载很方便,使用管理员权限打开命令提示符,依次输入下面命令。
结束MySQL服务:net stop mysql
删除MySQL服务:mysqld -remove mysql
或sc delete mysql
删除MySQL的文件夹
删除MySQL环境变量
卸载解压版MySQL
(1). 关闭服务
以管理员身份运行cmd,命令:
net stop mysql
(2). 卸载服务
以管理员身份运行cmd,命令:
mysqld -remove [服务名]
(3). 删除文件
删除mysql安装目录
(4). 删除注册表信息
清除注册表中的该MySQL服务,有几个地方:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目录删除
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL 目录删除
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL 目录删除
注册表中的ControlSet001、ControlSet002不一定是001和002,可能是ControlSet005、006之类,删除的时候都删除就可以 。
安装常见问题
(1). data文件错误
错误描述:在启动mysql服务时,提示:
mysql服务无法启动。服务器没有报告任何错误。请键入 NET HELPMSG 3534 以获得更多的帮助。
错误原因:一般初始化之前已存在data文件就会出现这个错误,或者data文件缺少了某些文件
解决方法:先执行命令:
mysqld -remove [服务名]
然后把data文件夹删除,如果删除不了重启一下就可以了,之后重新进行安装就没问题了。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/36329.html