SQL误删这几个文件情况下解决:
启动mysql服务时出现该错误: 本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止。
第一步:(大前提:进入mysql安装目录下的bin目录运行!)删除你的服务(此处mysql对应你的服务名称,我的服务名就是mysql)
复制:mysqld --remove mysql
第二步:将根目录下的data文件夹删除(如果有需要,请一定要转存sql文件且备份,因为这里面有你建的数据库!如果是小白第一次弄mysql则忽略)
附加:(注意:如果在你的mysql的安装路径中没有配置文件,则自己手动创建一个,文件名为:my.ini,添加内容如下:
【最好先把自己的配置文件备份一份】
[mysqld]
port = 3306
#mysql安装目录
basedir =D:\JavaSoft\BlackJava\MySQL
#mysql数据存放目录
datadir =D:\JavaSoft\BlackJava\MySQL\data
#允许最大连接数
max_connections = 1024
#服务端默认使用字符集
character-set-server = utf8mb4
#默认存储引擎
default-storage-engine = INNODB
#服务唯一标识
server_id = 1
#是否启用慢查询
slow_query_log = 1
#指定慢查询日志文件的路径和名字
slow_query_log_file = slow.log
#SQL语句运行时间超过该值才会被记录
long_query_time = 10
#开启binlog日志
log-bin = mysql-bin
#sql模式
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#注意这里,mysql8默认密码验证插件改为了caching_sha2_password
#为了与之前的兼容,这里改回mysql_native_password
default_authentication_plugin = mysql_native_password
[mysql]
default-character-set = utf8mb4
[client]
port = 3306
default-character-set = utf8mb4
#[mysql]
#default-character-set=utf8
#[mysqld]
#character-set-server=utf8
#default-storage-engine=INNODB
#sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
第三步:初始化(第一次执行的话,时间会久一些,执行结束后没有输出信息,查看bin的同级目录下会多出一个data文件夹,里面一堆文件)
第四步:注册mysql服务(之前试过mysqld --install mysql --defaults-file= D:\JavaSoft\BlackJava\MySQL\my.ini 发现不好使,在mysqld后面加个.exe后发现好使了)
第五步:启动服务
net start mysql
附:windows下启动mysql服务出现服务名无效的原因及解决方法
解决办法: 在 mysql bin目录下 以管理员的权限 执行 mysqld -install命令(安装好了MySQL服务)
然后仍然以管理员的权限 net start mysql 开启Mysql服务了。
附:卸载mysql服务的方法。
1、以管理员的权限 net stop mysql ,关闭mysql服务
2、以管理员的权限 mysqld -remove ,卸载mysql服务