zoukankan      html  css  js  c++  java
  • mysql8.0的RPM方式安装

    1. 下载

    https://dev.mysql.com/downloads/
    

    使用wget下载yum的源信息:

    wget -i -c https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
    

    或者直接下载rpm安装包

    链接地址:
    https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-community-server-8.0.26-1.el7.x86_64.rpm
    

    注意都是rpm结尾,但是文件大小相差比较大,yum源的rpm安装包只有几十K,真正的RPM安装包是几百兆。

    2. 安装

    2.1卸载历史版本mysql以及mariadb

    # 查询
    rpm -qa|grep mysql
    rpm -qa|grep mariadb
    # 移除
    rpm -ev [需要移除组件的名称]
    rpm -e --nodeps [需要移除组件的名称]  //此命令为强制卸载
    # 或者用yum移除
    yum remove 
    

    2.2 使用yum源信息安装

    # repo的安装,执行完成后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo
    rpm -ivh mysql80-community-release-el7-1.noarch.rpm
    cd /etc/yum.repos.d/
    # 注意:必须进入到/etc/yum.repos.d/目录后再使用yum命令进行安装
    yum -y install mysql-server
    
    
    # 如果报错误Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY,加上force和nodeps参数即可
    # 例如:
    rpm -ivh mysql-community-server-8.0.25-1.el8.x86_64.rpm --force --nodeps
    

    2.3 使用rpm直接安装

    如果报错误Header V3 DSA/SHA256 Signature, key ID 5072e1f5: NOKEY,加上force和nodeps参数

    安装服务端:

    rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm --force --nodeps
    

    安装客户端:

    rpm -ivh rpm包
    * 安装common包
    rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm
    * 安装类库
    rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm --force --nodeps
    * 安装客户端(前两个是其依赖)
    rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm
    

    2.4 查看安装后的信息

    # 查看服务状态,可能没启动
    systemctl status mysqld
    
    # 启动服务
    systemctl start mysqld
    
    cat /etc/group | grep mysql
    cat /etc/passwd | grep mysql
    mysqladmin --version
    

    2.5 初始化mysql

    # 创建数据文件目录和mysql系统数据库 产生随机root密码
    mysqld --initialize
    

    查看初始密码:

    cat /var/log/mysqld.log | grep password
    或
    grep 'temporary password' /var/log/mysqld.log
    

    修改密码:没有经过测试。

    复制 root@localhost: 后面的密码。登录mysql,并粘贴默认密码
    因为MySQL8.0的更改,导致必须要重置密码
    alter user 'root'@'localhost' identified by '12345678';
    如果设置密码时候出现提示
    
    ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    
    代表需要降低policy的等级后在执行
    
    set global validate_password.policy=0;
    开启MySQL远程连接
    
    
    use mysql;
    #修改root账户权限
    update user set host = '%' where user = 'root';
    #刷新权限
    flush privileges;
    

    2.6 安全设置

    mysql_secure_installation
    
    # 提示如下步骤:
    1. 输入初始密码;
    2. 提示root密码过期,需要修改密码,这是mysql8的提示,输入两次密码确认;
    3. 提示是否更改root密码,这步其实重复了;
    4. 是否删除匿名用户,建议删除;
    5. 是否禁用root账户的远程登录,建议禁用,即mysql的root只可以本机登录;
    6. 是否删除test数据库,建议删除;
    7. 是否重新加载权限表,选y。
    

    2.7 mysql登录

    # 输入刚才修改后的密码
    mysql -uroot -p 
    

    2.8 重置密码(Mysql8.0+有变化)

    先把root的旧密码置空(这个步骤可以不做)

    use mysql;
    update user set authentication_string='' where user='root';
    # 备注:Mysql5.7+ password字段 已改成 authentication_string字段
    

    重置成新密码:

    alter user 'root'@'localhost' identified by 'newpassword';
    # 备注:Mysql8.0修改密码方式已有变化(此处是个坑,需要注意)
    # Mysql8.0之前:
    update user set password=password('root') where user='root';
    

    重新登录:

    mysql -uroot -pnewpassword
    

    2.9 如何停止、重启和查看mysql服务

    systemctl stop mysqld //停止服务
    systemctl restart mysqld //重启服务
    systemctl status mysqld //查看服务
    

    2.10 mysql相关目录

    # 相关命令
    /usr/bin 
    
    # 配置文件目录
    /usr/share/mysql
    
    # 数据库文件存放目录
    /var/lib/mysql
    
    # mysql的启动配置文件
    /etc/my.cnf 
    
    

    其他:

    my.ini # windows操作系统下的配置文件
    my.cnf # linux操作系统下的配置文件
    mysqld # 是后台守护进程,即mysql daemon
    mysql # 是客户端命令行
    

    3. 创建用户和数据库

    3.1 创建用户

    用户名:wood,密码:PWDwooddb_2021,可以从任何地址登入。

    create user 'wood'@'%' identified by 'PWDwooddb_2021'
    

    3.2 创建数据库wood_db;

    create database wood_db;
    

    3.3 授权

    常用授权语句

    GRANT 权限 ON 数据库.表单名称 TO 用户名@主机名    对某个特定数据库中的特定表单给予授权。
    GRANT 权限 ON 数据库.* TO 用户名@主机名    对某个特定数据库中的所有表单给予授权。
    GRANT 权限 ON *.* TO 用户名@主机名    对所有数据库及所有表单给予授权。
    GRANT 权限1,权限2 ON 数据库.* TO 用户名@主机名    对某个数据库中的所有表单给予多个授权。
    GRANT ALL PRIVILEGES ON *.* TO 用户名@主机名    对所有数据库及所有表单给予全部授权。
    

    授权wood用户所有wood_db的权限

     grant all on wood_db.* to 'wood'@'%';
    

    查看用户授权

    show grants for wood@'%';
    +---------------------------------------------------+
    | Grants for wood@%                                 |
    +---------------------------------------------------+
    | GRANT USAGE ON *.* TO `wood`@`%`                  |
    | GRANT ALL PRIVILEGES ON `wood_db`.* TO `wood`@`%` |
    +---------------------------------------------------+
    2 rows in set (0.00 sec)
    
    

    如果修改没有生效,考虑使用flush privileges命令刷新权限信息。

  • 相关阅读:
    如何使用SAP Intelligent Robotic Process Automation自动操作Excel
    OpenSAML 使用引导 IV: 安全特性
    Spring Cloud Zuul 网关使用与 OAuth2.0 认证授权服务
    微服务架构集大成者—Spring Cloud (转载)
    Spring Cloud Eureka 服务注册列表显示 IP 配置问题
    使用 Notification API 开启浏览器桌面提醒
    SignalR 中使用 MessagePack 序列化提高 WebSocket 通信性能
    配置 Nginx 的目录浏览功能
    关于 Nginx 配置 WebSocket 400 问题
    Migrate from ASP.NET Core 2.0 to 2.1
  • 原文地址:https://www.cnblogs.com/asker009/p/15072354.html
Copyright © 2011-2022 走看看