史上最全的MySQL安装教程

本文详细介绍了四种在Linux上安装MySQL的方法:通用二进制文件安装,包括安装libaio库、创建用户和组、解压配置等步骤;使用yum安装,涉及下载仓库、选择发布系列、安装和启动MySQL;通过源码安装,包括获取源码、配置和启动MySQL;以及利用Docker部署MySQL,涵盖安装Docker、下载镜像、启动容器和设置密码。

一、使用通用二进制文件安装MySQL

二进制包的MySQL目录

目录目录内容
binmysqld服务器、客户端和实用程序
docs信息格式的 MySQL 手册
manUnix手册
include包含(头)文件
lib
share用于数据库安装的错误消息、字典和 SQL
support-files其他支持文件

1.从Linux 平台上的压缩tar文件二进制分发版安装 MySQL

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz

2.安装libaio库,MySQL依赖libaio库

如果此库未在本地安装,则数据目录初始化和后续服务器启动步骤失败,centos系统默认安装

yum install libaio

3.检查之前是否安装其它版本数据库

rpm -qa |grep mysql
rpm -qa |grep mariadb
yum -y remove 数据库名 如果以安装请使用此命令卸载

4.创建一个MySQL用户和组

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

5. 将下载好的二进制包解压到指定目录,重命名,创建数据目录,修改MySQL文件所属主和所属组,最后初始化数据库

一般安装到/usr/local下
重命名是为了保持整洁度

tar xf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz  -C 
/usr/local/
cd /usr/local/
mv mysql-5.7.11-linux-glibc2.5-x86_64/ mysql
cd mysql/
mkdir data
chown -R mysql:mysql /usr/local/mysql/
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

在这里插入图片描述

6.配置环境变量并刷新

export PATH=$PATH://usr/local/mysql/bin >> /etc/profile
source /etc/profile

7.生成启动脚本,并启动mysql

 cp support-files/mysql.server /etc/init.d/mysqld
 chmod +x /etc/init.d/mysqld
 vim /etc/init.d/mysqld
 basedir=/usr/local/mysql  //在第46~47行
 datadir=/usr/local/mysql/data
 /etc/init.d/mysqld start

在这里插入图片描述

8.测试并修改root密码

mysql -uroot -p'Px-jHo-qX82Q'
 set password for 
 localhost=password('123456');
 exit
 mysql -uroot -p'123456'
 show databases;

在这里插入图片描述
在这里插入图片描述

二、使用yum安装MySQL

1.下载MySQL yum仓库发布包并添加yum仓库

这里我提供了yum发布包的百度网盘链接,下载好之后请上传至服务器并解压

链接:https://pan.baidu.com/s/1XuW9GOBQkBdU4W1r1AXYlQ 
提取码:udhm 
yum localinstall mysql80-community-release-el7-3.noarch.rpm 添加yum仓库

您可以通过以下命令检查 MySQL Yum 存储库是否已成功添加

yum repolist enabled | grep "mysql.*-community.*"

在这里插入图片描述

2.选择发布系列

您可以通过以下命令查看MySQL yum仓库中的所有子存储库,并查看哪些是启用或禁止的

yum repolist all | grep mysql

在这里插入图片描述
您可以通过以下命令启用或禁止MySQL版本

首先您的平台需要支持yum-config-manager,如果没有请下载
–disable为禁用
–enable为启用

yum -y install yum-utils-1.1.31-54.el7_8.noarch
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql56-community

您还可以手动编辑/etc/yum.repos.d/mysql-community.repo文件来选择发布系列,然后编辑该enable选项。指定enable=0为禁用,enable=1为启用

