MySql安装+navicat

下载地址 

阿里云开源镜像站资源目录

MySQL :: Download MySQL Community Server (Archived Versions)

安装步骤

Windows下MySQL5.7版本下载与安装详细教程,实测有效_javafg的博客-CSDN博客

2021MySql-8.0.26安装详细教程(保姆级)_ylb呀的博客-CSDN博客_mysql8.0.26安装教程

微软常用运行库合集

免安装版mysql的安装

MySQL的安装与配置——详细教程 - itcui - 博客园

  1. msi的安装包是需要执行界面化安装的(参考链接:Mysql msi安装文件,安装方法_七步心上月的博客-CSDN博客_msi文件怎么安装)
  2. zip的安装包是不需要执行界面化安装的,只需在命令行install,本文就是这种方式。 

0 官网下载方式 

0.1 Mysql官网: 【Mysql Community Server】,这个是社区版本,开源免费,但不提供官方技术支持。

https://www.mysql.com/

0.2 打开下面这个链接: 

https://dev.mysql.com/downloads/mysql/

一个是msi安装包。

第二个是ZIP安装包

第三个是带二进制测试工具的安装包

MySql安装+navicat_第1张图片MySql安装+navicat_第2张图片 

0.3 点击图片或者goto download page都会跳转到下面这个链接 :

https://dev.mysql.com/downloads/windows/installer/8.0.html

如果你感觉当前的MySql版本太新可以往下看      Archives是---->档案,归档

MySql安装+navicat_第3张图片

MySql安装+navicat_第4张图片

MySql安装+navicat_第5张图片

 第一个会根据需要的东西联网来进行安装,第二个里面已经包含了要安装的东西了 

1. 点击:mysql-installer-community-8.0.13.0.msi

2.点击同意

MySql安装+navicat_第6张图片

3 . 

developer default(开发者默认):安装mysql开发所需的所有产品
server only(服务器):只安装mysql服务器产品
client only(客户端):只安装没有服务器的mysql客户端产品
full(完全):安装所有包含的mysql产品和功能
custom(手动):手动选择系统上应安装的产品    <----我用这种方式安装

MySql安装+navicat_第7张图片

MySql安装+navicat_第8张图片

  第一个路径是安装路径,第二个是数据文件存储路径,点击OK,然后再去点击 NEXT


 

1 解压压缩包

1.1 打开解压后的目录,进入bin文件夹,启动cmd,在命令行安装mysql

>>> mysqld --install          // mysqld --install mysql

>>>Service successfully installed. // 到此为止,我们的基本安装就完成了。

如果提示你:Install/Remove of the Service Denied!

就使用管理员身份打开cmd

1.2 我们接着进行数据库的初始化工作(获取随机密码)

注意:在MySQL目录下的bin目录下执行命令:

>>>mysqld --initialize --console

2020-09-18T03:43:31.784277Z 0 [System] [MY-013169] [Server] D:\mysql-8.0.19-winx64\bin\mysqld.exe (mysqld 8.0.19) initializing of server in progress as process 8892

2020-09-18T03:43:33.272460Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: %ejvIt4yPd1k

上面最后一行的粗体字是密码,系统在初始化的时候自动形成的,这个一般是随机形成的,没有规律

1.3 启动服务

方式一:手动

方式二:cmd---->services.msc开启MySQL服务

方式三:管理员打开cmd输入: net start mysql    |   net stop mysql

如果报错:服务名不对,就去任务管理器中找到mysql服务 ,有的是大写MySQL 

1.4 登录mysql

命令:mysql -u root -p

回车后输入密码,就是刚才系统生成的密码

>>>mysql -uroot -proot
或者
>>>mysql -uroot -p
>>> <输入刚才获取的随机密码>
>>>

1.5 退出

quit   或者  exit

1.6 更改密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';

   alter user 'root'@'localhost' identified by 'new_password';  

1.7 设置密码

Microsoft Windows [版本 10.0.19042.1415]
(c) Microsoft Corporation。保留所有权利。

C:\WINDOWS\system32>cd D:\Env\env\MySQL\mysql-8.1.0-winx64\bin

C:\WINDOWS\system32>d:

D:\Env\env\MySQL\mysql-8.1.0-winx64\bin>mysqld --install
Service successfully installed.

D:\Env\env\MySQL\mysql-8.1.0-winx64\bin>mysqld --initialize --console
2023-08-16T16:09:14.212896Z 0 [System] [MY-015017] [Server] MySQL Server Initialization - start.
2023-08-16T16:09:14.225268Z 0 [System] [MY-013169] [Server] D:\Env\env\MySQL\mysql-8.1.0-winx64\bin\mysqld.exe (mysqld 8.1.0) initializing of server in progress as process 3232
2023-08-16T16:09:14.273381Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-08-16T16:09:14.596218Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-08-16T16:09:17.276696Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rE8wMwcxQ*>:
2023-08-16T16:09:19.443716Z 0 [System] [MY-015018] [Server] MySQL Server Initialization - end.

D:\Env\env\MySQL\mysql-8.1.0-winx64\bin>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。


D:\Env\env\MySQL\mysql-8.1.0-winx64\bin>mysql -u root -p
Enter password: ************
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.1.0

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

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> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.02 sec)

mysql> exit
Bye

D:\Env\env\MySQL\mysql-8.1.0-winx64\bin>mysql -u root -p
Enter password: ******
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.1.0 MySQL Community Server - GPL

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

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> exit
Bye

D:\Env\env\MySQL\mysql-8.1.0-winx64\bin>

​​​​​​​

2 编写MySQL配置文件

在解压目录下新建my.ini文件 
MySql安装+navicat_第9张图片

默认情况下:

DataDir---->C:\ProgramData\MySQL\MySQL Server 8.0\Data 该参数指定了 MySQL 的数据库文件放在什么路径下。数据库文件即我们常说的 MySQL data 文件。

BaseDir---->该参数指定了安装 MySQL 的安装路径,填写全路径可以解决相对路径所造成的问题。

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录   ----------是你的文件路径-------------
basedir=D:\mysql-8.0.26-winx64\mysql-8.0.26-winx64
# 设置mysql数据库的数据的存放目录  ---------是你的文件路径data文件夹自行创建
#datadir=E:\mysql\mysql\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

在 MySQL 的配置文件 my.ini 或者 my.cnf 文件中

1、basedir 参数

原文说明为:Path to installation directory. All paths are usually resolved relative to this.

解释:该参数指定了安装 MySQL 的安装路径,填写全路径可以解决相对路径所造成的问题。

例如:basedir="E:/dev/MySQL/MySQL Server 5.2/"

则表示我的 MySQL 安装在 E:/dev/MySQL/MySQL Server 5.2/ 路径下。

2、datadir 参数  

卸载的时候注意去my.ini下找到 datadir目录所在的位置,将下面的文件删除干净。

原文说明为:Path to the database root

解释:该参数指定了 MySQL 的数据库文件放在什么路径下。数据库文件即我们常说的 MySQL data 文件。

例如:datadir="E:/dev/MySQL/MySQL Server 5.2/Data/"

则表示我的 MySQL 数据库文件放在 E:/dev/MySQL/MySQL Server 5.2/Data/ 路径下。

3 环境变量设置

MySql安装+navicat_第10张图片

添加%MYSQL_HOME%\binMySql安装+navicat_第11张图片

右键此电脑---->管理---->服务与应用程序---->服务---->mysql---->启动类型---->手动

设置完环境变量,在服务已启动的情况下

就可以在命令行登录mysql了

C:\Users\Admin>mysql -u root -p
Enter password: ****

输出当前mysql的BaseDir(安装)目录:

select @@basedir as basePath from dual;    

输出当前mysql的DataDir所在的目录

select @@datadir as dataPath from dual;
show variables like 'datadir';

cmd中给mysql服务换名字:

步骤一:输入CMD并运行。
步骤二:在CMD控制台窗口中输入以下命令:
net stop mysql
sc config mysql DisplayName= "NewName"
其中,NewName是您期望为Mysql服务命名的新名称。请在替换旧名称之前,确保为服务制定了一个新名称,并已记住该名称,否则会导致Mysql服务停止运行或无法访问。
步骤三:在CMD控制台窗口中再次输入以下命令:
net start mysql
现在,您已经成功地将Mysql服务的名称更改为新名称。

3 Navicat

参考链接: 

Navicat 怎么用?- Navicat 实战教程 - 知乎​​​​​​

1 navicat下载:Navicat | 产品 

2 创建本地连接

MySql安装+navicat_第12张图片

 MySql安装+navicat_第13张图片

就有了 

 MySql安装+navicat_第14张图片

