mysql运行错误怎么办 mysql报错大全

启动MySql服务器失败怎么办?怎么解决mysql服务无法启动的问题
一:服务启动
1.我们可以在Windows搜索栏中搜索服务应用功能,或者其他方式打开服务,右键单击选择以管理员运行 。
2.在服务中找到MySQL,手动点击启动 。
不过用这个方法很可能还是无法启动mysql服务 。
二:删除Data
MYSQL报错怎么处理?1、原因:可能是/usr/local/mysql/mysql.pid文件没有写的权限;
解决方法 :给予权限,执行 “chmod 775 /usr/local/mysql/ -R” 然后重新启动mysqld 。
2、原因:可能进程里已经存在mysql进程;
解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld 。
3、原因:可能是第二次在机器上安装mysql , 有残余数据影响了服务的启动;
解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧 , 它就是罪魁祸首了 。
4、原因:mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir);
解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data 。
5、原因:skip-federated字段问题;
解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧 。
6、原因:错误日志目录不存在;
解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限 。
7、原因:如果是centos系统,默认会开启selinux;
解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试 。
8、原因:log-bin路径错误;
解决方法:查看对应数据库下的error log,例如我的数据库为,/usr/local/mysql/var目录,其下的localhost.localdomain.err为错误日志 , 只要把其下的ib_logfile*删除即可 , 重启mysql即可 。
一、Linux下MySQL的启动与停止
1、Mysql启动、停止、重启常用命令
a、启动方式
(1)使用 service 启动:
[root@localhost /]# service mysqld start (5.0版本是mysqld)
[root@szxdb etc]# service mysql start (5.5.7版本是mysql)
(2)使用 mysqld 脚本启动:
/etc/inint.d/mysqld start
(3)使用 safe_mysqld 启动:
safe_mysqld
b、停止方式
(1)使用 service 启动:service mysqld stop
(2)使用 mysqld 脚本启动:/etc/inint.d/mysqld stop
(3)mysqladmin shutdown
c、重启方式
(1)使用 service 启动:
service mysqld restart
service mysql restart (5.5.7版本命令)
(2)使用 mysqld 脚本启动:
/etc/init.d/mysqld restart
mysql启动错误一、无法访问系统资源
MySQL 不能访问启动需要的资源是造成而 MySQL 无法启动的一个常见原因mysql运行错误怎么办,如mysql运行错误怎么办:文件,端口等 。由于 linux 中用于启动 mysqld 进程的 mysql 用户通常是不能登陆的,可以使用类似下面的命令检查文件的访问权限 。
sudo -u mysql touch /var/lib/mysql/b
找出问题后,修改对应文件或目录的权限或属主后通常可以解决问题 。但有时 mysql 用户有访问文件和目录的权限,但仍然会被拒绝访问 , 例如下面这个例子:
mysql system sudo -u mysql touch/home/mysql/data/a
mysql create table t1 (
id int primary key,n varchar(10
) data directory
ERROR 1030 (HY000): Got error 168 from storage engine
测试说明 mysql 用户有这个目录的访问权限 , 但创建文件还是失败,这种情况让很多人困惑,这个时候通常是 mysqld 进程的访问被 linux 的 selinux 或 apparmor 给阻止了,大家可以看到创建的表不是在 mysql 的默认目录下面 , 因此 selinux 或 apparmor 的 policy 里面没有包含这个目录的访问权限,此时只要对应的修改 policy 就行了,当然把selinux 或 apparmor 停了也行 。

推荐阅读