• Linux(CentOS)安装MySQL教程


    主要参考链接 教程

    1. 准备工作

    1.1 安装CentOS虚拟机

    教程点击

    1.2 将CentOS虚拟机设置为静态IP,否则你每次重启虚拟机后连接数据库都要重新查IP

    教程点击

    1.3 如果有安装过MySQL,请先卸载MySQL

    教程点击

    1.4 虚拟机执行命令su切换到root账号(输入密码时不会显示密码,实际已经输入)
     su root
    
    • 1
    2 安装MySQL(本文以CentOS 7下安装MySQL 8为例)
    2.1 删除mariadb数据库软件包
    2.1.1 执行命令rpm -qa|grep mari查询mariadb数据库软件包
        mariadb是CentOS自带的数据库,装MySQL前要先卸载,
        但不一定每一个CentOS镜像都有自带mariadb数据库,如果查到没有则直接跳过此步
    
    • 1
    • 2
    #查询mariadb数据库软件包
    rpm -qa|grep mari
    
    • 1
    • 2

    在这里插入图片描述

    2.1.2 执行命令rpm -e --nodeps 包名来删除软件包
    #删除软件包
    rpm -e --nodeps marisa-0.2.4-4.el7.x86_64  #包名用你自己查询到的
    rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64  #包名用你自己查询到的
    
    • 1
    • 2
    • 3
    2.2 安装MySQL
    2.2.1 执行命令wget -c 链接下载rpm源(根据CentOS版本自行选择)
    #CentOS8 mysql8 rpm源
    wget -c https://dev.mysql.com/get/mysql80-community-release-el8-5.noarch.rpm
    
    #CentOS7 mysql8 rpm源
    wget -c https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
    
    #CentOS6 mysql8 rpm源
    wget -c https://dev.mysql.com/get/mysql80-community-release-el6-7.noarch.rpm
     
    #如果wget命令无效,先执行下面这个命令安装wget
    yum -y install wget
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    2.2.2 执行命令rpm -ivh 包名安装rpm源(根据下载的rpm源自行选择)
    #CentOS8 安装mysql8
    rpm -ivh mysql80-community-release-el8-5.noarch.rpm
    #CentOS7 安装mysql8
    rpm -ivh mysql80-community-release-el7-7.noarch.rpm
    #CentOS6 安装mysql8
    rpm -ivh mysql80-community-release-el6-7.noarch.rpm
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    2.2.3 执行命令yum -y install mysql-server安装mysql服务
    #安装mysql服务
    yum -y install mysql-server
    
    • 1
    • 2
    2.3 安装mysql服务,可能会有问题出错
    yum -y install mysql-server
    
    • 1

    问题一:比如说我今天出现这个错误:

    Downloading packages:
    警告:/var/cache/yum/x86_64/7/mysql80-community/packages/mysql-community-client-8.0.36-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID a8d3785c: NOKEY
    从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022 检索密钥file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 检索密钥"MySQL 8.0 Community Server" 的 GPG 密钥已安装,但是不适用于此软件包。请检查源的公钥 URL 是否配置正确。
    
     失败的软件包是:mysql-community-client-8.0.36-1.el7.x86_64
     GPG  密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022, file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    怎么解决了?

    #执行下面的代码就行了,把 mysql80-community-release-el7-7.noarch.rpm 换成自己的继续了
    [root@Hadoop100 software]# rpm --checksig mysql80-community-release-el7-7.noarch.rpm 
    
    mysql80-community-release-el7-7.noarch.rpm: rsa sha1 (md5) pgp md5 确定
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    要是上面还不能解决的话

    [root@Hadoop100 software]# gpg --export -a 3a79bd29 > 3a79bd29.asc
    [root@Hadoop100 software]# rpm --import 3a79bd29.asc
    [root@Hadoop100 software]# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
    [root@Hadoop100 software]# rpm --checksig mysql80-community-release-el7-7.noarch.rpm 
    #只要出现下面这一行结果就行
    mysql80-community-release-el7-7.noarch.rpm: rsa sha1 (md5) pgp md5 确定
    
    #最后在执行安装msyql服务操作操作
    [root@Hadoop100 software]# yum -y install mysql-server
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    问题二:安装有出现了问题

    警告:/var/cache/yum/x86_64/7/mysql80-community/packages/mysql-community-client-8.0.36-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID a8d3785c: NOKEY
    从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022 检索密钥
    从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 检索密钥
    
    源 "MySQL 8.0 Community Server" 的 GPG 密钥已安装,但是不适用于此软件包。请检查源的公钥 URL 是否配置正确。
    
     失败的软件包是:mysql-community-client-8.0.36-1.el7.x86_64
     GPG  密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022, file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    解决办法

    [root@Hadoop100 software]#  sudo yum install mysql-server --nogpgcheck
    
    
    • 1
    • 2
    2.3.1 执行命令systemctl start mysqld启动MySQL
    #查看mysql运行状态
    systemctl status mysqld
    #启动mysql
    systemctl start mysqld
    #停止mysql 
    systemctl stop mysqld
    #重启mysql 
    systemctl restart mysqld  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    2.3.2 执行命令systemctl enable mysqld开启MySQL开机自启动
    #开启mysql开机自启动
    systemctl enable mysqld
    #关闭mysql开机自启动
    systemctl disable mysqld
    
    • 1
    • 2
    • 3
    • 4
    2.4 设置MySQL密码
    2.4.1 执行下方命令获取临时密码
    //获取MySQL临时密码
    grep 'temporary password' /var/log/mysqld.log
    
    • 1
    • 2

    在这里插入图片描述
    2.4.2 执行命令mysql -uroot -p登录MySQL(密码是上面获取的临时密码)

    //登录mysql
    mysql -uroot -p
    
    • 1
    • 2

    例如:下面的截图,其中 -uroot是要连在一块的
    在这里插入图片描述

    2.4.3 首次登陆,需要重新设置新密码,可以参考此教程,点击链接

    你要是下面的(1)(2)(3)(4)操作失败,直接试试我这个里面的

    #先随意更改一个数据库密码,后再改简单的密码,不然不能下一步操作
    mysql> alter user root@localhost identified by  'Y1h2e3d4u5!';
    Query OK, 0 rows affected (0.00 sec)
    
    #设置密码策略,简单的
    mysql> set global validate_password.policy=LOW;
    Query OK, 0 rows affected (0.00 sec)
    
    #设置密码长度
    mysql> set global validate_password.length=4;
    Query OK, 0 rows affected (0.00 sec)
    
    
    mysql> set global validate_password.mixed_case_count=0;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> set global validate_password.number_count=0;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> set global validate_password.special_char_count=0;
    Query OK, 0 rows affected (0.00 sec)
    
    #重新修改root密码
    mysql> alter user root@localhost identified by '123456';
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> create  user 'root'@'%' identified by  '123456';
    Query OK, 0 rows affected (0.00 sec)
    
    #刷新缓存
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
    #设置远程登录链接,任何用户度可以连接该数据库服务器
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
    Query OK, 0 rows affected (0.01 sec)
    #设置远程服务器连接密码
    mysql> ALTER USER 'root'@'%' IDENTIFIED BY '123456';
    Query OK, 0 rows affected (0.00 sec)
    
    #最后重启数据库服务器
    systemctl restart mysqld
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    (1) 更改密码弱口令设置,设置简单密码
    mysql> set global validate_password_policy=0;
    mysql> set global validate_password_length=1;
    
    • 1
    • 2
    (2) 设置新的密码:
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
    #注意 此处BY 后面的root是修改后的密码
    mysql> flush privileges;
    
    • 1
    • 2
    • 3
    (3) 配置远程登录:
    mysql> grant all privileges on *.* to root@'%' identified by 'root';
    mysql> flush privileges;
    
    • 1
    • 2
    (5) 至此 算是安装完毕,如果有问题 就重启mysql :
    systemctl restart mysqld
    
    • 1
    3、安装过程遇到的问题
    3.1 MySQL问题: mysql-community-libs-compat-5.7.41-1.el7.x86_64.rpm 的公钥尚未安装 (参考链接 教程

    解决办法:

    运行命令
    [root@localhost ~]# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
    重新安装
    [root@localhost ~]# yum -y install mysql-server
    
    • 1
    • 2
    • 3
    • 4
    3.2 虚拟机中修改文件出现却无法保存了,出现了警告:
        E45:已设定选项 'readonly' (请加 ! 强制执行)
        
       原因分析: 这是因为当前的用户的权限不够
    
       解决办法:执行代码的命令前面加上 sudo
       或者切换当前系统的用户    直接        su root
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    torch.nn.Linear(in_features, out_features, bias=True)[source]
    净利降4成、股价腰斩,戎美困在“淘系女装第一股”
    AIGC - stable-diffusion(文本生成图片) + PaddleHub/HuggingFace + stable-diffusion-webui
    通过Frp解决实现内网穿透
    sentinel----隔离和降级
    linux 网络 sk_buff结构
    明厨亮灶视频监控分析系统
    React82_useCallback()
    C++基础——多态
    基于Java+SpringBoot+mybatis+vue+element实现旅游管理系统
  • 原文地址:https://blog.csdn.net/gaoluan6052/article/details/134183595