3  新建数据库

将刚建立好的链接,打开

3.1 遇到错误

参考文章:navicat 连接 mysql 出现Client does not support authentication protocol requested by server解决方案

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

网上找了如下方法:

  1. 其一:   some_user、some_host、newpwd按自己实际情况修改
    mysql> SET PASSWORD FOR
         -> 'some_user'@'some_host' = OLD_PASSWORD('newpwd');
  • 其二:    some_user、some_host、newpwd按自己实际情况修改
    mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
    
        -> WHERE Host = 'some_host' AND User = 'some_user';
    
    mysql> FLUSH PRIVILEGES;
    

  • 其三(试过,已成功):
    但是自己尝试了之后依旧有错误提示,最后尝试了如下方法恢复正常:

    >>>  USE mysql;
    >>>  ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
    >>>  FLUSH PRIVILEGES;

    root是用户名,localhost是ip地址127.0.0.1都是特指本机,mysql_native_password是旧的密码验证机制,password是密码,最后别忘了分号;

    最后问题解决.

3.2 正式开始 新建数据库

参考链接:Navicat建数据库时字符集与排序规则说明_greyKing666的博客-CSDN博客_navicat新建数据库字符集和排序规则

MySql安装+navicat_第15张图片

 MySql安装+navicat_第16张图片

 字符集:一般选择utf8。
下面介绍一下utf8与utf8mb4的区别:
  utf8mb4兼容utf8,且比utf8能表示更多的字符。至于什么时候用,看你的做什么项目了,到 Unicode编码表 - 阿森2020 - 博客园看unicode编码区从1 ~ 126就属于传统utf8区,当然utf8mb4也兼容这个区,126行以下就是utf8mb4扩充区,什么时候你需要存储那些字符,你才用utf8mb4,否则只是浪费空间。

MySQL在早期时候只有utf8,在5.5.3版本之后增加了这个utf8mb4的编码。mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。理论上utf8mb4是utf8的超集,原来使用utf8,然后将字符集修改为utf8mb4,也会不会对已有的utf8编码读取产生任何问题。

utf8 只支持最长三个字节的 UTF-8字符,也就是 Unicode 中的基本多文本平面。这可能是因为在MySQL发布初期,基本多文种平面之外的字符确实很少用到。而在MySQL5.5.3版本后,要在 Mysql 中保存 4 字节长度的 UTF-8 字符,就可以使用 utf8mb4 字符集了。例如可以用utf8mb4字符编码直接存储emoj表情,而不是存表情的替换字符.

如果你用来存储评论,聊天数据等信息时候最好使用utf8mb4.当然,为了更好的兼容性,应该使用utf8mb4,虽然对于 CHAR 类型数据,使用utf8mb4 存储会多消耗一些空间。根据 Mysql 官方建议,我们可以使用 VARCHAR 替代 CHAR。
 

排序规则说明

排序规则一般有3种: utf8_general_ci、utf8_general_cs、utf8_bin。

  1. ci全称为case insensitive,意思是大小写不敏感
  2. cs区分大小写;
  3. bin是以二进制数据存储,且区分大小写

最后: 

字符集填写utf8mb4 -- UTF-8 Unicode;排序规则填写utf8mb4_general_ci,填好之后点击确定。

4 补充:

4.1 5059 - Authentication plugin 'caching-sha2-password' can’t be loaded:.....

如果你遇到这个问题 

MySql安装+navicat_第17张图片

mysql8之前的版本使用的密码加密规则是mysql_native_password,但是在mysql8则是caching_sha2_password

解决问题

ALTER USER 'root'@'localhost' IDENTIFIED BY '123' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Administrator123';

4.2 启动mysql服务遇到:本地计算机上的 MYSQL80服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止

1 找到 Mysql 的安装路径,看看有没有data文件夹,如果没有data文件夹,自己重新建一个;如果有的话,就把里面的内容全部清空,但保留该目录。

2 打开命令行(最好是管理员打开),进入到mysql 安装目录下的 bin 文件夹,然后输入相关命令:

3 在此命令行中输入 mysqld --initialize ,静待十到二十秒,会随机生成一个密码
( 或者 mysqld --initialize-insecure  不设置root密码)

MySql安装+navicat_第18张图片MySql安装+navicat_第19张图片

4 查看 mysql 重置的密码,用记事本 打开 data 文件夹下的 .err 文件,搜索 password ,会看到密码重置,由于随机密码不好记,这个时候需要自己重置密码。

