windos安装mysql遇到的问题解决

 

一  下载mysql

https://dev.mysql.com/downloads/mysql/5.7.html#downloads

 

  下载完解压到你想要存放的位置  我的是解压到D:\mysql-5.7.20-winx64

https://images2017.cnblogs.com/blog/1262632/201710/1262632-20171022095945506-1316178049.png

解压完成后是没有data文件和my.ini配置文件 这些都是要自己补充(下文有补充)

接下来是设置环境变量。我的是w10,打开系统变量,配置mysql的环境变量,下图是通过命令行打开系统变量

https://images2017.cnblogs.com/blog/1262632/201710/1262632-20171022101039396-1870185058.png

 

 创建MYSQL_HOME变量,变量值为你解压的位置

https://images2017.cnblogs.com/blog/1262632/201710/1262632-20171022101239084-1532048021.png

 

Path中添加%MYSQL_HOME%\bin;(注意结尾处有分号)

最后保存就完成了MySql的环境变量配置了

 

接下来是补充data文件和my.ini

D:\mysql-5.7.20-winx64\bin目录下用管理员打开cmd (管理员打开cmd的方法有几种,其中一种可以通过win+x  然后选择命令提示符(管理员)打开后记得在DOS转到 D:\mysql-5.7.20-winx64\bin目录下 然后运行mysqld --initialize-insecure --user=mysql (注意有空格)

然后返回目录就会发现有data目录了

创建my.ini文件,内容为(这里内容不一定要按照下文 可以自行百度 但是其实都差不多内容)

[client]
port=3306
default-character-set=utf8

[mysqld] 
# 设置为自己MYSQL的安装目录 windows: D:\\mysql-5.7.20-winx64

basedir=D:\mysql-5.7.20-winx64
# 设置为MYSQL的数据目录 windows: D:\\mysql-5.7.20-winx64\data
datadir=D:\mysql-5.7.20-winx64\data
port=3306
character_set_server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER
#开启查询缓存
explicit_defaults_for_timestamp=true
#免密码登陆

skip-grant-tables

 

完成上面两个文件的创建后,还是在D:\mysql-5.7.20-winx64\bin下用管理员运行cmd  输入命令 mysqld -install  如果出现Service successfully installed 说明注册成功了

https://images2017.cnblogs.com/blog/1262632/201710/1262632-20171022102654834-210097274.png

 

 因为我已经注册好了,所以再运行该命令时会出现上图

接下来 运行net start mysql命令(启动MYSQL命令) 会出现下图 

 https://images2017.cnblogs.com/blog/1262632/201710/1262632-20171022103127724-1398377333.png

 

net stop mysql命令(停止MYSQL命令) 

https://images2017.cnblogs.com/blog/1262632/201710/1262632-20171022103256021-1961106633.png

 

到这里,你就完成了MySql的相关下载和配置

 

运行“net start mysql”命令,出错!

如图所示,安装提示成功,开启服务失败。

 运行“mysqld --console ”命令可以显示出启动错误信息

执行命令“mysqld -remove”将其删除并重新运行” mysqld -install “命令进行安装。提示成功。 执行” mysqld - -console “命令。

 

二  安装遇到的问题

首先描述一下在安装过程中出现的问题: 
安装时首次提示电脑缺少msvcr120.dll文件,问题是电脑里本身就有这个文件啊,然而在下载下来运行后又提示与电脑不匹配了。。。

因为是安装新版本的MySQL文件,所以是按照官网教程来安装,然而教程里早已阐明一切。。

截图: 

图中Important可以看到,在安装MySQL 5.7 Server 之前用户需要先确保已安装 “Microsoft Visual C++ 2013 Redistributable Package”

问题就出在这一步,很关键的一步哈

  • 1
  • 2

按正常思维来说,看到这我就开始确认自己电脑有没有上面的这个东西,打开控制面板->程序,Wow,它就安静的呆在那里,不悲不喜

呃呃,回归正题,这个时候,我就开始进行下一步了,然而,问题就在这,我电脑上的显然是老版本的,此刻如果从官网下载,必然是升级后的软件包,所以这就导致了之后安装MySQL时报错。

我是怎么发现的?当然是在自己电脑上试验过后,又拿小伙伴电脑试验啦,在官网下载安装包安装并重启电脑后就ok了,真是给别人做了嫁衣,呃呃,开玩笑,其实也没有了,自己也积攒了经验,还可以分享给别人,何乐而不为呢

Microsoft Visual C++ 2013 Redistributable Package 官网链接: 
https://www.microsoft.com/zh-cn/download/details.aspx?id=40784

Microsoft Visual C++ 2015 Redistributable Package 官网链接:

https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=48145

 

 

三、简洁过程

一:下载相应版本的mySql

https://dev.mysql.com/downloads/mysql/5.7.html#downloads

下载  msvcr120.dll

https://www.microsoft.com/zh-cn/download/details.aspx?id=40784

安装:mysqld --initialize-insecure --user=mysql 

注册:mysqld –install

net start mysql命令(启动MYSQL命令)

net stop mysql命令(停止MYSQL命令)

登陆mysql:   mysql -u root -p 

修改密码:mysqladmin -uroot -p password

密码默认为空: set password for root@localhost=password(‘123456’)

配置远程登录

update user set host='%' where host='localhost' and user='root';

host为“%”的root用户,即可重启MySQL后直接在MF客户端连接即可成功。

修改datebase:

Use mysql;

GRANT ALL PRIVILEGES ON *.* TO '账号'@'%' IDENTIFIED BY '密码';

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';

重新启动mysql服务

service mysql restart

 

四、异常处理

(一)mysql 5.7 加密方式修改

Mysql 5.7以后更改了加密方式。需要进行修改加密方式

  1. 先通过命令行进入mysql的root账户:

 C:\Windows\system32> mysql -uroot -p

再输入root的密码:

 Enter password: ******

  1. 更改加密方式:

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

  1. 更改密码:

 mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123';

  1. 刷新: mysql> FLUSH PRIVILEGES;

(二)写入MySQL报错超出 max_allowed_packet 的问题

MySQL会根据配置文件会限制server接受的数据包的大小。如果写入大数据时,因为默认的配置太小,插入和更新操作会因为 max_allowed_packet 参数限制,而导致失败。

查看当前配置: show variables like 'max_allowed_packet';

max_allowed_packet 如果不设置,默认值在不同的 MySQL 版本表现不同,有的版本默认1M,有的版本默认4M。

修改方法1(配置文件持久化修改):

可以编辑my.cnf来修改(windows下my.ini),在[mysqld]段或者mysql的server配置段进行修改。

max_allowed_packet = 20M

如果找不到my.cnf可以通过

mysql --help | grep my.cnf

去寻找my.cnf文件。

     vim /etc/my.cnf [mysqld] max_allowed_packet = 100M

注意:修改配置文件以后,需要重启mysql服务才能生效。

修改方法2(命令行临时修改) (修改后,重启数据库会恢复为默认)

mysql> set global max_allowed_packet = 100 * 1024 * 1024;

注意:

1.命令行修改时,不能用M、G,只能这算成字节数设置。配置文件修改才允许设置M、G单位。

2.命令行修改之后,需要退出当前回话(关闭当前mysql server链接),然后重新登录才能查看修改后的值。通过命令行修改只能临时生效,下次数据库重启后又复原了。

 3.max_allowed_packet 最大值是1G(1073741824),如果设置超过1G,查看最终生效结果也只有1G。

 

发布了14 篇原创文章 · 获赞 13 · 访问量 1716

猜你喜欢

转载自blog.csdn.net/D102601560/article/details/103219284