windows无法启动MySQL服务可能的原因有一下几种:
我们提供的服务有:网站建设、成都网站设计、微信公众号开发、网站优化、网站认证、新城ssl等。为成百上千企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的新城网站制作公司
mysql配置文件设置错误
A、首先查找mysql对应的配置文件my.ini
如果服务是使用指定的配置文件启动,到对应的文进行修改(文件的位置从控制面板中服务的属性中查看)
B、检查参数basedir和datadir对应的目录是否存在,如:
basedir = d:/mysql/
datadir = d:/mysql/data/
检查Mysql目录有没有给系统的System用户文件读写权限(一般以System用户启动mysql服务)
检查mysql的3306端口是否被占用,如果占用,则修改my.ini配置文件中端口参数,将端口修改为其他值。
mysql的数据库文件遭到破坏。
MySQL卸载时一些信息不会自动删除,导致服务的路径设置不对导致的。检查注册表,路径见下图左下角的路径信息,把ImagePath改成你现在的路径。
免安装版的mysql可能会出现首次登录不进去的情况,解决办法是:
1、在my.ini文件中mysqld下面加上skip-grant-tables,如图:
2、重启mysql;net restart mysql;
3、输入mysql,出现welcome to mysql字样,表示进入成功,然后show databases;然后use mysql;
4、修改root用户的密码;
update mysql.user setpassword=password('新密码') where user='root' ;
如果是5.7版本以上的则用下面的命令修改密码:
update mysql.user set authentication_string=password('新密码') where user='root' ;
5、flush privileges;
6、去掉my.ini中加入的skip-grant-tables,重启mysql,然后就可以采用新密码进入mysql了。
记住,修改完密码后必须删掉skip-grant-tables,否则mysql还是可以不通过密码进入;
7、重启mysql后再进入mysql可能会提示:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement ;
此时需要输入命令:set password=password('123456');//此处密码必须跟上面设置的密码一样;
1、找到mysql安装目录下的bin目录路径。
2、打开cmd,进入到bin目录的路径下,输入mysql -u root -p。
问题分析:
1、查看mysql command line client默认执行的一些参数。方法:开始-所有程序-MySQL-MySQL Server5.5-MySQL5.5 command line client,右键属性。
2、注意看目标的内容。内容比较长,复制出来如下:
"G:\Program Files\MySQL\MySQL Server 5.5\bin\mysql.exe" "--defaults-file=G:\Program Files\MySQL\MySQL Server 5.5\my.ini" "-uroot" "-p"
3、注意"--defaults-file=G:\Program Files\MySQL\MySQL Server 5.5\my.ini" "-uroot" "-p" 中指定的配置文件是 my.ini文件。
这里我们查看一下安装目录,即G:\Program Files\MySQL\MySQL Server 5.5,6个ini文件均不是 my.ini。
4.复制my-small.ini文件,更名为my-ini文件,保存。
5.启动mysql command line client,问题解决。
1 进入cmd,停止mysql服务:Net stop mysql
若是停不掉:Ctrl+Alt+Del打开任务管理器,在详细信息里结束mysql.exe任务。
若服务名无效:来到MySQL的安装路径下bin,在命令行中输入mysqld --install;成功:出现Service successfully install代表你已经安装成功;
2 进入bin目录
mysqld -nt --skip-grant-tables
重新打开一个管理员命令提示符输入mysql进入重新改密码就OK了。
再次mysql -u root -p进入操作
mysqlupdate mysql.user set anthentication_string=password(‘你的密码’) where user=‘root’;
mysqlflush privileges;//刷新MySQL的系统权限
mysqlquit;
再次mysql -u root -p进入就可以操作了。