5 然后结束后,在命令行输入 net start mysql 或在 你的计算机管理器中启动 MySQL

6 输入mysql –u root -p 输入上述密码 进入 mysql 环境。

7 然后更改自己能够记忆的密码
    alter user 'root'@'localhost' identified by 'new_password';  

4.3 在4.2的基础上还是不行(其实压根上面这个4.2的方法我就试着不行,但还是作为一个方法记录在这里了) ,现在看4.3方法。

故障现象

1.D:\mysql-8.0.11-winx64\bin>net start mysql

MySQL 服务正在启动 .
MySQL 服务无法启动。

服务没有报告任何错误。

请键入 NET HELPMSG 3534 以获得更多的帮助。

MySql安装+navicat_第20张图片

解决方案: 

1.删除自己手动创建的data文件夹;

2.管理员权限CMD的bin目录下,移除已错误安装的mysqld服务;

D:\mysql-8.0.11-winx64\bin>mysqld -remove MySQL
The service doesn't exist!
3.在CMD的bin目录下执行    mysqld --initialize-insecure  // 不设置root密码的方式initialize
程序在mysql的根目录下自动创建了data文件夹以及相关的文件

4.bin目录下执行    mysqld -install

      Service successfully installed.

        或者执行:

5.bin目录下执行mysql服务启动net start mysql

        MySQL 服务正在启动 .....
        MySQL 服务已经启动成功。

6. 总结为如下操作:

1. mysqld --remove MySQL80 // 进入MySQL安装目录下的bin目录,执行以下命令mysqld --remove 服务名

2. 删除安装目录下data文件夹(删除前备份,用来恢复数据)

3. 初始化MySQL(会重新生成data文件夹),执行以下命令
    
    mysqld --initialize-insecure 

4. 注册MySQL服务,执行以下命令mysqld install MySQL服务名 --defaults-file="my.ini路径"
    
    mysqld install MySQL80 --defaults-file="D:\IDE\mysql-8.0.18-winx64\my.ini"

5. 启动MySQL服务,执行以下命令net start MySQL服务名
    
    net start MySQL80
    
    net stop MySQL80

6. 复制原来data的数据表文件(名字与原来建立数据库相同)到新的data文件目录下面

7. 复制原data文件下的这六个文件到新的data文件目录下面
    auto.cnf
    ib_buffer_pool
    ib_logfile0
    ib_logfile1
    ibdata1
    mysql.ibd

8.  net start MySQL80
    mysql -u root -p
    show databases;

mysql-8.0.11-winx64安装 MySQL 服务时,出现 MySQL 服务无法启动_最小的帆也能远航的博客-CSDN博客

4.4 在4.3以后啊,又发现一个问题,服务也启动了,密码也改了,services.msc服务列表旧的MYSQL80没有自动删除了........

MySql安装+navicat_第21张图片

MySql安装+navicat_第22张图片

 "D:\Java\env\MySQL\mysql_install\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" MYSQL80

服务上右键看下路径是不是你安装的mysql路径
或者重新安装一下服务
命令窗口下 sc delete mysql(服务名) 这是删除服务
命令进入mysql安装目录bin目录下 mysqld --install 这是添加服务
net start mysql 这是启动服务
net stop mysql 这是停止服务

4..5 迷惑行为的开始

本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止[解决方案] - 走看看

windows下Mysql免安装版,修改my_default.ini配置文件无效的解决办法 - 走看看

MYSQL安装报错 -- 出现Failed to find valid data directory. - leagueandlegends - 博客园

 [MySQL] Failed to find valid data directory - 简书

1.navicate报错:
2003 - Can't connect to MySQL server on 'localhost'(10061 "Unknown error")

2.services.msc报错:
本地计算机上的 MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。
解决方案1:

解决方案1
>管理员身份打开cmd
>清空安装目录下的data目录
> 去bin目录下
>mysqld --initialize    
> net start mysql
如果还是提示:发生系统错误 5。拒绝访问。
并且在mysql安装目录下的data目录下产生了binlog.index和.err文件( Failed to find valid data directory.)
(这个时候看看自己是否用的管理员打开的cmd,一般管理员打开就没有这个错误了)

解决方案2:

1.删除自己手动创建的data文件夹;

2.管理员权限CMD的bin目录下,移除已错误安装的mysqld服务;

D:\mysql-8.0.11-winx64\bin>mysqld -remove MySQL
The service doesn't exist!

3.在CMD的bin目录下执行mysqld --initialize-insecure

会发现程序在mysql的根目录下自动创建了data文件夹以及相关的文件

4.bin目录下执行mysqld -install

Service successfully installed.

5.bin目录下执行mysql服务启动net start mysql
MySQL 服务正在启动 ..
MySQL 服务已经启动成功。
————————————————
版权声明:本文为CSDN博主「Alex Xiong MS」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/mukouping82/article/details/81105831

解决方案3:

1.删除Mysql服务,打开命令行,输入下面的指令

sc delete MySql

"MySql"为服务名称,你的MysSql服务不一定是这个名称,可以打开services.msc查看

  2.在Mysql根目录下,新建my.ini文件,在文件内输入一下内容

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
basedir = D:MySQLmysql5.7
datadir = D:MySQLmysql5.7data
port = 3306
# server_id = .....
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 16M
read_rnd_buffer_size = 16M 
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

上面的basedir 和 datadir 根据你的mysql的位置进行修改

  3.以管理员身份启动命令行,将工作路劲切换到 Mysql目录下的bin文件夹,如我的是 C:Program FilesMySQLMySQL Server 5.7in。接着执行下面的命令

mysqld --initialize

此命令的目的是初始化data目录

  4. 接着再执行下面的命令

mysqld --install MySQL --defaults-file="C:MySQLMySQL Server 5.7my.ini“

  此命令执行完后,会重新初始化Mysql服务,同时指定了配置文件为C:MySQLMySQL Server 5.7my.ini 文件,也就是我们新建的文件。之后在这份my.ini文件里修改myql的属性,重启服务就可以了。

4 MySQL卸载

卸载 mysql

1 控制面板——》所有控制面板项——》程序和功能,卸载mysql

2 管理员cmd进入bin目录下:>>> mysqld -remove

3 然后删除mysql文件夹下的my.ini文件及所有文件