[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

通过以下命令验证是否已经启用和禁用正确的发布系列

yum repolist enabled | grep mysql

在这里插入图片描述

3.安装MySQL5.7

yum -y install mysql-community-server

这将安装 MySQL 服务器包 ( mysql-community-server) 以及运行服务器所需组件的包,包括客户端包 ( mysql-community-client)、客户端和服务器的常见错误消息和字符集 ( mysql-community-common) 以及共享客户端库 ( mysql-community-libs) .

卸载MySQL

yum -y remove mysql-community-server

4.启动MySQL服务

systemctl start mysqld 启动MySQL服务
systemctl status mysqld 查看MySQL服务器的状态
systemctl stop mysqld 停止MySQL服务器

5.查看MySQL默认密码并修改密码

查看MySQL默认密码

grep "password" /var/log/mysqld.log

使用MySQL默认密码进入MySQL并修改密码

mysql -uroot -p默认密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '1fhhh@FHHH';

未进入MySQL,使用mysqladmin修改密码

因为这种方式是明文改密,因此不建议

在这里插入图片描述

6.查看MySQL验证版本是否安装正确

mysql -V

在这里插入图片描述

三、使用源码安装MySQL

1.获取MySQL源码包

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-5.7.16.tar.gz

2.安装依赖包,解决依赖性

 yum -y install cmake ncurses* gcc gcc-c++ bison

3.解压安装包,并进入目录(一般解压到/usr/local/下)

tar xf mysql-boost-5.7.16.tar.gz -C  /usr/local/
 cd /usr/local/
 mv mysql-5.7.16/ mysql

4.进入目录安装MySQL

 cd mysql
 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \  #安装目录
-DMYSQL_DATADIR=/usr/local/mysql/data \    #数据库存放目录
-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \#Unix socket 文件路径
-DWITH_MYISAM_STORAGE_ENGINE=1 \       #安装 myisam 存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \       #安装 innodb 存储引擎
-DDEFAULT_CHARSET=utf8 \         #使用 utf8 字符
-DDEFAULT_COLLATION=utf8_general_ci \      #校验字符
-DEXTRA_CHARSETS=all \          #安装所有扩展字符集
-DWITH_BOOST=boost/boost_1_59_0/
nake && make install 

5.配置MySQL

groupadd mysql
useradd -r -g mysql -s /bin/false mysql
chown mysql:mysql /usr/local/mysql
cd /usr/local/mysql/support-files
cp my-default.cnf /etc/my.cnf
vim /etc/my.cnf
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

6.配置启动脚本

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
# 配置环境变量并生效
vim /etc/profile
PATH=$PATH:$HOME/bin
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
export PATH
source /etc/profile

7.初始化MySQL,并启动MySQL

如果需要重新初始化,则需要删除生成的data目录中的文件
初始化root密码在初始化完成后的最后一行

mysqld --user=mysql --initialize
/etc/init.d/mysqld start

在这里插入图片描述

8.登录MySQL并修改密码

这时登录进去是无法查看数据库的数据的,需要更改密码后在次登录查看

mysql -uroot -p'im*uqysLD84Z'
 ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

在这里插入图片描述

mysql -uroot -p'123456'
show databases;

在这里插入图片描述
至此,我们的MySQL就已经安装好了

四、使用docker在Linux上部署MySQL

1.安装docker

之前的文章已经讲述过如果安装docker,这里就不做过多的说明,请参考之前的docker的安装部署这篇文章

2.下载MySQL服务器的docker镜像

该tag是你想拉的图像版本的标签(例如5.5, 5.6,5.7, 8.0,或latest)如果省略将下载最新版。

docker pull mysql/mysql-server:tag

您可以使用如下命令查看下载好的镜像

docker images 

在这里插入图片描述

3.启动MySQL服务器实例

docker run --name=mysql1 -d mysql/mysql-server:tag

–name为您的服务器容器(mysql1在示例中)提供自定义名称 的选项是可选的;如果未提供容器名称,则会生成一个随机名称。如果先前的docker pull或docker run 命令尚未下载指定名称和标签的 Docker 映像, 则现在会下载该映像。下载完成后,开始对容器进行初始化,运行docker ps命令时,容器会出现在正在运行的容器列表中
例如
在这里插入图片描述
查看MySQL初始化完成后,生成的root用户的随机密码

docker logs mysql 2>&1 | grep GENERATED

在这里插入图片描述

4.从容器内连接MySQL服务器

在docker容器内启动一个MySQL客户端

docker exec -it mysql1 mysql -uroot -p

密码为刚刚查看的随机密码

在这里插入图片描述

由于该 MYSQL_ONETIME_PASSWORD 选项默认为 true,因此在将mysql客户端连接 到服务器后,必须重置服务器 root 密码

重置密码

替换newpassword为您选择的密码。一旦密码被重置,服务器就可以使用了。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';

5.从容器外通过shell访问

通过shell访问MySQL服务器

docker exec -it mysql bash

然后,您可以在容器内运行 Linux 命令

在这里插入图片描述

例如,要查看容器内服务器数据目录中的内容,请使用以下命令:

ls /var/lib/mysql

在这里插入图片描述

6.其它命令

docker start mysql 启动MySQL服务器容器
docker restart mysql 重启MySQL服务器容器
docker stop mysql 停止MySQL服务器容器
docker rm mysql 删除MySQL服务器容器
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值