• Linux CentOS上安装 MySQL 8.0.16


    前言:

      因为我需要在我新安装的Linux CentOS系统服务器中安装和配置MySQL服务器,然而对于我们这种Linux使用小白而言在Linux系统中下载,解压,配置MySQL等一系列的操作还是有些耗时间的。所以小编本次准备使用yum命令在Linux CentOS系统中安装MySQL服务器和使用其他命令配置MySQL服务器的相关配置(纯命令操作),这样子我们只需要输入一些简单的命令即可,当然你也可以下载压缩包自己完成一些初始化的配置与安装。使用这种方式的话大家可以参考一些博客进行安装,该篇博客写的相当的详细:https://www.cnblogs.com/sq1995liu/p/15077933.html

    第一步:查看系统中是否已存在MySQL,若存在则选择删除

    这里我就不详细讲解了,大家可以看我的上一篇博客,关于如何彻底删除MySQL数据库

    地址:https://www.cnblogs.com/sq1995liu/p/15077918.html

    第二步:下载并安装MySQL数据库

    官网下载地址:https://dev.mysql.com/downloads/repo/yum/

    选择red hat版:

     复制下载地址:

    1.下载镜像
    
    wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
    
    2.安装镜像
    
    rpm -ivh mysql80-community-release-el7-3.noarch.rpm
    
    3.升级系统上的MySQL软件包
    通过以下命令升级MySQL及其相关组件:
    
    方案一.指定更新MySQL服务器(推荐使用):
    yum update mysql-server
    
    方案二.通过更新系统上的所有内容来更新MySQL(谨慎使用):
    注意,这个方法需要谨慎使用,一般是在空白服务器的时候可以使用,因为有可能会把你系统中的其他软件都给升级了
    yum update
    
    4.安装MySQL服务
    
    yum install mysql-server

    使用Yum存储库升级MySQL软件包官网概述:https://dev.mysql.com/doc/mysql-repo-excerpt/5.6/en/updating-yum-repo.html

    第三步:MySQL文件权限设置

    chown mysql:mysql -R /var/lib/mysql
    

    第四步:初始化MySQL

    mysqld --initialize

    第五步:启动MySQL服务并设置开机自动启动

    #启动
    systemctl start mysqld

    #设置开机自动启动

       systemctl enable mysqld

     systemctl daemon-reload

    注意:我在启动MySQL服务的时候提示:

    Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.

    我认为可能和我之前系统安装过MySQL有关系,解决方法:

    chown mysql:mysql -R /var/lib/mysql
    
    在启动:
    
    service mysqld start
    

    查看运行状态:

    systemctl status mysqld

    完美运行:

    第六步:查看当前MsSQL安装版本

    mysqladmin --version
    

    第七步:设置数据库密码

    原因:在安装完成MySQL后不会默认设置密码,需要我们自己设置

    mysqladmin -u root password "你的密码"
    

    我真是一个被老天眷顾的孩子,设置密码是遇到了一个这样的问题:

    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

    一般这个错误是由密码错误引起,解决的办法自然就是重置密码

    解决方案如下:

    1.停止mysql数据库:systemctl stop mysqld

    2.用以下命令启动MySQL,以不检查权限的方式启动:

    mysqld --skip-grant-tables &

    如果上面的命令无效报错,则执行下面这段命令:

    mysqld --user=root --skip-grant-tables &

    3.登录mysql:mysql -u root -p或mysql

    4.更新root密码:

    ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

    修改密码的时候提示:

    ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

    解决方法:

    刷新权限:flush privileges;

    5.刷新权限:flush privileges;

    6.退出mysql:exit或quit

    7.使用root用户重新登录mysql

    mysql -uroot -p

    Enter password:<输入新设的密码123456>

    第八步:开启MySQL远程

    1.登陆数据库

    mysql -u root -p
    然后输入密码按回车进入MySQL数据库中

    2.创建用户用来远程连接:参考该篇博客:

    https://jingyan.baidu.com/article/363872ec3263236e4ba16f07.html


    3.查询数据库的用户

    SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

    4. 更新用户表:(其中%的意思是允许所有的ip远程访问,如果需要指定具体的某个ip就写上具体的ip即可)

    UPDATE user SET `Host` = '%' WHERE `User` = 'root' LIMIT 1;
    

    5. 强制刷新权限:

    flush privileges;
    

    6.使用Navicat连接数据库:

  • 相关阅读:
    SpringBoot EnumValidator验证器实现
    【原创】SpringCloud:基于Spring Cloud netflix全家桶搭建一个完整的微服务架构系统
    Hystrix Dashboard监控报“Unable to connect to Command Metric Stream”?
    Mysql sql_mode的合理设置
    nginx 调优
    函数指针
    进程与线程
    大小端学习
    联合体和结构体
    内存分配
  • 原文地址:https://www.cnblogs.com/sq1995liu/p/15077162.html
Copyright © 2020-2023  润新知