zoukankan      html  css  js  c++  java
  • CentOS 7 安装MySQL 8.0.11

    1. 下载安装包

    wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar

    下载完成后解压:

    tar -xvf mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar

    这个链接的文件包含MySQL所有组件,而我们安装需要的组件如下:

    (1) mysql-community-common-8.0.11-1.el7.x86_64.rpm

    (2) mysql-community-libs-8.0.11-1.el7.x86_64.rpm

    (3) mysql-community-client-8.0.11-1.el7.x86_64.rpm

    (4) mysql-community-server-8.0.11-1.el7.x86_64.rpm

    你也可以按照这个列表逐个下载,本文为了方便,选择了全集包。

    2. 查询并删除CentOS自带的Mariadb

    (1) 查询:

    rpm -qa|grep mariadb

    得到结果:

    (2) 删除:

    rpm -e --nodeps mariadb-libs-5.5.56-2.el7.centos.x86_64

    3.按照1中的列表顺序逐个安装MySQL所需组件

    yum localinstall -y mysql-community-common-8.0.11-1.el7.x86_64.rpm
    yum localinstall -y mysql-community-libs-8.0.11-1.el7.x86_64.rpm
    yum localinstall -y mysql-community-client-8.0.11-1.el7.x86_64.rpm
    yum localinstall -y mysql-community-server-8.0.11-1.el7.x86_64.rpm

     4. 检查安装结果

    rpm -qa | grep mysql

    5. 启动

    systemctl start mysqld
    systemctl status mysqld

    MySQL在启动过程中会进行如下操作:

    (1) 初始化MySQL;

    (2) 在/var/lib/mysql目录下生成一个SSL证书和密钥文件;

    (3) 安装validate_password plugin;

    (4) 创建一个超级用户帐号'root'@'localhost,并且为其生成一个随机密码存放在/var/log/mysqld.log文件。

    6. 修改密码

    安装完成之后,通过下面的方式找到root默认密码,然后登录mysql进行修改:

    grep 'temporary password' /var/log/mysqld.log
    mysql -u root -p
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass1!';

    密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。

    7. 添加账户

    为了安全起见,强烈建议在远程连接的时候使用非root账户。创建test用户,密码为“MyNewPass1!”,为其分配所有权限。

    CREATE USER 'test'@'localhost' IDENTIFIED BY 'MyNewPass1!';
    GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost' WITH GRANT OPTION;

    CREATE USER 'test'@'%' IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON *.* TO 'test'@'%'
    WITH GRANT OPTION;
    flush privileges;

    注意,每次执行完create user命令,一定要通过以下命令查看创建用户是否成功:

    use mysql;
    select host, user from user;

    对于新创建的账户,MySQL 8默认它的密码插件为caching_sha2_password,而现有的客户端工具大都只支持mysql_native_password插件,如果你用现有版本的客户端工具链接会报错“authentication plugin caching_sha2_password cannot be loaded”。

    解决方法是改变用户的密码插件:

    ALTER USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY 'MyNewPass1!';
    flush privileges;

    然后需要修改配置文件:

    sudo vi /etc/my.cnf

    重启MySQL:

    systemctl restart mysqld

    查看用户和权限是否创建成功:

    select user, host, pluginauthentication_string from mysql.user;
    SHOW GRANTS FOR 'test'@'%';

     8. 设置开机启动

    systemctl enable mysqld

     9. 开放端口

    sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
    sudo firewall-cmd --reload
    sudo firewall-cmd --list-ports
  • 相关阅读:
    Java中的分代垃圾回收策略
    Java Web容器的启动与处理请求的过程
    利用LRUMap 设计缓存
    《淘宝技术这十年》
    Java中的堆内存、栈内存、静态存储区
    JAVA中的代理技术(静态代理和动态代理)
    java中的synchronized关键字
    代理模式
    状态模式
    SSIS 错误代码 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER
  • 原文地址:https://www.cnblogs.com/eagle6688/p/8975090.html
Copyright © 2011-2022 走看看