前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在CentOS7上安装MySQL的心路历程

在CentOS7上安装MySQL的心路历程

作者头像
双面人
发布2019-04-10 17:20:50
1.6K1
发布2019-04-10 17:20:50
举报
文章被收录于专栏:热爱IT

今天突然心血来潮,想把博客转移到到自己的云服务器上,嗯,想法不错,正好能练练手(后来找到了别的解决方案Hexo,才发现自己有多幼稚,果然是脑子一热,啥事想得出来,但是在这个过程中也学到了一些东西)。CentOS上安装MySQL数据库,linux配mysql,哎哟,不错哦。(→_→在找到别的解决方案后,马上就被我给卸了)。

二话不说上yum安装大法

代码语言:javascript
复制
[root@VM_235_40_centos ~]# yum install mysql
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package mariadb.x86_64 1:5.5.52-1.el7 will be installed
--> Processing Dependency: mariadb-libs(x86-64) = 1:5.5.52-1.el7 for package: 1: mariadb-5.5.52-1.el7.x86_64
--> Running transaction check
---> Package mariadb-libs.x86_64 1:5.5.35-3.el7 will be updated
---> Package mariadb-libs.x86_64 1:5.5.52-1.el7 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package              Arch           Version                   Repository  Size
================================================================================
Installing:
 mariadb              x86_64         1:5.5.52-1.el7            os         8.7 M
Updating for dependencies:
 mariadb-libs         x86_64         1:5.5.52-1.el7            os         761 k

Transaction Summary
================================================================================
Install  1 Package
Upgrade             ( 1 Dependent package)

Total download size: 9.5 M
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/2): mariadb-libs-5.5.52-1.el7.x86_64.rpm                | 761 kB   00:00
(2/2): mariadb-5.5.52-1.el7.x86_64.rpm                     | 8.7 MB   00:00
--------------------------------------------------------------------------------
Total                                               16 MB/s | 9.5 MB  00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : 1:mariadb-libs-5.5.52-1.el7.x86_64                           1/3
  Installing : 1:mariadb-5.5.52-1.el7.x86_64                                2/3
  Cleanup    : 1:mariadb-libs-5.5.35-3.el7.x86_64                           3/3
  Verifying  : 1:mariadb-5.5.52-1.el7.x86_64                                1/3
  Verifying  : 1:mariadb-libs-5.5.52-1.el7.x86_64                           2/3
  Verifying  : 1:mariadb-libs-5.5.35-3.el7.x86_64                           3/3

Installed:
  mariadb.x86_64 1:5.5.52-1.el7

Dependency Updated:
  mariadb-libs.x86_64 1:5.5.52-1.el7

Complete!

不知道是不是当时太兴奋,也没看安装提示直接就填了yes,等安装完傻眼了,MariaDB是什么鬼。孤陋寡闻的我,赶忙去问度娘,原来是mysql的一个分支。

我想要个“正房”,你却给我安了个“小三”;想养个海豚,你TM给我个海豹。 卧槽,我说这好歹也是IT三巨头之一啊,yum库竟然连个mysql都没有。

果断把“小三”给删了

代码语言:javascript
复制
[root@VM_235_40_centos ~]# yum erase mysql
Loaded plugins: fastestmirror, langpacks
Resolving Dependencies
--> Running transaction check
---> Package mariadb.x86_64 1:5.5.52-1.el7 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package          Arch            Version                    Repository    Size
================================================================================
Removing:
 mariadb          x86_64          1:5.5.52-1.el7             @os           48 M

Transaction Summary
================================================================================
Remove  1 Package

Installed size: 48 M
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Erasing    : 1:mariadb-5.5.52-1.el7.x86_64                                1/1
  Verifying  : 1:mariadb-5.5.52-1.el7.x86_64                                1/1

Removed:
  mariadb.x86_64 1:5.5.52-1.el7

Complete!

唉,自己动手丰衣足食,上官网逛逛去。

国外的东西就是好,东西给你了,连教程都准备好了,可惜了我这连四级都没过的英语水平啊,没办法硬着头皮也要看哪。

看看官网给出的具体步骤:

1. 添加mysql yum 库

a. 首先要到MySQL yum库的下载页面http://dev.mysql.com/downloads/repo/yum/

b. 找一个跟自己平台匹配的发行包,用uname命令看看自己的平台版本

c. 用wget命令把相应的rpm包下下来,这个包很小只有几k

