问题1:解决Windows无法启动MYSQL服务(位于本地计算机)错误1067进程意外终止
Navicat for MySQL之前用的好好的,今天突然打开用不了,查看mysql服务显示未开启。开启mysql服务时显示“Windows无法启动MYSQL服务(位于本地计算机)错误1067进程意外终止”。
解决方法:
找到MySQL安装目录下的my.ini文件(若没有自行创建),把内容全删了,替换成以下内容
(保险起见,原来的配置文件内容最好备份下,以防万一。。)
我的my.ini文件路径(D:\Program Files (x86)\MySQL\MySQL Server 5.5),具体得看大家安装在哪。
[client]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#skip-grant-tables
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir="D:/Program Files (x86)/MySQL/MySQL Server 5.5/"
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
#datadir="D:/ProgramData/MySQL/MySQL Server 5.5/Data/"
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
在这里,我原本datadir未注释掉,结果果然报错了,mysql服务也开不起来,注释掉就ok了。
保存,退出,打开mysql服务。
(win10可以直接搜索服务,再找到mysql服务。也可以通过计算机-管理服务找到)
到这里,mysql服务应该已经开起来啦。
问题2:1045 Access denied for user ‘root’@‘localhost’ (using password: YES)
但是,当我打开navicat时,想要连接我之前已经存在的连接时,又会出现如下报错。
解决方法
编辑mysql配置文件my.ini,在[mysqld]这个条目下加入 skip-grant-tables
保存退出后重启mysql
重启方法如下:
1.打开cmd(方法:快捷键Win+R,输入cmd)。
2.停止:输入net stop mysql
3.启动:输入 net start mysql
也可以在计算机-管理-服务里面找到MySQL的服务,点击停止-开启(或重启动)
在cmd里面输入mysql -u root -p
出现 password:的时候直接回车可以进入
不会出现ERROR 1045 (28000),但很多操作都会受限制,因为没有grant权限。
1.进入mysql数据库:
mysql> use mysql;
Database changed
2.给root用户设置新密码:
mysql> update user set password=password('新密码') where user='root';
Query OK, 1 rows affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
(例如,update user set password=password('123456') where user='root';
)
我在这里设的密码是以前正常使用时的密码
3.刷新数据库
mysql> flush privileges
;
Query OK, 0 rows affected (0.00 sec)
4.退出mysql:
mysql>quit
;
Bye
改好之后,再修改一下my.ini这个文件,把我们刚才加入的 "skip-grant-tables"
这行删除,保存,退出。
再重启mysql服务,重新用Navicat连接就可以了。