解决centos安装mysql8.0遇到的错误

记录一次坑爹的操作。很久很久前,安装mysql很顺利,于是乎,顺着经验,在mysql8.0上撞了大坑,只能怪,经验太旧太旧了,至此更新如下:

  linux安装mysql,最新版8.0:

  1、首先,检测是否已安装:

    

  rpm -qa | grep mysql

 

    删除已安装的mysql:

  rpm -e --nodeps mysql或rm -rf xxx

 

  2、安装,登陆mysql官网下载对应版本的YUM资源包

    

  wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
  rpm -ivh mysql-community-release-el7-5.noarch.rpm
  yum update
  yum install mysql-server
  初始化,    
   mysqld --initialize
  启动,
   systemctl start mysqld

  停止,

   systemctl stop mysqld

  重启,

扫描二维码关注公众号,回复: 6966186 查看本文章
   systemctl restart mysqld

  3、填坑

  1)、启动后会提示:
    Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
  遇到这种错误,第一反应,根据提示,执行

    systemctl status mysqld.service或journalctl -xe命令,

  查看信息,结果得到的与想要的,相差甚远:

  给的提示,最终指向Error: 13 (Permission denied)。。。Failed to start MySQL Server.
  没什么卵用,于是乎,查看mysql错误日志:
    执行c
    查看日志后得知,mysqld.pid没有写入权限,采取以下方式解决:
      

      chown -R mysql:mysql /var/run/mysqld

 

  再次启动,成功!


  2)、给root用户设置密码

  按照以前的经验,一顿操作猛如虎,定睛看,root密码仍是处!(过时经验,不再赘述)
  悔当初,没仔细看官网文档,于是乎,翻阅官方,得到如下方式:
  执行以下命令:
  

  shell> sudo grep 'temporary password' /var/log/mysqld.log

  得到mysql安装启动时,提供得临时密码xxx
  通过临时密码,执行shell> mysql -uroot -p,输入临时密码,登陆mysql成功
  执行以下命令:
    

  mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxxx';

  设置新密码成功!
  注:新密码遵循mysql的密码策略。密码策略validate_password要求密码包含至少一个大写字母,一个小写字母,一个数字和一个特殊字符,并且总密码长度至少为8个字符

至此,mysql8.0填坑初步完成

 

    

猜你喜欢

转载自www.cnblogs.com/tec-dream/p/11311542.html