代码语言:javascript
复制
    [root@VM_235_40_centos ~]# wget https://repo.mysql.com//mysql57-community-release-el7-9.ch.rpm
    --2017-04-05 16:32:26--  https://repo.mysql.com//mysql57-community-release-el7-9.noarch.rpm
    Resolving repo.mysql.com (repo.mysql.com)... 23.50.25.213
    Connecting to repo.mysql.com (repo.mysql.com)|23.50.25.213|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 9224 (9.0K) [application/x-redhat-package-manager]
    Saving to: 'mysql57-community-release-el7-9.noarch.rpm'

    100%[============================================================>] 9,224       --.-K/s   in 0s

    2017-04-05 16:32:28 (75.1 MB/s) - 'mysql57-community-release-el7-9.noarch.rpm' saved [9224/9224]

d. 把这个包安装上

代码语言:javascript
复制
    [root@VM_235_40_centos ~]# rpm -Uvh mysql57-community-release-el7-9.noarch.rpm
    warning: mysql57-community-release-el7-9.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5KEY
    Preparing...                          ################################# [100%]
    Updating / installing...
       1:mysql57-community-release-el7-9  ################################# [100%]

    [root@VM_235_40_centos ~]cd /etc/yum.repos.d
    #安装完成后会发现/etc/yum.repos.d会多了两个mysql的repo文件
    [root@VM_235_40_centos yum.repos.d]# ls 
    CentOS-Base.repo  mysql-community-source.repo
    CentOS-Epel.repo  mysql-community.repo

2. 看看文件里有啥东西

代码语言:javascript
复制
    [root@VM_235_40_centos yum.repos.d]# more mysql-community.repo
    [mysql-connectors-community]
    name=MySQL Connectors Community
    baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/7/$basearch/
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

    [mysql-tools-community]
    name=MySQL Tools Community
    baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/7/$basearch/
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

    # Enable to use MySQL 5.5
    [mysql55-community]
    name=MySQL 5.5 Community Server
    baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/7/$basearch/
    enabled=0
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

    # Enable to use MySQL 5.6
    [mysql56-community]
    name=MySQL 5.6 Community Server
    baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
    enabled=0
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

    [mysql57-community]
    name=MySQL 5.7 Community Server
    baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
    enabled=1
    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=0
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

    [mysql-tools-preview]
    name=MySQL Tools Preview
    baseurl=http://repo.mysql.com/yum/mysql-tools-preview/el/7/$basearch/
    enabled=0
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

按照官网的说法,在这个文件中你可以配置你想要安装的mysql版本,如果需要安装这个版本就设置enabled=1,不需要的版本就把它设置为0。这里我安装5.7的版本

3. 完事具备,接下来就可以来安装mysql了

代码语言:javascript
复制
[root@VM_235_40_centos yum.repos.d]# yum install mysql-community-server
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package mysql-community-server.x86_64 0:5.7.17-1.el6 will be installed
--> Processing Dependency: mysql-community-common(x86-64) = 5.7.17-1.el6 for package: mysql-communserver-5.7.17-1.el6.x86_64
......
---> Package mysql-community-libs.x86_64 0:5.7.17-1.el6 will be obsoleting
--> Finished Dependency Resolution
Error: Package: 2:postfix-2.10.1-6.el7.x86_64 (@anaconda)
           Requires: libmysqlclient.so.18()(64bit)
           Removing: 1:mariadb-libs-5.5.52-1.el7.x86_64 (@os)
               libmysqlclient.so.18()(64bit)
           Obsoleted By: mysql-community-libs-5.7.17-1.el6.x86_64 (mysql57-community)
              ~libmysqlclient.so.20()(64bit)
Error: Package: 2:postfix-2.10.1-6.el7.x86_64 (@anaconda)
           Requires: libmysqlclient.so.18(libmysqlclient_18)(64bit)
           Removing: 1:mariadb-libs-5.5.52-1.el7.x86_64 (@os)
               libmysqlclient.so.18(libmysqlclient_18)(64bit)
           Obsoleted By: mysql-community-libs-5.7.17-1.el6.x86_64 (mysql57-community)
               Not found
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

纳尼,竟然安装出错,出什么鬼了。原来是mariadb没有删除干净,我的天,自己挖坑自己跳。

代码语言:javascript
复制
[root@VM_235_40_centos yum.repos.d]# rpm -qa|grep mariadb
mariadb-libs-5.5.52-1.el7.x86_64
[root@VM_235_40_centos yum.repos.d]# rpm -ev mariadb-libs-5.5.52-1.el7.x86_64 --nodeps
Preparing packages...
mariadb-libs-1:5.5.52-1.el7.x86_64

