zoukankan      html  css  js  c++  java
  • centos7安装mysql5.7

    我个人的镜像版本是CentOS Linux release 7.5.1804 (Core) ,此次通过yum方式安装mysql5.7。

    一、准备工作

    关闭防火墙,关闭selinux。

    [root@CentOS7-2 ~]# systemctl stop firewalld
    [root@CentOS7-2 ~]# systemctl disable firewalld
    [root@CentOS7-2 ~]# vi /etc/selinux/config #修改SELINUX=disabled

    二、卸载maria数据库

    centos中默认自带了maria数据库,这是mysql数据库的一个分支,不卸载也可以,mysql安装后会覆盖maria。

    [root@CentOS7-2 ~]# rpm -qa|grep maria
    mariadb-libs-5.5.56-2.el7.x86_64
    [root@CentOS7-2 ~]# yum -y remove mariadb-libs-5.5.56-2.el7.x86_64

    三、下载mysql的Yum Repository

    由于CentOS的yum源中没有mysql,需要到mysql的官网下载yum repo配置文件,安装后会在/etc/yum.repo下生成两个mysql的repo文件。

    [root@CentOS7-2 ~]# mkdir -p /cslc/mysql
    [root@CentOS7-2 ~]# cd /cslc/mysql/
    [root@CentOS7-2 mysql]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
    [root@CentOS7-2 mysql]# rpm -ivh mysql57-community-release-el7-10.noarch.rpm
    [root@CentOS7-2 mysql]# ls /etc/yum.repos.d/
    bak base.repo mysql-community.repo mysql-community-source.repo

    四、安装mysql

    yum安装mysql-community-server,会根据上一步生成的两个repo文件去对应的镜像上先下载安装包,屏幕会输出如下信息,即本次安装所需要的4个rpm包。

    [root@CentOS7-2 mysql]# yum -y install mysql-community-server

    yum下载的安装包会先存放在/var/cache/yum/x86_64/7/mysql57-community/packages目录下,如下

      

    但是官网下载速度特别慢,基本都是几k的速度,下载太费劲,我们可以先从国内的镜像站上下载这些更新包,删除yum下载目录下未下载完成的安装包,再通过sftp上传自己下载的安装包,再进行安装。

    国内镜像网站:http://uni.mirrors.163.com/mysql/Downloads/http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/

    [root@CentOS7-2 packages]# yum -y install mysql-community-server
    …………………………
    [root@CentOS7-2 packages]# rpm -qa|grep mysql
    mysql-community-client-5.7.29-1.el7.x86_64
    mysql-community-common-5.7.29-1.el7.x86_64
    mysql-community-libs-5.7.29-1.el7.x86_64
    mysql57-community-release-el7-10.noarch
    mysql-community-server-5.7.29-1.el7.x86_64

    五、启动和登录数据库

    通过systemctl start mysqld命令启动数据库,启动日志/var/log/mysqld.log,可从中查看安装时root用户的临时密码,通过临时密码登录数据库。

    启动、停止、重启、查看状态命令systemctl start/stop/restart/status mysqld

    [root@CentOS7-2 packages]# systemctl start mysqld
    [root@CentOS7-2 packages]# grep "password" /var/log/mysqld.log
    2020-03-03T15:59:27.569619Z 1 [Note] A temporary password is generated for root@localhost: )LndjnJ(u4(.
    [root@CentOS7-2 packages]# mysql -uroot -p  
    Enter password:  #输入日志中的临时密码即可进入数据库
    
    

    数据库安装在/var/lib/mysql/目录下。 

    六、修改数据库配置

    首次登录数据库后,必须先修改root用户的密码后系统才允许做其他的操作,并且这个密码必须包含大小写、数字、特殊字符,且至少8个字符。

    mysql> ALTER USER root@localhost IDENTIFIED BY 'Cslc@pass123';
    mysql> flush privileges;

    关于密码的规则限制,可通过show variables like 'validate_password%'查看,可以看到密码默认的长度为8,等级为medium,等级说明如下。

    默认字符集如下,可通过show variables like '%character%'查看。

    修改密码规则和默认字符集,可在数据库会话中直接通过set global validate_password_length=6修改生效,但是这种修改方式在数据库重启后失效,要永久修改,则需要修改数据库的配置文件/etc/my.cfg,我们在[mysqld]中增加如下信息,修改密码默认长度为6,等级为低,且字符集为utf8。

    [mysqld]
    character_set_server=utf8
    init_connect='SET NAMES utf8'
    validate_password_policy=low
    validate_password_length=6

    然后重启mysqld服务,重新登录数据库,即可将数据库的密码修改得简单易记,且之后创建的数据库默认字符集都为utf8。

    一般我们还需要通过其他的工具连接数据库,这就需要开启远程访问权限了。

    mysql> grant all privileges on *.* to root@'%' identified by 'Cslc@pass123' with grant option;
    mysql> flush privileges;
  • 相关阅读:
    建造者模式
    模板方法模式
    抽象工厂模式
    工厂方法模式
    Josephus环问题
    单例模式
    求两个数的最大公约数
    Nginx的安装与部署
    左京大夫显辅
    java 调用第三方系统时的连接代码-记录
  • 原文地址:https://www.cnblogs.com/Forever77/p/11509588.html
Copyright © 2011-2022 走看看