第一步:创建虚拟机
第二步:虚拟机操作
vi /etc/sysconfig/network-scripts/ifcfg-ens33
将里面的unboot=on改为unboot=yes
systemctl restart network
mariadb是MySQL的主要分支,因此mariadb就是MySQL,现在有很多公司就是使用mariadb。
CentOS YUM中存在mariadb的源,因此安装很是简单
安装过程:
1.清除yum源缓存数据
yum clean all
2.安装mariadb
#检查是否安装了mariadb
rpm -qa | grep mariadb
#卸载mariadb
yum remove mariadb-libs-5.5.56-2.el7.x86_64
或者:
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
#安装maiadb
yum -y install mariadb-server mariadb-client
启动数据库:systemctl start mariadb.service
开机自启:systemctl enable mariadb.service
4.进入数据库
mysql -uroot -p(原初始没密码)
use mysql(使用mysql数据库)
# update mysql.user set password=password('root') where user='root';
必须要刷新,否则命令无效
# flush privileges(刷新)
#卸载mariadb
yum remove mariadb-libs-5.5.56-2.el7.x86_64
或者:
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64(卸载mysql的依赖包)
#删除配置文件;
rm -f /etc/my.cnf
#删除数据目录;
rm -rf /var/lib/mysql/
1.yum源在线安装
通过官网查找需要的版本和对应的平台版本https://dev.mysql.com/downloads/repo/yum/
2.在Linux上打开终端并输入命令进行下载
yum install wget -y
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
3.使用以下命令安装下载的发行包:
Uvh:升级软件包
rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
4.列出所有版本
yum repolist all | grep mysql
发现8.0版本是enabled的,5.7版本是disabled的
这里我们需要安装5.7版本的,所以把8.0的进行禁用,然后再启用5.7版本
先禁用8.0版本
yum -y install yum-utils
先安装yum-utils工具包,不然yum-config-manager这个命令不认识
yum-config-manager --disable mysql80-community
yum repolist all | grep mysql
yum-config-manager --enable mysql57-community
yum repolist all | grep mysql
yum install mysql-community-server
或
yum install mysql-server mysql-client -y
此处有错误,原因是由于源key错误导致的dnf或者yum(软件包管理器)安装软件失败。
解决办法:
yum install mysql-server mysql-client -y --nogpgcheck
安装成功后验证版本
mysql --version
若要卸载安装的mysql
yum remove mysql-server mysql-client -y
案例:安装5.7版本
(1)wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
(2)yum install -y mysql57-community-release-el7-10.noarch.rpm
如果和8冲突请删除:yum remove mysql80-community-release
(3)yum -y install mysql-community-server
#有一个问题,就是因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉
yum -y remove mysql57-community-release-el7-10.noarch
yum官方源下载国内有时候特别的慢,如果想自己制定源来下载的话,也是可以的,如使用清华镜像完成源的制作和安装:
yum install vim
vim /etc/yum.repos.d/mysql57.repo
在这个源里面定义需要的配置:
# 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
yum install mysql-server mysql-client -y
或
yum -y install mysql-community-server
安装成功后,首先启动MySQL
systemctl start mysqld.service
# 查看MySQL运行状态
systemctl status mysqld.service
# **如果为active则表示MySQL已经运行了**
之后就可以修改密码
进入MySQL终端:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
如果报错,说明密码太短,MySQL没有认证成功,可以修改认证规则:
set global validate_password_policy=0;
set global validate_password_length=1;
注意,8.0版本这两个全局属性名称变化为:
validate_password.policy和validate_password.length
所以修改命令为:
set global validate_password.policy=0;
set global validate_password.length=1;
配置文件
# 查看状态:
systemctl status mysqld
#配置文件的位置:
/etc/mysql/mysql.conf.d/mysqld.cnf
在官网下载需要安装的离线包,如rpm则是Redhat和centOS需要的包,选择需要的版本和平台:
https://dev.mysql.com/downloads/mysql/
一般选择bundle包,这个里面最全,需要的各种包都已经打包到里面了。
1.上传解压
先上传至/root目录下,在查看
ls -l mysql-5.7.14-1.el7.x86_64.rpm-bundle.tar
# 解压查看:
tar xf mysql-5.7.14-1.el7.x86_64.rpm-bundle.tar
其中:
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之前版本的共享兼容库
mysql-community-client-5.7.20-1.el7.x86_64.rpm
mysql-community-common-5.7.20-1.el7.x86_64.rpm
mysql-community-libs-5.7.20-1.el7.x86_64.rpm
mysql-community-server-5.7.20-1.el7.x86_64.rpm
2.安装
首先限制mariadb相关软件包,否则安装不会成功的。
yum remove mariadb-libs
安装mysql所需要的的工具包
yum install perl net-tools -y
*安装上传的公共类库包
rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm
安装libs依赖包
rpm -ivh mysql-community-libs-5.7.20-1.el7.x86_64.rpm
安装mysql的客户端包
rpm -ivh mysql-community-client-5.7.20-1.el7.x86_64.rpm
安装mysql服务器端依赖
rpm -ivh mysql-community-server-5.7.20-1.el7.x86_64.rpm
mysqld --initialize
查看mysql数据库的登录密码
cat /var/log/mysqld.log
chown mysql:mysql /var/lib/mysql -R
启动mysql数据库
systemctl start mysqld 启动mysql数据库
systemctl status mysqld 查看启动状态
systemctl enable mysqld 开机自启
进入mysql的安装目录
cd /var/lib/mysql
set password=password('root');
修改linux下的mysql,允许远程进行登录:
use mysql
update user set host='%' where user='root';
刷新权限
flush privileges;
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload 重新加载
firewall-cmd --list-all 查看加载情况
使用Docker安装MySQL,首先需要安装Docker容器,之后在拉去MySQL镜像
一.Docker的简介,下载
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
二.Docker的安装
1.上传安装包
docker-ce-18.06.0.ce-3.el7.x86_64.rpm
2.安装
yum install docker-ce-18.06.0.ce-3.el7.x86_64.rpm -y
3.启动docker
systemctl start docker
systemctl status docker 查看docker状态
systemctl stop docker 停止
systemctl restart docker 重启
docker info 查看docker版本
4.配置docker的镜像加速器
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://w2plr83n.mirror.aliyuncs.com"]
}
#可进入阿里云>容器镜像服务>镜像工具>镜像加速器
配置镜像加速器的原因是在docker容器中需要拉取MySQL镜像,但拉取镜像的速度慢,所以需要配置镜像加速器,如图
5.刷新守护进程
systemctl daemon-reload
6.重启docker
systemctl restart docker
7.效验配置是否成功
docker info
三.docker的镜像操作
1.搜索镜像
docker search mysql
2.下载镜像
docker pull mysql
docker images 显示本地仓库的所有镜像
3.导入或者加载镜像
docker load -i mysql.tar
4.导出镜像
docker save -o mysqltest.rar mysql:5.7
5.删除镜像
docker rmi -f mysql:5.7
docker rmi -f $(docker images)(删除所有镜像)
四.容器的操作
1.创建容器
docker run centos:centos7 /bin/echo 'Hello World' 临时容器
docker run -di --name=m1 -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=docker001 mysql:5.7
测试: 宿主机的ip地址 端口:3307(VM端口可变) 3306(docker端口必须是3306) 密码:123456 数据库名称:docker001 mysql:5.7该命令必须要有此容器
2.列举正在运行的容器
docker ps
3.列举所有的容器(包括停止的)
docker ps -all
此时3307端口连接不到,需要打开防火墙端口
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-all
4.过滤输出容器的ip地址
docker inspect --format='{{.NetworkSettings.IPAddress}}' m1(容器的名称)
5.停止,启动,重启容器
docker stop 容器的id
docker start 容器的id
docker restart 容器的id
#6.删除容器
docker rm -f 容器的id
#7.进入容器
docker exec -it 5c0447c5d6ed /bin/bash