再来一遍

代码语言:javascript
复制
[root@VM_235_40_centos yum.repos.d]# yum install mysql-community-server
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package mysql-community-server.x86_64 0:5.7.17-1.el6 will be installed
......
---> Package mysql-community-libs.x86_64 0:5.7.17-1.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==================================================================================================
 Package                       Arch          Version               Repository                Size
==================================================================================================
Installing:
 mysql-community-server        x86_64        5.7.17-1.el6          mysql57-community        151 M
Installing for dependencies:
 mysql-community-client        x86_64        5.7.17-1.el6          mysql57-community         23 M
 mysql-community-common        x86_64        5.7.17-1.el6          mysql57-community        328 k
 mysql-community-libs          x86_64        5.7.17-1.el6          mysql57-community        2.1 M
 numactl-libs                  x86_64        2.0.9-6.el7_2         os                        29 k

Transaction Summary
==================================================================================================
Install  1 Package (+4 Dependent packages)

Total download size: 177 M
Installed size: 879 M
Is this ok [y/d/N]: y
Downloading packages:
mysql-community-common-5.7.17- FAILED
http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-common-5.7.17-1.el6.x86_64.rpm: [Errno 14] HTTP Error 404 - Not Found
Trying other mirror.
mysql-community-client-5.7.17- FAILED
http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-client-5.7.17-1.el6.x86_64.rpm: [Errno 14] HTTP Error 404 - Not Found
Trying other mirror.
......
Error downloading packages:
  mysql-community-server-5.7.17-1.el6.x86_64: [Errno 256] No more mirrors to try.
  mysql-community-common-5.7.17-1.el6.x86_64: [Errno 256] No more mirrors to try.
  mysql-community-libs-5.7.17-1.el6.x86_64: [Errno 256] No more mirrors to try.
  mysql-community-client-5.7.17-1.el6.x86_64: [Errno 256] No more mirrors to try.

尼玛,又出错了,Linux上装软件就是蛋疼,404错误请求失败,这又是什么鬼,我前前后后有把安装过程捋了一遍,还是出错,不行,默默地问度娘去。 这里有篇博客,里面说是yum缓存的问题,好吧清楚缓存。

代码语言:javascript
复制
[root@VM_235_40_centos yum.repos.d]# cd /var/cache
[root@VM_235_40_centos cache]# ls
httpd  ldconfig  man  yum
[root@VM_235_40_centos cache]# cd yum
[root@VM_235_40_centos yum]# ls
x86_64
[root@VM_235_40_centos yum]# rm -drf x86_64
[root@VM_235_40_centos yum]# ls

重新再来

代码语言:javascript
复制
[root@VM_235_40_centos yum]# yum install mysql-community-server
Loaded plugins: fastestmirror, langpacks
epel                                                                       | 4.3 kB  00:00:00
extras                                                                     | 3.4 kB  00:00:00
mysql-connectors-community                                                 | 2.5 kB  00:00:00
mysql-tools-community                                                      | 2.5 kB  00:00:00
mysql57-community                                                          | 2.5 kB  00:00:00
os                                                                         | 3.6 kB  00:00:00
updates                                                                    | 3.4 kB  00:00:00
(1/10): epel/7/x86_64/group_gz                                             | 170 kB  00:00:00
(2/10): epel/7/x86_64/updateinfo                                           | 762 kB  00:00:00
(3/10): epel/7/x86_64/primary_db                                           | 4.6 MB  00:00:00
(4/10): extras/7/x86_64/primary_db                                         | 139 kB  00:00:00
(5/10): os/7/x86_64/group_gz                                               | 155 kB  00:00:00
(6/10): updates/7/x86_64/primary_db                                        | 3.8 MB  00:00:00
(7/10): os/7/x86_64/primary_db                                             | 5.6 MB  00:00:00
(8/10): mysql-connectors-community/x86_64/primary_db                       |  13 kB  00:00:00
(9/10): mysql-tools-community/x86_64/primary_db                            |  32 kB  00:00:00
(10/10): mysql57-community/x86_64/primary_db                               |  96 kB  00:00:01
Determining fastest mirrors
Resolving Dependencies
--> Running transaction check
---> Package mysql-community-server.x86_64 0:5.7.17-1.el7 will be installed
......
--> Finished Dependency Resolution

