zoukankan      html  css  js  c++  java
  • CentOS 7.6 安装 MySQL-5.7.31(RPM方式安装)

    准备工作:
    注:5.7.31版本安装步骤及初始化和之前版本有较大区别
    CentOS 7.6 系统:
    带GUI的服务器 默认安装
    MySQL 5.7.31 安装包:
    1.RPM安装包(rpm/yum方式安装):
    mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar(RPM打包文件,包含以下RPM包)
        mysql-community-client-5.7.31-1.el7.x86_64.rpm (客户端)【必装】
        mysql-community-server-5.7.31-1.el7.x86_64.rpm (服务端)【必装】
        mysql-community-libs-5.7.31-1.el7.x86_64.rpm (共享库)【推荐】【依赖必要】
        mysql-community-devel-5.7.31-1.el7.x86_64.rpm (开发库)【推荐】
        mysql-community-common-5.7.31-1.el7.x86_64.rpm (通用库)【推荐】【依赖必要】
    ...... (其他的根据自己需要选装)
    2.源码安装包(编译方式安装)
    mysql-5.7.31-el7-x86_64.tar.gz
    mysql官方网站下载即可,国内的搜狐、阿里镜像站也可下载
     
    安装环境检查:
    1.卸载mariadb/mysql
    [root@localhost ~]# rpm -qa | gerp [软件名称] ## 查询软件是否被安装
    检查是否有默认安装的数据库,如果有请卸载(通常情况会默认安装MariaDB数据库)
    [root@localhost ~]# rpm -qa | grep -i mariadb
    卸载方式1:[root@localhost ~]# rpm -ev --nodeps mariadb-libs ## 强制卸载
    卸载方式2:[root@localhost ~]# yum remove mariadb-libs.x86_64 ## 推荐
     
    2.检查安装mysql的依赖包
    [root@localhost ~]# rpm -qa | grep ncurses
    [root@localhost ~]# rpm -qa | grep libaio
    *********************************************************
    RPM方式安装:
    1、安装RPM文件
    解压打包文件:
    [root@localhost ~]# tar -xvf mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar
     
    安装MySQL(注意安装顺序,否则有依赖告警):
    [root@localhost ~]# rpm -ivh mysql-community-common-5.7.31-1.el7.x86_64.rpm
    [root@localhost ~]# rpm -ivh mysql-community-libs-5.7.31-1.el7.x86_64.rpm
    [root@localhost ~]# rpm -ivh mysql-community-client-5.7.31-1.el7.x86_64.rpm
    [root@localhost ~]# rpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm
    ## -i是安装,-v是列出更多详细信息,-h是在安装时列出hash标记
     
    2、启动数据库
    [root@localhost ~]# systemctl start mysqld
    [root@localhost ~]# systemctl status mysqld
    [root@localhost ~]# systemctl enable mysqld
     
    检查是否启动,端口是否监听:
    [root@localhost ~]# netstat -lntup | grep mysql
     
     
    3、本地账户默认密码
    mysql 安装完成之后,生成的默认密码在 /var/log/mysqld.log 文件中。使用 grep 命令找到日志中的密码
    [root@localhost ~]# grep 'password' /var/log/mysqld.log
     
     
    4、登陆并修改密码
    [root@localhost ~]# mysql -u root -p
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Ab@123456';
    或者
    mysql> set password for 'root'@'localhost'=password('Ab@123456');
     
    以后通过 update set 语句修改密码
    mysql> use mysql;
    mysql> update user set password=PASSWORD('Ab@456789') where user='root';
    mysql> flush privileges; ## 刷新权限
     
    注:mysql 5.7 默认安装了密码安全检查插件(validate_password),策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位,否则会报错,如下:
    ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    mysql> set global validate_password_policy=0; ## 修改密码策略0级
     
     
    5、添加远程登录用户
    默认情况下MySQL只允许root账户在本地登录,如果要在其它机器上连接mysql,必须添加一个允许远程连接的帐户。或者修改 root 为允许远程连接(不推荐)
     
    查询用户:
    mysql> select User,Host from user;
     
    添加远程连接账户:
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'andy'@'%' IDENTIFIED BY 'Andy@123' WITH GRANT OPTION;
     
    修改 root 为允许远程连接(不推荐):
    mysql> use mysql;
    mysql> UPDATE user SET Host='%' WHERE User='root';
    mysql> flush privileges;
     
     
    6、谁知默认编码为UTF-8
    mysql 安装后默认不支持中文,需要修改编码。
    修改 /etc/my.cnf 配置文件,在相关节点(没有则自行添加)下添加编码配置
    [mysqld]
    character-set-server=utf8
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
     
    修改完成后重启mysql服务
    [root@localhost ~]# systemctl restart mysqld
    [root@localhost ~]# mysql -u root -p
    mysql> show variables like 'character%';
     
     
    7、默认配置文件路径
    配置文件:/etc/my.cnf
    日志文件:/var/log/mysqld.log
    服务启动脚本:/usr/lib/systemd/system/mysqld.service
    socket文件:/var/run/mysqld/mysqld.pid
     备注:
     

  • 相关阅读:
    109 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 03 新增功能及实现 05 问题解析--通过一个方法完成学生和专业的双向关联
    108 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 03 新增功能及实现 04 问题解析--数组未实例化造成的空指针异常
    107 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 03 新增功能及实现 03 编写方法完成学生个数统计功能
    106 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 03 新增功能及实现 02 新增属性完成学生信息存储
    105 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 03 新增功能及实现 01 新增需求及分析
    session与cookie的区别和联系
    session和cookie的区别
    Web服务器主动推送技术
    webSocket的场景应用
    TCP、Http和Socket 优劣比较
  • 原文地址:https://www.cnblogs.com/chling/p/14306744.html
Copyright © 2011-2022 走看看