service mysql start
启动MySQL
1、出现报错The server quit without updating PID file...
1.1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限
#执行:
chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data
#然后重新启动mysqld!
1.2.可能进程里已经存在mysql进程
用命令“ps -ef | grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号“杀死,然后重新启动mysqld,或者强制停止mysql应用:killall mysql ,然后重新启动应用。
1.3.可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
去mysql的数据目录/data看看,如果存在mysql-bin.index,把mysql-bin.index文件删除
1.4.mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。
vi /etc/my.cnf #编辑配置文件,在 [mysqld] 部分增加
datadir = /data/mysql #添加MySQL数据库路径 (或:datadir = /usr/local/mysql/data)
1.5.skip-federated字段问题
检查一下/etc/my.cnf文件中有没有没被注释的skip-federated字段,把skip-federated相关字段注释掉
1.6.错误日志目录不存在
使用“chown” “chmod”命令赋予mysql所有者及权限
1.7.查看selinux是否没有关闭,如果是centos系统,默认会开启selinux
vi /etc/selinux/config
\#SELINUX=enforcing
#注释掉
\#SELINUXTYPE=targeted
#注释掉
SELINUX=disabled
#增加 后保存并退出重启机器
二、插入mysql信息出现报错:ERROR 1062 (23000): Duplicate entry ‘@localhost.localdomain‘ for key ‘PRIMARY‘
由于重复插入了相同的字段数值,因此出现该报错。
2.1、可以使用下面的命令进行信息的更新:
UPDATE alias SET destination = ‘goodaccount@domain.com‘ WHERE source = "@localhost";
2.2、删除信息 :
DELETE FROM alias WHERE destination = ‘email1@domain1.com‘ AND source = "@localhost";
以管理员ROOT登录后,show grants for ‘user‘@’IP‘; 或者 select user from mysql.user; 确认用户账号是否存在。
#命令:
show grants for ‘jtsec‘@‘192.168.8.123‘;
#返回信息:ERROR 1141 (42000): There is no such grant defined for user ‘jtsec‘ on host ‘192.168.8.123‘
说明,没有jtsec用户,或者没有对jtsec用户进行在192.168.8.123远程访问的授权。
- 创建用户账号。
grant all privileges on *.* to [‘jtsec‘@‘192.168.8.123‘](mailto:‘jtsec‘@‘192.168.8.123‘) identified by ‘jtsec‘ with grant option;
flush privileges;
如果还是出现该错误,说明是该账户没有对192.168.8.123的远程访问权限。
-
直接查询mysql的user用户表
select user,host from mysql.user;
其中记录了每一个用户的权限信息
mysql> select user,host from mysql.user;
-
授权为所有IP都使用用户root,密码root,来远程访问数据库
mysql> GRANT ALL PRIVILEGES ON *.* TO[‘root‘@‘%‘](mailto:‘root‘@‘%‘) IDENTIFIED BY ‘root‘ WITH GRANT OPTION;
mysql> flush privileges;
- 授权的查询 show grants for ‘root‘@‘%‘;
查询授权表记录
select user,host,password from mysql.user;