Dependencies Resolved

==================================================================================================
 Package                       Arch          Version               Repository                Size
==================================================================================================
Installing:
 mysql-community-server        x86_64        5.7.17-1.el7          mysql57-community        162 M
Installing for dependencies:
 mysql-community-client        x86_64        5.7.17-1.el7          mysql57-community         24 M
 mysql-community-common        x86_64        5.7.17-1.el7          mysql57-community        271 k
 mysql-community-libs          x86_64        5.7.17-1.el7          mysql57-community        2.1 M
 numactl-libs                  x86_64        2.0.9-6.el7_2         os                        29 k

Transaction Summary
==================================================================================================
Install  1 Package (+4 Dependent packages)

Total download size: 188 M
Installed size: 847 M
Is this ok [y/d/N]: y
Downloading packages:
warning: /var/cache/yum/x86_64/7/mysql57-community/packages/mysql-community-common-5.7.17-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Public key for mysql-community-common-5.7.17-1.el7.x86_64.rpm is not installed
(1/5): mysql-community-common-5.7.17-1.el7.x86_64.rpm                      | 271 kB  00:00:03
(2/5): mysql-community-libs-5.7.17-1.el7.x86_64.rpm                        | 2.1 MB  00:00:52
(3/5): numactl-libs-2.0.9-6.el7_2.x86_64.rpm                               |  29 kB  00:00:00
(4/5): mysql-community-client-5.7. 6% [=-                       ] 101 kB/s |  12 MB  00:29:51 ETA

没问题了,只是我这服务器带宽不行,默默地等吧。

代码语言:javascript
复制
Installed:
  mysql-community-server.x86_64 0:5.7.17-1.el7

Dependency Installed:
  mysql-community-client.x86_64 0:5.7.17-1.el7
  mysql-community-common.x86_64 0:5.7.17-1.el7
  mysql-community-libs.x86_64 0:5.7.17-1.el7
  numactl-libs.x86_64 0:2.0.9-6.el7_2

Complete!

此处应有掌声

4. 最后一步了,启动服务

官网的安装指南使用service mysqld start,CentOS7改用systemctl命令启动服务了,使用service命令会默认转向调用systemctl命令的。

附加步骤,修改MySQL密码,修改MySQL默认端口

MySQL5.7之前的版本如果按照这种方式安装后,默认是没有密码的。对于MySQL5.7 有点特殊,下面是官网描述MySQL5.7的安装过程: - 服务初始化 - 在data文件夹生成SSL证书和密钥 - 安装validate_password 插件并生效 - 创建数据库超级管理员’root@localhost’,并为他生成密码

也就是说MySQL5.7后生成了为root超级管理员生成了一个密码,这个密码在/var/log/mysqld.log文件中

代码语言:javascript
复制
shell> sudo grep 'temporary password' /var/log/mysqld.log

上面红圈部分就是生成的随即密码,然后进入mysql修改密码,当然修改密码的方式有很多种,这个可以自行百度。

修改端口 mysql的配置文件在/etc/my.cnf

修改端口只需要添加一行port=[修改的端口号],记得重启服务

搞了两节课终于TM折腾完了

命令总结

yum: Yellow dog Updater, Modified, 解决rpm包依赖的软件安装工具,可以在/etc/yum.config文件中进行yum的配置,yum数据源默认放在/etc/yum.repos.d/文件夹下。可以认为是rpm的加强版。 rpm: RedHat Package Manager,软件安装包的管理器,可以用来安装或删除软件。 wget: World Wide Web Get,wget是一个从网络上自动下载文件的自由工具,支持HTTP、HTTPS、FTP常见协议。 uname: Unix Name,显示主机操作系统名称。

备注:centos 6.8和7下面注意包名的,要不然安装不上去的。

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017/10/11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 看看官网给出的具体步骤:
    • 1. 添加mysql yum 库
      • a. 首先要到MySQL yum库的下载页面http://dev.mysql.com/downloads/repo/yum/
      • b. 找一个跟自己平台匹配的发行包,用uname命令看看自己的平台版本
      • c. 用wget命令把相应的rpm包下下来,这个包很小只有几k
      • d. 把这个包安装上
    • 2. 看看文件里有啥东西
      • 3. 完事具备,接下来就可以来安装mysql了
        • 4. 最后一步了,启动服务
          • 附加步骤,修改MySQL密码,修改MySQL默认端口
          • 命令总结
          相关产品与服务
          云数据库 SQL Server
          腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档