Linux下MySQL服务启动及登录问题记录
前言
本文主要是初涉MySQL服务启动及登录失败问题的解决记录(本文前提是:刚安装好MySQL,启动服务正常,但是登录总是失败,错误编码:1045;然后搜寻网上解决方案,没有解决,因此重启,然后发现服务也启动失败的情况下)
服务启动问题
安装MySQL显示cpmplete后,启动服务(systemctl start mysqld)显示Failed to start MySQL server,如下图:
解决办法
问题原因
解释问题原因原文
mysql在进行初始化时,会检测目录是否存在
如果不存在,mysql会创建它
如果存在,而且这个目录里有数据,mysql会报错,并且终止初始化
如果以上都没有问题,有可能是因为文件夹权限的问题
(1)确定MySQL安装数据目录及端口文件的权限,防止文件权限不足问题
查看文件路径:vim /etc/my.cnf
该文件中的datadir和socket路径
chmod -R 777 /var/lib/mysql 【datadir路径】
(2)避免目录中存在数据,造成的初始化终止
rm -rf /var/lib/mysql/*
(3)重启服务
systemctl restart mysqld
查看状态systemctl status mysqld
登录问题
使用MySQL服务版本为8.0.15
显示错误如前言中截图所示,错误编码1045,Access Denied for user…
方法一:使用如下命令,可以确认MySQL的临时密码(由于本人的不细心password打成pssword所以当时返回为空,因此选用了另外一种方法【手动dog】)
cat /var/log/mysqld.log | grep password
返回结果类似以下:
方法二:
(1)修改MySQL的配置文件 vim /etc/my.cnf
在文件中加入 skip-grant-tables,保存并退出(ESC :wq!)
(2)重启服务 systemctl restart mysqld
(3)进行免密登录,命令 mysql
(4)修改用户密码 update user set password=password(“你的新密码”) where user=“用户名” 【退出MySQL命令根据查找,有exit,quit,\q三种方式,哪种能退选哪种】
(5)完成后,将跳过权限认证的配置从配置文件中删掉【步骤(1)的反向操作】,保存后重启服务
(6)根据修改后的密码登录 mysql -u username -p ,根据提示输入密码
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: