Linux的MySQL数据库安装部署

发布时间 2023-08-10 15:21:13作者: 克峰同学

简介

MySQL数据库,是知名的数据库系统,其特点是:轻量,简单,功能丰富。

MySQL常用版本有

  • MySQL 5.7版本安装
  • MySQL 8.x版本安装


MySQL在CentOS系统安装(5.7版本与8.0版本)

注意:安装操作需要root权限

安装

  1. 配置yum仓库

    # 导入更新密钥
    rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
    
    # 安装MySQL5.7版本 yum库
    rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
    
    # 安装MySQL8.X版本 yum库
    rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
    
    # centos rpm安装mysql时依赖检测失败
    # mysql57-community-release 与 mysql80-community-release-el7-2.noarch 冲突
    # 卸载原来的MySQL
    rpm -qa |grep mysql    //搜索安装的MySQL包
    rpm -e --nodeps 搜索出来的包名    //卸载
    

    image-20230804171515061

    由于MySQL并不在CentOS的官方仓库中,所以得通过上面rpm命令

    • 导入MySQL仓库得密钥
    • 配置MySQL得yum仓库
  2. 使用yum安装MySQL

    # yum安装MySQL
    yum -y install mysql-community-server
    
  3. 安装完成后,启动MySQL并配置开机自启动

    MySQL安装完成后,会自动配置为名称叫做:mysqld的服务,可以被systemctl所管理

    systemctl start mysqld   #启动
    systemctl enable mysqld  #开启自启
    
  4. 检查MySQL的运行状态

    systemctl status mysqld
    

配置

主要配置管理员用户root的密码以及配置允许远程登录的权限

  1. 获取MySQL的初始密码

    # 通过grep命令,在/var/log/mysqld.log文件中,过滤temporary password关键字,得到初始密码
    grep 'temporary password' /var/log/mysqld.log
    
  2. 登录MySQL数据库

    # 使用root用户登录MySQL
    mysql -uroot -p
    # -u,登录的用户,MySQL数据库的管理员用户同Linux一样,是root
    # -p,表示使用密码登
    # 执行完毕后输入初始密码,即可进入MySQL数据库
    
    image-20230804174001158
  3. 修改root用户密码

    # 密码要符合:大于8位,有大写字母,有特殊符号,不能是连续的简单语句,如123,abc
    
    # 在MySQL5.7控制台内执行
    ALTER USER 'root'@'localhost' IDENTIFIED BY '密码'
    
    # 在MySQL8.0控制台内执行
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码' 
    
  4. [扩展],配置root的简单密码

    可以给root设置简单密码,如123456

    注意,此配置仅仅是用于测试环境或学习环境的,如果是正式使用,请勿设置简单密码

    # 如果想设置简单密码,需要降低MySQL的密码安全级别
    set global validate_password_policy=LOW # 密码级别低 
    set global validate_password_length=4 # 密码长度最低4位即可
    

    关于validate_password.policy的取值:

    1. 0 / LOW:只验证长度;
    2. 1 / MEDIUM:验证长度、数字、大小写、特殊字符;
    3. 2 / STRONG:验证长度、数字、大小写、特殊字符、字典文件;
  5. [扩展],配置root运行远程登录

    默认情况下,root用户是不运行远程登录的,只允许在MySQL所在的Linux服务器登录MySQL

    注意,允许root远程登录会带来安全风险

    # MySQL5.7版本
    # 授权root远程登录
    grant all privileges on *.* to root@'IP地址' identifed by '密码' with grant option
    # IP地址即允许登录的IP地址,也可以填写%,表示允许任何地址
    # 密码表示给远程登录独立设置密码,和本地登录的密码可以不同
    
    # 刷新权限,生效
    flush privileges;
    
    # MySQL8.0版本
    # 第一次设置root远程登录,并配置远程密码使用如下SQL命令
    create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码'
    
    # 后续修改密码使用如下SQL命令
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码'
    
  6. 退出MySQL控制台页面

    # 退出命令
    exit 或者通过快捷键退出:ctel + d