美文网首页
记一次CentOS7安装MySQL5.7.26过程

记一次CentOS7安装MySQL5.7.26过程

作者: 帕博雷克斯丢丢 | 来源:发表于2019-06-01 15:16 被阅读0次

    本来机器上是安装了MySQL8.0的,不过敲入mysql提示无此命令,想必是某些地方出了问题,也懒得去修复;正好要换5.7,所以干脆直接卸载掉,重新安装。

    一:卸载机器上已有的MySQL

    因为我早早把8.0卸载了,又急急忙忙装了5.7,也没来得及保存终端输出,所以-_-#
    将就一下吧,暂且认为这里的5.7就是其他版本,操作是一样的

    • 先查询已安装的MySQL版本和组件
    #查询已安装的MySQL版本
    mysql --version
    #返回的信息,Distrib就是现有MySQL的版本
    mysql  Ver 14.14 Distrib 5.7.26, for Linux (x86_64) using  EditLine wrapper
    
    #查询已安装的MySQL组件
    yum list installed | grep mysql
    #或者用rpm命令,作用是一样的
    rpm -qa | grep mysql
    #显示装了四个组件,分别是客户端client、通用包common、依赖库libs和服务器server
    mysql-community-client.x86_64       5.7.26-1.el7              installed
    mysql-community-common.x86_64       5.7.26-1.el7              installed
    mysql-community-libs.x86_64         5.7.26-1.el7              installed
    mysql-community-server.x86_64       5.7.26-1.el7              installed
    
    • 接下来就是卸载了
    #按照查询出来的软件包一个一个去卸载,把要卸载的包名放在yum remove后面就行了,
    #我就不一个一个敲了
    yum remove mysql-community-common.x86_64
    #或者也可以用rpm,作用一样
    rpm -e mysql-community-common.x86_64
    #加上--nodeps会忽略依赖,直接删除当前rpm包,想卸载干净就别加这个
    rpm -e --nodeps mysql-community-common.x86_64
    。。。
    

    二:安装需要的版本5.7.26

    • 卸载完成后,准备安装5.7.26,首先去官网找资源

      1. 百度直接搜索MySQL,第一个结果就是了,点进去,或者直接浏览器访问https://www.mysql.com/
        result_for_search_mysql_on_baidu.png

      2.点进去之后会看到这样一副图景


      mysql_index_page.png
      1. 再点DOWNLOAD进去,看到的页面是这样的,大概介绍主要内容


        choose_the_edition_you_need.png
      2. 我们要下载的是开源免费版,也就是所谓的社区版,从Community (GPL) Downloads »这里点进去,其实到了这里有两种安装方式,一种是yum仓库的方式安装,另一种是rpm包本地安装,我们先说第一种;
        choose_the_yum_rep.png
      3. 点进去之后,往下拉,拉到底部,红线划出的就是我们要下载的rpm包,点右边的DOWNLOAD下载


        use_the_rpm_package_noarch.png
      4. 点No thanks...跳出下载框,复制下载地址,注意这里如果你用chrome的话,可能会直接开始下载,没关系,到下载管理页面去右键复制下载地址;或者你直接在No thanks...链接上右键复制链接地址,更方便,这里是为了更直观……


        start_downloading_or_get_the_resource_url.png
        get_the_url.png
      5. 到Linux终端去执行如下命令,提示没有wget的先装个去
    #没有wget的话先装个
    yum install wget
    
    #下载noarch包,默认是下载在当前目录的
    wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
    #下载完成后安装noarch包
    rpm -ivh mysql80-community-release-el7-3.noarch.rpm
    
    #或者直接rpm去安装也行,免去了wget的步骤,随你喜好
    rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
    
    1. 接下来就是安装了,按步骤去操作就可以了
    #noarch包安装完成后,进去下面目录,我们要改一些内容
    cd /etc/yum.repos.d/
    #查看都有哪些文件
    ls
    #我们要改的就是mysql-community.repo这个文件
    CentOS7-Base-163.repo  CentOS-Debuginfo.repo  CentOS-Vault.repo  mysql-community.repo
    Centos-7.repo          CentOS-fasttrack.repo  epel-7.repo        mysql-community-source.repo
    CentOS-Base.repo       CentOS-Media.repo      epel.repo          repo_bak
    CentOS-CR.repo         CentOS-Sources.repo    epel-testing.repo
    #vim打开
    vim mysql-community.repo
    
    #内容很多,只需要改两处
    [mysql57-community]
    name=MySQL 5.7 Community Server
    baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
    enabled=0  #把这里的0改为1,打开5.7
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
    
    [mysql80-community]
    name=MySQL 8.0 Community Server
    baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/
    enabled=1  #把这里的1改为0,关闭8.0
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
    #改完之后,按esc、:、wq回车保存退出
    #嗯,这条命令很长,直接复制吧,有可能下载很慢,自己去改仓库源
    #我的机器是64位,所以选了x86_64,如果你的机器是32位,就把包名后面的x86_64改成i686
    yum install mysql-community-common.x86_64 mysql-community-libs.x86_64 mysql-community-client.x86_64 mysql-community-server.x86_64 -y
    #接下来就是等待安装完成……
    #安装完成后查看是不是四个组件都装上去了
    rpm -qa  | grep mysql
    #完美
    mysql-community-client.x86_64          8.0.16-2.el7                   @mysql80-community
    mysql-community-common.x86_64          8.0.16-2.el7                   @mysql80-community
    mysql-community-libs.x86_64            8.0.16-2.el7                   @mysql80-community
    mysql-community-server.x86_64          8.0.16-2.el7                   @mysql80-community
    mysql80-community-release.noarch       el7-3                          installed 
    #最后把noarch包卸载掉,当然你也可以不卸载,如果以后还要安装其他组件的话
    rpm -e mysql80-community-release
    

    三:进入数据库

    • 接下来就是启动MySQL服务
    #查看MySQL版本
    mysql --version
    #显示我们安装好的5.7.26
    mysql  Ver 5.7.26 for Linux on x86_64 (MySQL Community Server - GPL)
    

    因为安全策略有所改变,以前的空密码登录root账户这种变态的方式已被禁止,更改用户密码也不允许以set password for username……这种方式了,改为alter user username@url identified by 'password'这种方式,设置密码也更加严格,要求有足够的复杂度,后面会讲到。
    大家也不要更改设置去搞简单的密码,请严格按照新版安全策略去进行设置,无数血淋淋的惨痛事实告诉我们,一旦养成了坏习惯,生产环境中用低级的安全策略,将会是一件恐怖的事情,可不止删库跑路那么简单……

    #先去找默认产生的随机密码
    grep 'temporary password' /var/log/mysqld.log
    #显示这样的信息,最后面一串就是初始密码,记住,复制
    2019-05-31T17:24:34.929615Z 1 [Note] A temporary password is generated for root@localhost: wVfRcPjdD4%0
    
    #启动MySQL服务
    service mysqld start
    #启动成功后可能会看到这样的信息
    Redirecting to /bin/systemctl start mysqld.service
    #意思就是把你输入的命令重定向到了/bin/systemctl start mysqld.service这个命令
    #所以也可以用这种方式启动,一样一样的
    systemctl start mysqld.service
    
    #关闭就是
    service mysqld stop
    #或者
    systemctl stop mysqld.service
    
    #当然这里我们不关闭服务,因为后面还有事情要做
    
    • 接下来就是用初始密码登录,更改密码,因为不更改密码你不能进行其他操作……
    #登录命令
    mysql -u root -p
    #提示你输入密码,把刚刚查到的初始密码填进去,回车
    
    #更改密码,这里把new_password替换成你自己的密码,
    #注意:密码需要包含 大写字母、小写字母、数字、特殊符号,长度也要足够,否则会报错
    alter user 'root'@'localhost' identified by 'new_password'
    
    #这里有可能输入密码报错提示无权限,或者之前找不到密码,原因有可能是以前的安装残留,让你得到的是旧版本的初始密码,删掉
    rm -rf /var/lib/mysql
    #重启服务
    service mysqld restart
    #再去/var/log/mysqld.log中找初始密码,时间戳显示最近的那个就是新初始密码
    grep 'temporary password' /var/log/mysqld.log
    #例如
    2019-05-31T17:24:34.929615Z 1 [Note] A temporary password is generated for root@localhost: wVfRcPjdD4%0
    2019-06-01T06:39:59.491008Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Vg3b7/jyy80i
    #下面那个就是新密码,登录,注意密码和-p参数之间不能有空格,否则报错
    mysql -u root -p初始密码
    
    #更改root用户密码、刷新权限,否则不能进行其他操作
    mysql> alter user 'root'@'localhost' identified by 'Test_one_888';
    Query OK, 0 rows affected (0.00 sec)
    mysql> flush privileges;
    Query OK, 0 rows affected (0.29 sec)
    #然后用新密码去登录
    
    #用root账户创建一个新库,后面新建用户只能访问这个库
    mysql> create database if not exists mydb;
    Query OK, 1 row affected (0.00 sec)
    #嗯,可以看到库创建成功了
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mydb               |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    5 rows in set (0.00 sec)
    
    #下来新建用户,关于用户操作这里不多说
    mysql> create user 'wannaSeeU'@'%' identified by 'Dont_hit_110';
    Query OK, 0 rows affected (0.01 sec)
    #授权
    mysql> grant all privileges on mydb.* to 'wannaSeeU'@'%';
    Query OK, 0 rows affected (0.29 sec)
    #刷新
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
    #好了,退出,用新用户去登录
    mysql> quit
    Bye
    [root@localhost ~]# mysql -u wannaSeeU -p
    Enter password: ********
    
    #嗯,只能看到两个库,很安全
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mydb               |
    +--------------------+
    2 rows in set (0.00 sec)
    

    好了,本记录到此为止。

    相关文章

      网友评论

          本文标题:记一次CentOS7安装MySQL5.7.26过程

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