ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL启动过程的问题

2021-04-10 23:04:19  阅读:173  来源: 互联网

标签:jtsec 启动 root MySQL 192.168 mysqld user mysql 过程


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远程访问的授权。

  1. 创建用户账号。
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的远程访问权限。

  1. 直接查询mysql的user用户表

    select user,host from mysql.user;
    

    其中记录了每一个用户的权限信息

    mysql> select user,host from mysql.user;
    
  2. 授权为所有IP都使用用户root,密码root,来远程访问数据库

mysql> GRANT ALL PRIVILEGES ON *.* TO['root'@'%'](mailto:'root'@'%') IDENTIFIED BY 'root' WITH GRANT OPTION;

mysql> flush privileges;
  1. 授权的查询 show grants for 'root'@'%';

查询授权表记录

select user,host,password from mysql.user;

标签:jtsec,启动,root,MySQL,192.168,mysqld,user,mysql,过程
来源: https://www.cnblogs.com/LiangZhiXiong/p/14642441.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有