[Linux] 使用Yum在CentOS上安装MySQL
跟随官网上的安装教程:https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html
官网上还有一个QuickGuide版本: https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/
过程有一点不同。跟随任意一个教程都OK。
这里针对第一次安装。如果是以前安装的有残留,应该会有一些麻烦。
MySQL的适用版本没有单独列出CentOS。因为CentOS也使用的Yum Repository,因此我们跟随同样使用Yum的Red Hat Linux教程进行安装。
1. 添加MySQL Yum Repositroy
首先我们将MySQL的Yum源添加到系统Repository表中。按以下步骤:
a. 到以下地址下载MySQL Yum Repository: https://dev.mysql.com/downloads/repo/yum/
注意没有单独列出CentOS,我们选择Red Hat版本. CentOS6选择6版本, CentOS7选择7版本。(查看系统版本命令:head -n 1 /etc/issue)。
页面的download按钮并不是直接指向下载位置,需要通过浏览器下载。
可以将本地下载的文件发送到服务器,或者查看浏览器下载文件的源地址,在服务器上通过wget 源地址来下载文件。
注意到下载包前缀可能是mysql80, 不是我要的mysql版本? 这不是问题,先下载。
b. 通过以下命令安装对应版本的repository
sudo yum localinstall platform-and-version-specific-package-name.rpm
通过以下命令检查是否已成功安装repository。
yum repolist enabled | grep "mysql.*-community.*"
会看到相应的mysql包.
2. 选择需要的MySQL发行版本
repository下载安装后,默认用户要安装的是最新版本(比如我看到的是mysql80)。如果想要安装老版本的MySQL,需要修改源。
查看可用的mysql的全部版本:
yum repolist all | grep mysql
通过yum-config-manager启用对应版本的mysql。如我要用57版本:
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community
检查是否启用了正确的版本:
yum repolist enabled | grep mysql
3. 安装MySQL
yum install mysql-community-server
命令会自动安装需要的依赖包
4. 启动MySQL服务器
service mysqld start
没什么问题的话会看到start OK的提示。
也可以查看服务状态:
service mysqld status
57之后好像默认启用root密码。查看系统随机生成的密码:
grep 'temporary password' /var/log/mysqld.log
登陆MySQL,修改root密码:
mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
现在的密码策略强制要求至少一个大写字母,一个小写字母,一个数字,一个特别字符(标点),总长度不少于8个字符,否则应该会报错。
配置文件路径:/etc/my.cnf
配置文件中的配置项:
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql.sock
log-error = /var/log/mysqld.log
pid-file = /var/run/mysqld/mysqld.pid
另外针对EL7系统的用户,MySQL和以下包有冲突,不能同时安装
○ akonadi-mysql
[BUG]
以上就是完整的安装教程。下面讲一下个人碰到的问题及解决办法。
Error: Package: mysql-community-client-5.7.17-1.el7.i686 (mysql57-community)
Requires: libstdc++.so.6(GLIBCXX_3.4.15)
Error: Package: mysql-community-server-5.7.17-1.el7.i686 (mysql57-community)
Requires: systemd
Error: Package: mysql-community-server-5.7.17-1.el7.i686 (mysql57-community)
Requires: libstdc++.so.6(GLIBCXX_3.4.15)
Error: Package: mysql-community-server-5.7.17-1.el7.i686 (mysql57-community)
Requires: libc.so.6(GLIBC_2.17)
这是第一步中选择的repository版本有误导致的。我是CentOS6.8的系统,却下载了EL7的源,因此报错。
解决方法是先清理之前的源,然后重新安装EL6的源。(反之亦然)
yum remove mysql80-community-release-el7-2.noarch
yum clean all
yum localinstall mysql80-community-release-el6-2.noarch.rpm
然后按上面的步骤进行安装, 应该是顺利的。如果碰到其他问题,请根据情况自行解决。
我在解决这个问题的过程中,好像因为没有执行yum clean all命令,导致重新安装了el6的源后依然报错。
查阅/etc/yum.repos.d下的mysql-community.repo文件,发现源路径已经全部变成el6,然而错误信息中依然提示xxx.el7.xxx的包缺少xxx。查阅了网上的资料,执行了yum clean all后再安装mysql-community-server,就一切顺利了。
[Linux] 使用Yum在CentOS上安装MySQL的更多相关文章
- 在centos上安装mysql
本文依然是用的xftp上传gz文件,然后在xShell上操作的,如果没有安装使用这两个文件的请查阅之前的博客. 1.将下载好的文件用xftp上传到对应的位置. 2.解压文件:tar -zvxf m ...
- Linux CentOS上安装 MySQL 8.0.16
前言: 因为我需要在我新安装的Linux CentOS系统服务器中安装和配置MySQL服务器,然而对于我们这种Linux使用小白而言在Linux系统中下载,解压,配置MySQL等一系列的操作还是有些耗 ...
- Linux1 在Linux(CentOS)上安装MySql详细记录
前记: 毕业两年了,前两天换了份工作,由以前的传统行业跳到了互联网行业.之前的公司一直在用WinServer2003+Tomcat+SqlServer/Oracle这套部署环境.对于Linux+To ...
- 使用yum方式在centOS上安装mysql
1.操作系统及MySQL版本 1.1 操作系统版本 CentOS release 6.5 (Final) 1.2 MySQL版本 mysql-5.1.73-3.el6_5.x86_64mysql-li ...
- [从零开始搭网站七]CentOS上安装Mysql
点击下面连接查看从零开始搭网站全系列 从零开始搭网站 通过前面6章,我们买好了服务器,配置了服务器连接,服务器上配置了JDK和Tomcat,准备了域名(这个我没教,自己去阿里/百度/腾讯买,买东西我相 ...
- 在CentOS上安装Mysql使用yum安装mysql
https://jingyan.baidu.com/article/c74d600079be530f6a595dc3.html
- CentOS上安装MySQL
1.准备RPM安装包 MySQL-server-5.6.33-1.linux_glibc2.5.x86_64 MySQL-client-5.6.33-1.linux_glibc2.5.x86_64 2 ...
- 【linux系列】Centos下安装mysql数据库
前言 为了测试方便,通常我们会自己安装数据库,以下是在Centos上安装Mysql的操作. 一.检查自己是否安装了MySQL数据库 [root@s201 /home/mysql]#rpm -qa |g ...
- Centos7 上安装mysql遇上的问题:mysql无法正常启动
第一次在Centos上安装mysql遇到的一些问题. 第一步就遇到问题,安装mysql-server报错没有可用包. [解决方法] 先要安装mysql # wget http://repo.mysq ...
随机推荐
- 3、设置jsp上的类容自动更新
1.run->edit configurations进入下面的界面,并修改 On ‘Update’ action 为 Redeploy. On frame deactivation 为 ...
- Groovy闭包详解
Groovy闭包是一种可执行代码块的方法,闭包也是对象,可以向方法一样传递参数,因为闭包也是对象,因此可以在需要的时候执行,像方法一样闭包可以传递一个或多个参数.闭包最常见的用途就是处理集合,可以遍历 ...
- ASP.NET之页面传值
一.目前在ASP.NET中页面传值共有这么几种方式: 1.使用QueryString变量QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中.如果是传递一个或多个安全 ...
- java中的标识符、修饰符、关键字
关键字的特点:1.完全小写的字母,2,在增强版记事本中有特殊颜色 例如@是电子邮箱当中有特殊含义的.被保留的.不能随意使用的字符,关键字. 例如图中public.class.static.void是关 ...
- Urban Elevations UVA - 221
题目大意:给出建筑的俯视图,以及每个建筑的左下角坐标,宽度,长度,高度.求正视图可观察到的建筑的编号 思路:建筑物的可见性等于南墙的可见性,依据左下角排序后,逐个判断每个建筑是否可见.对南墙的x坐标进 ...
- 前端使用moment.js 获取当前时间往前的时间
moment().format("YYYY-MM-DD HH:mm:ss"); //当前时间 moment().subtract(, "days").forma ...
- [转] GloVe公式推导
from: https://pengfoo.com/post/machine-learning/2017-04-11 GloVe(Global Vectors for Word Representat ...
- 使用git把本地目录传到远程仓库
需求: 要把本地不为空的一个目录和远程现有的一个仓库关联 步骤如下: git init //生成.git目录 git add . //把当前目录里的文件加入到暂存区 git commit -m '上传 ...
- python中的MySQL使用 + pickle使用
(1)python中有一个包“sqlite3”,可以用来进行数据库相关的操作: 参考下面一个例子: import sqlite3 import pickle img_list = [('a' , 0) ...
- expect 批量自动部署ssh 免密登陆 之 二
#!/usr/bin/expect -f ########################################## hutu #Push the id.pas.pub public key ...