Windows MySQL服务安装及问题解决方案

80 篇文章 2 订阅
13 篇文章 0 订阅

安装及配置

步骤一:官网下网MySQL安装包

【MySQL安装包】链接: https://downloads.mysql.com/archives/community/
在这里插入图片描述
下载完后,在一个非中文(无空格、特殊字符)目录下进行解压
在这里插入图片描述

步骤二:设置环境变量

步骤:右键"开始"->“高级系统设置”->“高级”->“环境变量”->“系统变量”->“path”
在这里插入图片描述
新建环境变量:

变量名:MYSQL_HOME
变量值:为MySQL解压的根目录

在这里插入图片描述
在"path"中,添加环境变量

%MYSQL_HOME%\bin

步骤仨:配置MySQL,ini配置文件

在解压后的根目录下(即D:/MySQL/mysql-8.0.33-winx64),创建my.ini文件,并将**“basedir""datadir”**修改成本地的路径
**注意:**需要保存为ANSI编码----使用记事本打开,保存/另存为,选择ANSI编码

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\MySQL\mysql-8.0.33-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\MySQL\mysql-8.0.33-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=innodb

步骤四:初始化MySQL

搜索CMD,以管理员身份运行,执行以下命令

mysqld --initialize-insecure

操作成功后,会在MySQL根目录生成一个data文件夹,里面存放的是数据信息
在这里插入图片描述
在这里插入图片描述

步骤五:开启MySQL服务

win+R:输入"services.msc"
在这里插入图片描述
进行"服务"
在这里插入图片描述
点击启动或者重新启动

步骤六:测试是否安装成功

以管理员身份运行命令行,输入

mysql -uroot

我这是安装过了,修改后密码了,所有让填写密码,如果是首次安装,输入 “mysql -uroot”按回车可直接显示"welcome…"信息
在这里插入图片描述

步骤七:修改密码

//第一个root为用户名,第二个password为密码
alter user 'root'@'localhost' identified by 'password';

之后再用"mysql -u root -p"命令登录,就会让输入密码,登录成功会显示"welcome…"内容。

问题解决方案

修改密码

在知道密码的情况下修改:

fun1:

打开命令行,执行以下语句

mysql -u root -p

按回车确认, 如果安装正确且 MySQL 正在运行, 会得到以下响应:

Enter password:

若密码存在, 输入密码登录, 不存在则直接按回车登录。
登录成功后你将会看到 Welcome… 的提示语。
修改密码:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

出现Query OK, 0 rows affected (0.36 sec),表示修改成功。

fun2:

通过mysqladmin修改密码
root 用户可以使用 mysqladmin 命令来修改密码,mysqladmin 的语法格式如下:

mysqladmin -u username -h hostname -p password "newpwd"

语法参数说明如下:
usermame 指需要修改密码的用户名称,在这里指定为 root 用户;
hostname 指需要修改密码的用户主机名,该参数可以不写,默认是 localhost;
password 为关键字,而不是指旧密码;
newpwd 为新设置的密码,必须用双引号括起来。如果使用单引号会引发错误,可能会造成修改后的密码不是你想要的。
提示 :由于密码将以明文形式发送到服务器,请使用ssl连接以确保密码安全。
修改成功后,有时有提示信息,提示的信息可以忽略。
在不知道密码的情况下修改:

fun3
  1. 以超级管理员打开cmd,关闭mysql服务
net stop mysql
  1. 跳过权限验证登录mysql
mysqld --shared-memory --skip-grant-tables
  1. 在新的窗口中登录mysql
    使用命令:
mysql -u root -p

无需输入密码,直接回车即可。

  1. 切换到mysql,将密码置空。
use mysql;
update user set authentication_string='' where user='root';

然后刷新权限:

flush privileges;
  1. 设置加密规则并更新新密码,授权(直接复制这些SQL语句你的密码会更新为123456)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER; 
alter user 'root'@'localhost' identified by '123456';
grant all privileges  on *.*  to "root"@'localhost';
flush privileges;
  1. 设置成功后,重启mysql服务,使用新密码登录
net start mysql

如果修改不成功,附一个链接,可按照这个链接进行设置:
链接: https://blog.csdn.net/linmengmeng_1314/article/details/109484951

8.0版本之后加密规则不同,navicat无法链接到MySQL数据库

用navicat进行连接MySql服务器,报错:

Client does not support authentication protocol requested by server; consider upgrading MySQL client

1.问题原因

通过相关问题查阅,发现是由于navicat版本的问题造成连接失败。mysql8
之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password

MySql查看版本号-1

LITING:~ liting$ mysql -uroot -p    // 进入mysql
Enter password:  //输入mysql密码,如下提示表示登录成功
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 24
Server version: 8.0.14 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

MySql查看版本号-2(可以进入mysql后通过mysql命令查看)

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.14    |
+-----------+
1 row in set (0.00 sec)

2.解决问题
1.进入mysql

LITING:~ liting$ mysql -uroot -p
Enter password:  // mysql密码
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 26
Server version: 8.0.14 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

2.输入命令修改加密规则

1.ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER; password替换为mysql连接密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678' PASSWORD EXPIRE NEVER;

2.ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’; password为修改的新密码。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

3.刷新权限,使修改生效。

FLUSH PRIVILEGES; 

4.查看表中相关信息,确认修改是否真正生效

mysql> use mysql;  //先使用命令 use mysql
Database changed
mysql> select user,host,plugin from user where user='root'; // 在输入该命令
+------+-----------+-----------------------+ 
| user | host      | plugin                |
+------+-----------+-----------------------+
| root | localhost | mysql_native_password |
+------+-----------+-----------------------+
1 row in set (0.00 sec)

如上,密码校验规则已经修改成功

5.通过navicat连接测试

链接: https://blog.csdn.net/weixin_43111077/article/details/108811949

如何让局域网内的其他电脑访问本机的mysql

第一步:先用其他电脑ping本机,看能否ping通
在这里插入图片描述
第二步:开放mysql的权限
打开mysql的命令窗口,修改访问权限为all,即set host=‘%’ where host= ‘localhost’
在这里插入图片描述
第三步:刷新权限
让赋予的权限立即生效:

flush privileges;

不出意外的话重启一下自己的mysql服务,别的电脑就能连上自己的库了,如果不行试下下面的命令

GRANT ALL PRIVILEGES ON *.* TO root @'%' IDENTIFIED BY "mypassword";
FLUSH PRIVILEGES; 

% 表示所有的IP都能访问,也可以修改为专属的
mypassword 为连接密码 需要修改为你自己的

MySQL命令行使用

链接: https://blog.csdn.net/qq_43003203/article/details/114461457

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FreeLikeTheWind.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值