Mysql常见报错解决方法

摘要:
将其修改为mysql可以拥有权限的目录,然后执行mysql进入数据库。步骤2:修改数据库默认密码/etc/init.d/mysqlstop/usr/bin/mysqld_Safe--跳过授权表打开另一个SSH连接[root@localhost~]#mysqlmysql˃usemysqlmysql˃updateusersetpassword=passwordwhereuser=“root”;mysql˃flushprivileges;Mysql˃退出并[mysql@localhostetc]$ps-A |grepmysql4532pts/000:00:00mysqld_safe5542pts/00:00:00mysqd[mysql@localhostetc]$kill-945325542正常启动MySQL:/etc/init.d/mysqlstart步骤3:登录到ok。MySQL-uroot-p 2:远程登录MySQL数据库时报告错误ERROR1130:不允许主机“192.168.76.50”连接到此MySQL服务器1。更改表格方法。可能是您的帐户不允许远程登录,而只能在本地主机中登录。此时,只需在localhost计算机上登录mysql,并将“mysql”数据库中“user”表中的“host”项从“localhost”更改为“%”mysql-uroot-pTalent123mysql˃usemysql;mysql˃updateuserset='%'其中user='root';mysql˃selecthost,userfromsuser;mysql˃flushprivileges;2.授权法。例如,如果您希望myuser使用mypassword从任何主机连接到mysql服务器。

一:登录报错

ERROR 1045 (28000): Access denied for user 'mysql'@'localhost' (using password: NO)
mysql日志文件总结此问题的整体步骤如下:
第一步:修改pid路径
查看日志文件中错误信息:
cat /var/log/mysqld.log
2013-10-26 16:39:34 3712 [ERROR] /usr/sbin/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 2 - No such file or directory)
2013-10-26 16:39:34 3712 [ERROR] Can't start server: can't create PID file: No such file or directory
原因:
mysql 用户没有操作/var/run目录的权限,所以pid文件无法创建,导致登陆时无法建立 进程信息文件,登陆进程就无法开启,自然无法登陆。
解决:
修改 /etc/my.conf
原来为:
#pid-file=/var/run/mysqld/mysqld.pid
修改为
pid-file=/var/lib/mysql/mysqlid.pid
检查发现,mysql用户根本无法cd到/var/run/。修改为mysql可以有权限的目录后再执行mysql就进入数据库了。
第二步:修改数据库默认密码
/etc/init.d/mysql stop   (service mysqld stop)
/usr/bin/mysqld_safe --skip-grant-tables
另外开个SSH连接
[root@localhost ~]# mysql
mysql>use mysql
mysql>update user set password=password("123456") where user="root";
mysql>flush privileges;
mysql>exit
然后
[mysql@localhost etc]$ ps -A | grep mysql
4532 pts/0    00:00:00 mysqld_safe
5542 pts/0    00:00:00 mysqld
[mysql@localhost etc]$ kill -9 4532 5542
正常启动 MySQL:/etc/init.d/mysql start   (service mysqld start)
第三步:
登陆ok。 mysql -uroot -p
二:远程登录mysql数据库报错
ERROR 1130 (HY000): Host '192.168.76.50' is not allowed to connect to this MySQL server
1.改表法。
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -pTalent123
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
mysql> flush privileges;
2.授权法。
例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
三:创建普通用户后无法在本地登录
[root@jcfx-4 ~]#mysql -h192.168.76.73 -usalt -psalt
ERROR 1045 (28000): Access denied for user 'salt'@'jcfx-4' (using password: YES)
通过查看user表发现localhost对应的是空密码,所以这是导致不能再本地登录的根本原因:
mysql> select host,user,password from mysql.user;
Mysql常见报错解决方法第1张
解决方法:
mysql> grant select,insert,update,delete on salt.* to salt@"localhost" identified by "salt";
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
四:mysql登录报错:
[root@patronus2 bin]# mysql
-bash: mysql: command not found
解决方法:
ln -s /usr/local/mysql/bin/mysql /usr/bin
五:设置字符集
Server version: 5.6.21 MySQL
character_set_server=utf8
注:遇到异常情况,通过上面列举的办法应该是可以解决;

免责声明:文章转载自《Mysql常见报错解决方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇上下拉刷新SpringBoot自动化配置之一:SpringBoot内部的一些自动化配置入门介绍下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

XML导入Access/MySql数据库 XML2OleDb Fred

学校XML课程布置了一个作业“XML导入Access和MySql”,我在网上找到了孟子E章的Xml2OleDb,功能很全面,唯一的不足就是缺少了导入MySql的支持,经过我的完善,补充了该功能。 我的版本是为了交作业,所以去掉了连接字符串自输入,而是固定在web.config里啦。导入MySql的代码与2OleDb有所不同,思路是一样的,下面我贴出来2My...

windows下安装Sonar

1、sonar安装:   sonar有三部分组成:   1、服务端:显示分析结果和sonar相关配置   2、客户端:对项目运行源代码进行运算和分析   3、数据库:存储sonar配置和代码分析结果的数据库 2、sonar下载:   官网地址:https://www.sonarqube.org/   下载你中意版本的zip包,放在想要安装的目录,linux...

mysql同时使用order by和limit查询时的一个严重隐患 -- 丢失数据

转自: https://blog.csdn.net/tsxw24/article/details/44994835 我经常使用order by和limit来做数据分页显示并排序,一直也没发现过什么问题。但这两天缺遇到一个严重的问题,在按时间戳升序排列并用limit分批读取数据时,却发现在某些记录丢失了,表中明明有的记录确死活读取不到。研究了大半天终于发现了...

mysql设计表结构数据类型的选择

选择合适的数据类型 在使用MySQL创建数据表的时候会遇到一个问题,如何为字段选择合适的数据类型.比如创建一个员工信息表,每个字段都可以用很多种类型来定义, int,char,float等等. char和varchar char和varchar都是用来存储字符串类型的数据,但是他们保存和检索的方式不一样.char属于固定长度的字符类型,二varchar属于...

mysql导入备份.sql文件时报错总结(还有待完善)

错误1:ERROR Unknown character set: 'utf8mb4'   utf8mb4编码集支持了表情符号,相信处理过社交网络数据的人都有了解。这个mysql5.5以后支持了utf8mb4编码集,所以只能卸载5.1,升级5.5   在mysql my.cnf设置default-character-set = utf8mb4,在每个[]里都...

macOS下通过docker在局域网成功访问mysql5.6数据库

1.获取mysql镜像 docker pull mysql:5.6 注意:此处之所以获取mysql5.6是因为mysql5.7在centos7中启动可能会报错, 2.查看镜像列表 docker images 3.启动mysql镜像 docker run -itd -P mysql:5.6 bash 其中 docker run是启动容器的命令;i是交互式操...