解决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

  重启,

   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个字符

 

  3)、开启远程访问

  修改mysql.user表中root对应的host,默认为localhost,改为%,匹配所有主机:   

    update user set `host` = '%' where `user` = 'root' LIMIT 1;

 

 

  给root分配所有访问权限:   

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

 

  开启3306端口

  使用navicat或navicat premium12连接mysql,报错:

    2059-Authentication plugin 'caching_sha2_password' cannot be loaded:

  原因,mysql8.0使用的身份验证插件为:caching_sha2_password,客户端工具使用的身份验证插件仍是mysql_native_password,解决:

    修改mysql.user中的加密方式,     

      alter user 'root'@'%' identified with mysql_native_password by 'root密码';

 

  

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

 

    

posted on 2019-08-06 20:13  节奏35  阅读(2861)  评论(0编辑  收藏  举报

导航