美文网首页
CentOS 7安装MySQL 8.0

CentOS 7安装MySQL 8.0

作者: 风静花犹落 | 来源:发表于2019-05-30 02:23 被阅读0次

    1、添加包

    CentOS 7
    wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
    rpm -ivh mysql80-community-release-el7-3.noarch.rpm
    
    CentOS 8
     wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
    rpm -ivh mysql80-community-release-el8-1.noarch.rpm
    

    2、更新 yum 命令

    yum clean all && yum makecache
    

    3、安装

    yum install -y  mysql-community-server
    

    4、配置文件

    #修改配置文件
    vim /etc/my.cnf
    
    [mysqld]
    
    port = 3306
    
    character-set-server=utf8mb4
    collation-server=utf8mb4_general_ci
    
    # 表名不区分大小写(启动前配置)
    lower_case_table_names=1
    
    #设置日志时区和系统一致
    log_timestamps=SYSTEM
    
    [client]
    default-character-set=utf8mb4
    
    

    5、启动服务

    #启动服务
    systemctl start mysqld
    
    #查看版本信息
    mysql -V
    
    #查看状态
    systemctl status mysqld
    
    ##开机启动
    systemctl enable mysqld
    systemctl daemon-reload
    

    6、修改账号密码

    #1、查看MySQL为Root账号生成的临时密码
    grep "A temporary password" /var/log/mysqld.log
    
    #2、进入MySQL shell
    mysql -u root -p
    
    #3、修改密码
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
    

    7 、开启 MySQL 远程连接

    #选择 mysql 数据库:
    USE mysql;
    
    #在 mysql 数据库的 user 表中查看当前 root 用户的相关信息:
    SELECT host, user, authentication_string, plugin FROM user;
    
    #设置root 用户远程访问:
    update user set host = '%' where user ='root';
    
    #刷新权限:
    FLUSH PRIVILEGES;
    
    #授权的所有权限
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
    
    #更新 root 用户密码及加密规则(如果客户端不支持加密插件):
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'MyNewPass4!';
    
    #刷新权限:
    FLUSH PRIVILEGES;
    

    8、新建远程用户

    #1、新建远程用户
    CREATE USER 'devops'@'%' IDENTIFIED BY 'MyNewPass3!';
    
    #2、赋予指定账户指定(数据库名称.表名)远程访问权限
    GRANT ALL PRIVILEGES ON mydb_name.* TO 'devops'@'%';
    
    #3、查看权限
    SHOW GRANTS FOR 'devops'@'%';
    
    #4、收回权限
    REVOKE ALL PRIVILEGES ON *.* FROM 'devops'@'%';
    
    #5、删除用户
    DROP USER 'devops'@'%';
    
    #6、刷新权限
    FLUSH PRIVILEGES;
    

    9、 找回密码

    如果忘记了MySQL root密码,可以用以下方法重新设置:

    #1.关闭MySQL
    service mysqld stop
    
    #2.用以下命令启动MySQL,以不检查权限的方式启动;
    service mysqld start --skip-grant-tables
    
    #3.然后用空密码方式使用root用户登录 MySQL;
    mysql -u root
    

    10、启动失败

    1.端口问题

    [ERROR] Can't start server: Bind on TCP/IP port: Permission denied

    解决方案: 切换SELinux运行模式为permissive

    临时生效

    #执行命令
    setenforce 0
    
    #查询结果
    getenforce
    

    重启生效

    #编辑文件
    vim /etc/selinux/config
    
    #修改SELINUX值
    SELINUX=permissive
    
    2.权限问题
    chown mysql:mysql -R /var/run/mysqld
    
    /usr/sbin/mysqld --user=mysql &
    
    3.端口问题

    [Warning] IP address '192.168.0.212' has been resolved to the host name '212.def.gh', which resembles IPv4-address itself.

    添加skip-name-resolve,跳过IP反解析成域名的过程,促使客户端建立连接加快。这样只是影响MySQL不能使用主机名来授权给用户

    #编辑文件
    vim /etc/my.cnf
    
    #添加参数
    [mysqld]
    skip-name-resolve
    

    相关文章

      网友评论

          本文标题:CentOS 7安装MySQL 8.0

          本文链接:https://www.haomeiwen.com/subject/cajptctx.html