我的MYSQL是5.0版本的,运行总是会报错,请问如何解决?

我的MYSQL是5.0版本的,运行总是会报错,请问如何解决?,第1张

1、可能是/opt/mysql-master/data/数据目录mysql用户没有权限(修改数据目录的权限)解决方法 :给予权限,执行 "chown -R mysql.mysql /opt/mysql-master/data" 然后重新启动mysqld2、可能进程里已经存在mysql进程解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!3、可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。解决方法:去mysql的二进制日志目录看看,如果存在mysql-binlog.index,就赶快把它删除掉吧4、mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]下有没有指定数据目录(datadir)。解决方法:请在[mysqld]下设置这一行:datadir = /opt/mysql-master/data5、skip-federated字段问题解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。6、错误日志目录不存在解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限7、selinux惹的祸,如果是centos系统,默认会开启selinux解决方法:先临时改为警告模式:[root@www php]# setenforce 0然后打开/etc/sysconfig/selinux,把SELINUX=enforcing改为SELINUX=disabled8、可以试着把mysql.cnf默认文件开启,排查是不是配置文件的错误。常见配置错误有:查看配置文件/etc/my.cnf里有没有innodb_buffer_pool_size这个参数innodb_buffer_pool_size:主要作用是缓存innodb表的索引,数据,插入数据时的缓冲;默认值:128M;专用mysql服务器设置此值的大小: 系统内存的70%-80%最佳。如果你的系统内存不大,查看这个参数,把它的值设置小一点吧温馨提示:记得开启mysql错误日志,方便自己排错。vim /etc/my.cnf 各位可以根据自己的my.cnf文件编辑[mysql_safe]log-error = /data/mysql-master/logs/error.log

使用mysqladmin,这是前面声明的一个特例。 mysqladmin -u root -p password mypasswd 输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd。 把命令里的root改为你的用户名,你就可以改你自己的密码了。 Unix&Linux: 1.用root或者运行mysqld的用户登录系统2.利用kill命令结束掉mysqld的进程3.使用--skip-grant-tables参数启动MySQL Server shell>mysqld_safe --skip-grant-tables &4.为root@localhost设置新密码 shell>mysqladmin -u root flush-privileges password "newpassword" 5.重启MySQL Server mysql修改密码 mysql修改,可在mysql命令行执行如下: mysql -u root mysql mysql>Update user SET password=PASSWORD("new password") Where user=’name’mysql>FLUSH PRIVILEGESmysql>QUIT 教你如何将MySQL数据库的密码恢复 因为MySQL密码存储于数据库mysql中的user表中,所以只需要将我windows 2003下的MySQL中的user表拷贝过来覆盖掉就行了。

delete from Course where Cid not like "C%"

在执行这条命令时,mysql报错:Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column. To disable safe mode, toggle the option in Preferences ->SQL Editor and reconnect.

这是因为在mysql在safe-updates模式中,如果where后跟的条件不是主键id就会报这种错误。出现1175错误时,只要更改一下mysql的安全模式就行,以下两种方式都行:

mysql> set sql_safe_updates=0 

mysql>set sql_safe_updates=off    

SQL_SAFE_UPDATES有两个取值0和1, 或ON和OFF,默认值是1:

SQL_SAFE_UPDATES = 1/ON时,不带where和limit条件的update和delete *** 作语句是无法执行的,即使是有where和limit条件但不带主键id的update和delete也不能执行。 

SQL_SAFE_UPDATES =0/OFF时,update和delete *** 作将会顺利执行。

所以,出现1175错误的时候,可以先设置SQL_SAFE_UPDATES的值为0/OFF,然后再执行更新即可。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/7322708.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-04
下一篇2023-04-04

发表评论

登录后才能评论

评论列表(0条)

    保存