4 启动cmd->输入regedit->搜索mySQL,右键全部删除(或者依据以下路径找到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
如图低端的地址。如果没有可以不用删除了。

5 删除C盘下的“C:\ProgramData\MySQL ”     “C:\Program Files (x86)\MySQL,”所有文件,如果删除不了则用360粉碎掉即可,该ProgramData文件是隐藏的默认,设置显示后即可见,或者直接复制上边的地址到地址栏回车即可进入!删除后重启电脑,重装MYsql数据库应该就成功了。
 

4.1 net start mysql 发生系统错误2 系统找不到指定的文件​

以管理员身份运行cmd,在命令行输入cd+mySQL的bin目录的安装路径

cd 盘符:\安装路径\bin

盘符:\安装路径\bin>mysqld --remove

输出        Service successfully removed.

cd 盘符:\安装路径\bin>mysqld --install

输出        Service successfully installed.

cd 盘符:\安装路径\bin>net start mysql

MySQL 服务正在启动 .

MySQL 服务已经启动成功。
 

补充文章:

springboot整合mybatis报错:Access denied for user ''@'localhost' (using password: YES) - 码农教程

报错:Springboot整合mybatis,连不上数据库

问题1:mysql忘记密码了

解决:重置用户root密码

1.在mysql安装目录下找到配置文件  my.ini

2.修改mysql安装目录下的my.ini文件 

搜索[mysqld],在下一行加上skip-grant-tables(跳过权限表)

3.cmd(管理员模式),重启mysql服务 

输入命令

①net stop mysql

②net start mysql 

如果报错:服务名不对,就去任务管理器中找到mysql服务 ,我的是MySQL

那么命令就是 net stop MySQL ,net start MySQL 

4.登录mysql服务器

C:\Users\dell>mysql -uroot -p

mysql> use mysql                    #使用mysql数据库

mysql> update user set password=PASSWORD("123456") where User='root'  #更新用户密码

mysql>flush privileges             #刷新权限

mysql> quit 

然后删掉my.ini中的skip-grant-tables,重启mysql服务器,即可登录root

 问题2:误删用户 root@localhost

select host,user,password from mysql.user; 查了一下发现只剩root@%了

解决:

1.创建普通用户

2.给创建出的用户授权

命令如下:

能登录 有所有权限的用户的用下面的命令

INSERT INTO mysql.user(Host, User, password, ssl_cipher, x509_issuer, x509_subject) VALUES ('localhost', 'root', PASSWORD('123456'), '', '', '');

grant all privileges on *.* to 'root'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;

能登录的用户没有权限(没有WITH GRANT OPTION的)

直接进mysql.user表修改用户信息(skip-grant-tables)

INSERT INTO mysql.user(Host, User, password, ssl_cipher, x509_issuer, x509_subject) VALUES ('localhost', 'root', PASSWORD('123456'), '', '', '');

UPDATE mysql.user SET  Select_priv ='Y', Insert_priv='Y', Update_priv='Y', Delete_priv ='Y',Create_priv='Y', Drop_priv='Y', Reload_priv='Y',Shutdown_priv ='Y', Process_priv ='Y', File_priv ='Y', Grant_priv ='Y', References_priv ='Y', Index_priv ='Y', Alter_priv ='Y', Show_db_priv ='Y', Super_priv ='Y', Create_tmp_table_priv ='Y', Lock_tables_priv ='Y', Execute_priv ='Y', Repl_slave_priv ='Y', Repl_client_priv ='Y', Create_view_priv ='Y', Show_view_priv ='Y', Create_routine_priv ='Y', Alter_routine_priv ='Y', Create_user_priv ='Y', Event_priv ='Y', Trigger_priv ='Y', Create_tablespace_priv ='Y' WHERE Host ='localhost' and  User ='root'; 

一个用户都没有,步骤同上,insert user ,update 用户权限

最后查权限 ,root@localhost有 ALL PRIVILEGES ,WITH GRANT OPTION 可以给别的用户授权~

Please keep refueling and don't slack off.

学习MySQL中遇到的问题(net start mysql; 服务名无效。 请键入 NET HELPMSG 2185 以获得更多的帮助) 

学习MySQL中遇到的问题(net start mysql; 服务名无效。 请键入 NET HELPMSG 2185 以获得更多的帮助)_dingbu083146的博客-CSDN博客_请键入nethelpmsg2185

首先,我装的mysql 5.7,在配置好my-deault.ini文件后,

 

感觉配置好所有的问题之后,在任务管理器里(管理员权限),输入net start mysql,输出的却是

net start mysql; 服务名无效。 请键入 NET HELPMSG 2185 以获得更多的帮助
最终发现问题在这里,


windows+r, 打开运行,输入services.msc, 找到mysqlde服务,


右键属性,发现服务器名称是MySQL57

 

重新回到管理员:命令提示符,输入net start mysql57
  


好了,一起ok~


原文链接:https://blog.csdn.net/dingbu083146/article/details/73457588

【MySql】Navicat 连接数据库出现1251 - Client does not support authentication protocol ...... 问题的解决方法

【MySql】Navicat 连接数据库出现1251 - Client does not support authentication protocol ...... 问题的解决方法_早知晓的博客-CSDN博客_1251-client does not support

 Navicat 连接 mysql,连接时出现问题:1251 client does not support authentication protocol requested by server…
MySql安装+navicat_第23张图片

 一般这种情况是再次安装MySQL后,使用 Navicat 或者 MySQL yog都会出现上面这个异常。

解决方法
其实这是一个简单的权限与安全问题,只需要在 MySQL Shell 中输入两行命令就可以解决问题啦。

1、以管理员身份运行 CMD 窗口。

按下【ctrl+shfit+esc】组合键打开任务管理器;
点击【文件】-【运行新任务】;
勾选【以系统管理权限创建此任务】,在框中输入 cmd ,点击确定 ;

2、通过 cd 语句进入 mysql 的安装目录(笔者使用的 MySQL 是8.0.27版本的,mysql server安装的默认路径为:C:\Program Files\MySQL\MySQL Server 8.0\bin)

3、输入mysql -u root -p和数据库密码进入 MySQL 控制台。

4、把下面的两条指令逐条复制粘贴到控制台就可以了 ( 'password’为你的数据库登录密码 )。

alter user 'root'@'localhost' identified with mysql_native_password by 'password';
flush privileges;

【注】输入上述语句时不要忘记写分号!

5、在 Navicat 中重新连接,出现连接成功即可(测试使用Navicat for mysql)。
MySql安装+navicat_第24张图片
至此,Navicat 已成功连接到数据库,可以进行数据库的后续操作啦~ 

你可能感兴趣的:(MySQL,mysql)