mysql workbench no connection established解决和服务启动后停止

本文详细介绍了MySQL服务在启动过程中可能遇到的问题及解决方法,包括服务启动、停止后的处理,如何复制、删除和初始化数据库文件,以及复杂的配置调整。此外,还提供了修改MySQL密码的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、启动服务

1.出现的问题

数据库中没有表,报错no connection established
在这里插入图片描述
在这里插入图片描述

2.启动服务

win+R输入命令

services.msc

找到你的MYSQL_XXX,比如我的MYSQL80
在这里插入图片描述

  • 如果成功了,就没事了。
  • 如果失败了,就继续下面的。
    在这里插入图片描述

二、服务启动后停止

目前没有感觉出来简单版和复杂版有什么不同,那个my.ini好像没起作用一样。就按简单版来吧。

1.Data复制、删除

在这里插入图片描述
去Configuration File(mysql配置文件的位置)所在的文件夹,这里才有Data。而不是安装的地方。
在这里插入图片描述
Data复制到别的地方,删除这里Data

2.初始化数据库文件(简单版)

进入到安装mysql的bin目录下:
在这里插入图片描述
在这里插入图片描述

  1. 清除原来的服务
# 这个mysql80是你自己的服务名,就是services.msc中显示的
mysqld --remove mysql80

在这里插入图片描述

  1. 初始化 mysql
mysqld --initialize-insecure --user=mysql

在这里插入图片描述

  1. 注册mysql服务
    这个指令
# 直接使用新的
mysqld --install mysql

在这里插入图片描述

  1. 启动服务
    新的服务一般就是叫做我们安装服务时指定的mysql
    在这里插入图片描述
net start mysql

在这里插入图片描述

3.初始化数据库文件(复杂版)

进入到安装mysql的bin目录下:
在这里插入图片描述
在这里插入图片描述

  1. 清除原来的服务
# 这个mysql80是你自己的服务名,就是services.msc中显示的
mysqld --remove mysql80

在这里插入图片描述

  1. 初始化 mysql
mysqld --initialize-insecure --user=mysql

在这里插入图片描述

  1. we修改my.ini配置文件中data的位置

我们先明白几个事情:

  • 下面的注册mysql服务,会产生一个新的data文件夹,这个文件夹不能被指定在别的地方,只会在安装mysql的目录下生成。比如我的安装D:\MySQL\data
  • my.ini是mysql的配置文件,其中有个变量,指定mysql的data文件夹在哪里,如果参照这个配置文件,而不修改data文件为此目录下时,会报错。
    错误信息可以在data文件夹下的在这里插入图片描述看到:说是invalid datadir。

①修改成安装的data位置。
在这里插入图片描述
改成
在这里插入图片描述
②创建一个data文件夹
在这里插入图片描述

  1. 注册mysql服务
    这个指令
# C:\ProgramData\MySQL\MySQL Server 8.0\my.ini 是mysql配置文件的位置。
# 一定要给路径加引号,以防万一路径中带空格,比如下面的
mysqld --install mysql --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini"

失败的案例:
在这里插入图片描述
成功:
在这里插入图片描述

  1. 启动服务
    新的服务一般就是叫做我们安装服务时指定的mysql
    在这里插入图片描述
net start mysql

在这里插入图片描述

4.还原data

不能直接复制替换啊,因为就是原来的Data文件夹中有个不知道的毒bug。
在这里插入图片描述
就手动进去把数据库数据文件复制吧。
Mysql ibd恢复
http://blog.sina.cn/dpool/blog/s/blog_4b97332d0102zv8x.html

三、修改mysql密码

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

新版(8.0及以上)只能用这个,注意单引号不可删除


Reference

【错误解决】本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止
mysql服务启动异常,服务启动后停止
本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止?

### MySQL Workbench 'no connection established' 的解决方案 当遇到 `no connection established` 或者 `NO CONNECTION` 提示时,通常意味着客户端无法成功连接到 MySQL 数据库服务器。以下是可能的原因以及对应的解决方法: #### 1. **确认 MySQL 服务是否已启动** 如果 MySQL 服务未运行,则无论配置如何正确都无法建立连接。可以通过以下方式检查并启动服务: - 在 Windows 上: - 打开任务管理器 -> 查看是否有名为 `MySQL` 的服务正在运行。 - 如果没有发现该服务,请前往服务列表(通过 `services.msc` 命令访问),找到 `MySQL` 并手动启动它[^1]。 - 在 Mac OS 上: - 使用终端命令来验证 MySQL 是否处于活动状态: ```bash ps aux | grep mysql ``` - 若无任何进程显示,可以尝试重启 MySQL 服务: ```bash sudo brew services restart mysql ``` #### 2. **检查本地实例配置** 对于默认的本地实例(通常是 `Local instance 3306`),需要确保其设置正确无误: - 进入 MySQL Workbench 后,在左侧导航栏中点击 “MySQL Connections” 下方的对应条目。 - 右键选择编辑选项或者双击进入详情页面。 - 验证主机名是否为 `localhost` 或 `127.0.0.1`,端口号应设为标准值 `3306` (除非更改过)[^3]。 #### 3. **处理密码问题** 有时由于忘记修改初始 root 用户密码或是输入错误也会引发此类警告消息。按照下面步骤操作可恢复正常使用权限: - 对于新安装版本首次登录前需完成初始化设定; - 已经存在的账户则可通过重置机制更新凭证数据——即重新录入新的合法密钥组合[^3]。 #### 4. **网络环境因素考量** 尽管大多数情况下此现象发生在单机环境中,但仍不排除因防火墙规则阻挡外部请求而导致内部循环地址也无法正常通讯的情况发生。因此建议排查是否存在类似限制条件影响到了正常的 socket 文件读写行为。 ```python import pymysql.cursors connection = pymysql.connect(host='127.0.0.1', user='root', password='your_password', # 替换为您实际使用的密码 database='test_db', cursorclass=pymysql.cursors.DictCursor) try: with connection.cursor() as cursor: sql_query = "SELECT * FROM test_table LIMIT 5;" cursor.execute(sql_query) result_set = cursor.fetchall() finally: connection.close() ``` 上述脚本可用于测试 Python 脚本能否顺利连上指定数据库资源作为辅助判断依据之一。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值