Linux环境下的Java项目部署技巧:安装 Mysql

查看 myslq 是否安装:
复制代码
   rpm -qa|grep mysql
  1. 如果已经安装,可执行命令来删除软件包:

    复制代码
    rpm -e --nodeps 包名
  2. 下载 repo 源:

    复制代码
     http://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
  3. 执行命令安装 rpm 源(根据下载的 rpm 源进行选择)

    复制代码
    #CentOS7 安装mysql8
    rpm -ivh mysql80-community-release-el7-7.noarch.rpm
    1. 查看 mysql yum 仓库中 mysql 版本,使用如下命令

      复制代码
      yum repolist all | grep mysql
    2. 可以看到 MySQL 5.5 5.6 5.7 为禁用状态,而 Mysql 8.0 为启用状态

    3. 修改相对应的版本为启用状态最新版本为禁用状态(自行选择)

      复制代码
      yum-config-manager --disable mysql80-community
      yum-config-manager --enable mysql57-community
  4. 安装 MySQL 服务:

    复制代码
    #安装mysql服务
    yum install mysql-community-server
    #查看mysql版本
    mysql -V
  5. 启动 MySQL:

    复制代码
    #查看mysql运行状态
    systemctl status mysqld.service
    #启动mysql
    systemctl start mysqld
    #停止mysql 
    systemctl stop mysqld
    #重启mysql 
    systemctl restart mysqld  
    1. 开启 mysql 开机自启动:

      复制代码
      #开启mysql开机自启动
      systemctl enable mysqld
      #关闭mysql开机自启动
      systemctl disable mysqld
  6. 设置 mysql 密码:

    1. 获取临时密码

      复制代码
      //获取MySQL临时密码
      grep 'temporary password' /var/log/mysqld.log
    2. 登录 mysql:密码是上面获取的临时密码

      复制代码
      //登录mysql
      mysql -uroot -p
    3. 用临时密码登陆后,设置 mysql 永久密码:

      复制代码
      show variables like 'validate_password.%';
      //根据下图中的密码策略设置mysql数据库密码(你不设置密码就无法进行其它操作)                      
      alter user 'root'@'localhost' identified by 'Zjx123456#';
    4. 注意:你的密码不符合密码策略的话是无法设置成功的,mysql8 默认密码策略如下图(最少 8 位,至少包含一个数字,至少包含一个特殊字符)

  7. 修改密码策略:

    1. 只能临时修改密码策略,重启 mysql 后自动恢复默认密码策略,想要永久修改 mysql 配置文件,一般来说临时修改密码策略就够了

      复制代码
      //设置密码长度
      set global validate_password.length = 6;
      //设置密码风险等级(等级越高要求密码越复杂),分为0、1、2级
      set global validate_password.policy = 0;
       
      //查询密码策略
      show variables like 'validate_password.%';
      
      
      //设置mysql数据库密码                       (这里是密码)
      alter user 'root'@'localhost' identified by 'Zjx123456#';
  8. 许外部访问 mysql 数据库:

    复制代码
    //创建用户
           (远程连接用的账号)           (远程连接用的密码)
    create user 'root'@'%' identified by 'mypassword';
    //mysql8.0版本
    //create user 'root'@'%' identified with mysql_native_password by 'Zjx123456#';
     
    //分配权限,运行远程连接
                             (允许root账号远程连接)
    grant all privileges on *.* to 'root'@'%' with grant option;
     
    //刷新权限
    flush privileges;
    1. 远程链接数据库,如果远程连接不上,考虑防火墙是否开放了 mysql 端口 (3306) 和服务器上的 MySQL 端口(3306)

    2. 在使用 Navicat for mysql 链接 mysql 8.0时会报如下错误:

      复制代码
      Authentication plugin 'caching_sha2_password' cannot be loaded: 
    3. mysql 8.0 引入了新特性 caching_sha2_password,这种密码加密方式客户端不支持,客户端支持的是 mysql_native_password 这种加密方式

    4. 我们可以查看 mysql 数据库中 user 表的 plugin 字段

      复制代码
      use mysql;
      select host,user,plugin from user;
    5. 可以使用命令将他修改成 mysql_native_password 加密方式:

      复制代码
      update user set plugin='mysql_native_password' where user='root';
      //或者创建user时直接指定加密模式
      create user 'root'@'%' identified with mysql_native_password by 'Zjx123456#';
相关推荐
小码农 - 初4 小时前
MySQL 增删改查
mysql
DLYSB_7 小时前
存储运维实战:基于 Ceph Event 监听与 Python 适配器的分布式存储健康度物理声光响应架构
运维·ceph·python·报警灯
爱丶狸8 小时前
Grafana_Zabbix_ImageRenderer_部署与前端操作手册
linux·前端·zabbix·grafana·kylin
阿里云云原生8 小时前
可用性从 99.9% 跃升至 99.995%:畅捷通如何用 AI 重塑运维底座?
运维·网络·人工智能
k4m7v2pz9 小时前
把 Bevy 0.14 游戏移植到 R36S 掌机:一场与“无窗口系统“的搏斗
linux·rust·bevy·r36s·rk3326·开源掌机
阿童木写作9 小时前
Python实现Temu图片批量翻译自动化教程
运维·人工智能·python·自动化
iori97king10 小时前
库存不足自动通知:第一次使用自动化
运维·自动化
@insist12310 小时前
信息系统管理工程师-信息系统运维资源、技术与智能运维核心考点解析
运维·软考·信管·软件水平考试·信息系统管理工程师
木子欢儿10 小时前
Intel 架构的 MacBook Pro 运行 Linux 发热量高解决
linux·运维·服务器
五阿哥永琪10 小时前
MySQL中操作json的函数!
数据库·mysql·json