MYSQL服务启动失败处理方法
请几天连接sql数据库的时候,由于当初因为服务属性的问题创建许多的sql服务,没想到今天给我带来麻烦。
关于网上有人说长时间连接数据库会出错,但实际上除了占用大量的系统资源之外,就没什么危害了,除非连接数据库长达8个小时后数据库会自动断开,在下次登录时要修改wait_time值,不过我的问题不是连接时间过长导致的,我也没咋研究,这里不多讲。
不同的sql数据库版本不一样,里面的配置文件也有不同,就比如bin同级目录下,有的版本有my.ini、my-huge.ini、my-large.ini等等文件,有的只有my.ini文件,有的甚至没有,这个只是mysql的配置文件,标准内容如下:
[mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=C:\Program Files\MySQL\MySQL Server 8.0 # 设置mysql数据库的数据的存放目录 datadir=C:\Program Files\MySQL\MySQL Server 8.0\data # 允许最大连接数 max_connections=200 # 允许连接失败的次数。 max_connect_errors=10 # 服务端使用的字符集默认为utf8 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 #mysql_native_password default_authentication_plugin=mysql_native_password [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [client] # 设置mysql客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8
这里复制粘贴的时候注意basedir和datadir的值都是自己Mysql的安装路径。
这里有个好玩的漏洞吧,Windows10系统盘(默认C盘)里的文档修改后是不可以保存的,除非真正的管理员才行,但是可以将文档剪切到其他盘进行修改保存后,复制到系统盘是可以的。
我的问题就是Mysql的服务出错,最后解决方法就是删除原有服务以及相关文件——初始化Mysql——新建服务——连接数据库。
(1)cmd执行
sc delete '服务名'
然后在Mysql里删除data文件,后期新建服务会自动生成的。
(2)初始化Mysql
以管理员身份运行cmd到bin下
mysqld --initialize --console
初始化后Mysql的密码会被随机生成,记住那串复杂的密码,登录时需要
(3)新建服务
也是bin下执行
mysqld --install [服务名] ###(服务名可以不加默认为mysql)
新建成功后执行
net start mysql
后面的mysql是默认值,可以在新建的时候更改。服务已成功建立后,基本就完事了。后面就是更改密码了。
(4)连接数据库+更改密码
用Navicat连接试试
没有特殊情况下会连接成功
那么下一步,更改密码;
cmd执行
mysql -u root -p
然后输入初始化的密码
alter user 'root'@'localhost' identified by 'your_password';
记住你更改的密码,最好收藏或者手机笔记啥的,不然很容易忘的。
创建远程操作账户,进行远程访问的授权,并更新权限,依次执行以下代码:
create user 'root'@'%' identified with mysql_native_password by '123456'; grant all privileges on *.* to 'root'@'%' with grant option; flush privileges;
当然了,双击刚刚保存的连接,Navicat会提示新密码。
好好管理你们的电脑。
规范!
规范!
再规范!