LINUX 下安装MYSQL
本文提供linux下安装MYSQL的解决方案。
安装环境:CENTOS 7 — 没有环境的可以看我之前的文章
如何在vmware上安装centos操作系统
mariadb安装
mariadb是MySQL的主要分支(有兴趣的可以看看这个故事),因此mariadb就是MySQL,现在有很多公司就是使用mariadb。
CentOS YUM中存在mariadb的源,因此安装很是简单(如果在安装CentOS时选择了,可能已经默认安装了)。
安装过程:
1.清除yum缓存数据
[root@blackstone ~]# yum clean all
2.安装mariadb10.2
#检查是否安装了matiadb
[root@blackstone ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
#卸载mariadb
yum remove mariadb-libs-5.5.56-2.el7.x86_64
或者:
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
#安装新版mariadb
[root@blackstone ~]# yum -y install mariadb-server mariadb-client
3.添加后台运行,设置初始密码
[root@blackstone ~]# systemctl start mariadb.service
[root@blackstone ~]# systemctl enable mariadb.service
#设置初始密码
[root@blackstone ~]# mysql -uroot
MariaDB [(none)]> use mysql;
MariaDB [mysql]> update mysql.user set password = password('newpasswd') where user = 'root';
MariaDB [mysql]> flush privileges;
注意:一定不要忘了这行刷新语句,不刷新的话密码修改该会丢失
4.测试新密码
#输入exit退出数据库
MariaDB [mysql]> exit
#再次使用新密码进入数据库
[root@blackstone ~]# mysql -uroot -pnewpasswd
YUM安装
yum在线安装
通过mysql官方可以获取对应的安装包
https://dev.mysql.com/downloads/repo/yum/
点击dawonload
本示例中演示5.7版本的安装
1.linux终端命令下载对应RPM安装包
#获取wget软件用于下载对应rpm包
[root@blackstone ~]# yum install wget -y
#wget获取rpm包
[root@blackstone ~]# wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
2.安装下载下来的发行RPM包
[root@blackstone ~]# rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
3.挑选合适的版本进行安装
使用MySQL Yum存储库时,默认情况下会选择要安装的最新GA版本MySQL。如果这是您想要的,则可以跳到下一步。
默认情况下,默认启用最新GA系列(当前为MySQL 8.0)的子存储库,而所有其他系列(例如,MySQL 5.7系列)的子存储库均被禁用。使用此命令可查看MySQL Yum存储库中的所有子存储库,并查看已启用或禁用了哪些子存储库。
即就是这个发型包里有最新版的安装包,当然有的版本还含有5.7版本的安装包但是是处于禁用状态的,我们需要对其进行启用,以安装5.7版本的MYSQL
#列出所有版本
[root@blackstone ~]# yum repolist all | grep mysql
发现8.0版本是enabled的,5.7版本是disabled的
这里我们需要安装5.7版本的,所以把8.0的进行禁用,然后再启用5.7版本
#禁用8.0版本
#安装依赖禁用模块
yum -y install yum-utils
#禁用80版本
yum-config-manager --disable mysql80-community
#启用57版本
yum-config-manager --enable mysql57-community
#查看状态
yum repolist all | grep mysql
注:请确保同时只有一个版本启用,否则版本会出现冲突
4.使用yum安装mysql
yum install mysql-community-server
# 或者
yum install mysql-server mysql-client -y
这里会报一个错,GPG安全校验失败,情况特殊可以跳过验证进行安装—生产环境不建议
[root@blackstone ~]# yum install mysql-server mysql-client -y --nogpgcheck
#版本查看---安装成功
[root@blackstone ~]# mysql --version
mysql Ver 14.14 Distrib 5.7.40, for Linux (x86_64) using EditLine wrapper
国内镜像源安装
yum官方源下载国内有时候特别的慢,如果想自己制定源来下载的话,也是可以的,如使用清华镜像完成源的制作和安装:
vim /etc/yum.repos.d/mysql57.repo
1.在这个源里面定义需要的配置:
# Enable to use MySQL 5.7
[mysql57]
name=MySQL57
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-x86_64/
enabled=1
gpgcheck=1
测试源是否成功:
yum repolist all | grep mysql
2.这里出现了57这个版本,两个在启用状态。显然我们需要禁用掉这个社区版本
#禁用57社区版
[root@blackstone var]# yum-config-manager --disable mysql57-community
#查看现在的启用情况
[root@blackstone var]# yum repolist all | grep mysql
3.yum安装
yum -y install mysql-community-server
# 或者
yum install mysql-server mysql-client -y
#测试安装成功
#启用服务
systemctl start mysqld.service
#查看服务状态
systemctl status mysqld.service
同样这里如果遇到认证失败导致的任何安装问题,使用--nogpgcheck
就可以解决,不建议生产环境使用
RPM安装
在官网下载需要安装的离线包,如rpm则是Redhat和centOS需要的包,选择需要的版本和平台:演示版本5.7.14版本的linux centos 7
https://downloads.mysql.com/archives/community/
0.环境检测
#安装前必须清除所有无关的依赖数据包
[root@blackstone batman]# rpm -qa | grep mysql
[root@blackstone batman]# rpm -qa | grep mariadb
#使用命令清除无关安装包
rpm -e –nodeps 包名
#如果提示错误,尝试用下列命令执行
rpm -ev 包名 --nodeps (建议使用,好用不罗嗦)
rpm -e --noscripts 包名
1.将tar压缩包上传至服务器进行解压缩
# 解压查看:
[root@blackstone batman]# tar xf mysql-5.7.14-1.el7.x86_64.rpm-bundle.tar
[root@blackstone batman]# ll
其中:
mysql-community-client 客户端
mysql-community-devel 开发库
mysql-community-common 服务端和客户端的公共文件
mysql-community-embedded 嵌入式
mysql-community-serve 服务端
mysql-community-test 测试组件
mysql-community-libs 共享库
mysql-community-libs-compat MySQL之前版本的共享兼容库
2.通过rpm包进行安装
#一定要依次执行下面的安装命令,否则会出现依赖错误
rpm -ivh mysql-community-common-5.7.14-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.14-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.14-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.14-1.el7.x86_64.rpm
这是单个包安装成功的表现
3.启动服务,并检测服务运行情况
#启动服务
systemctl start mysqld
systemctl enable mysqld
#7之后也可以使用一条命令完成
systemctl enable --now mysqld
#查看服务运行状态
systemctl mysqld.service
4.数据库初始化及密码修改
#初始化数据库
mysqld --initialize
#查找密码---这在5.7后就需要自己查找系统随机生成的密码了
cat /var/log/mysqld.log
#更新目录的属主属组
chown mysql:mysql /var/lib/mysql -R
#测试登陆