MySQL数据库的各种安装方式【Windows,Linux,Docker】一次都告诉你

举报
波波烤鸭 发表于 2022/03/29 23:24:06 2022/03/29
【摘要】   MySQL数据库是作为程序员来说必备的一个组件,而安装相对来说又是非常繁琐的,所以本文就给大家整理下MySQL的各种安装操作。 官网下载地址: https://dev.mysql.com/do...

请添加图片描述

  MySQL数据库是作为程序员来说必备的一个组件,而安装相对来说又是非常繁琐的,所以本文就给大家整理下MySQL的各种安装操作。

官网下载地址:

https://dev.mysql.com/downloads/mysql/

一、windows安装篇

1 软件下载

  通过官网下载,如果网速比较慢也可以关注我的公众号在里面直接回复mysql就可以获取到本系列的所有的相关资料了。下载最新版本

下载地址:https://downloads.mysql.com/archives/community/

image.png

直接下载即可

image.png

  当然我们也可以下载对应的历史版本。

image.png

image.png

好了,本教程中使用的windows安装的两个版本如下:

image.png

2.安装版

  双击msi文件开始安装。

image.png

勾选下一步:

image.png

检查需要安装的环境

image.png

image.png

此处发现没有 mysql server, 说明它对应的依赖缺少,可以先执行安装这些可以安装的,之后安装完依赖后再重新安装其他模块,我们此处的操作是先安装依赖,然后后退再次安装

image.png

下载安装前面提示的 mysql server 需要的 vc2013后,vc2013 如果在64位系统上面建议32和64的程序都安装,然后在上图的地方后退,重新 next 就可以看到可以安装 mysql server 了

image.png

安装好之后我们再回退下,然后就可以了

image.png

检查是否存在失败项

image.png

下一步

image.png

进行第一步配置,除了需要设置密码外,后面的步骤基本上都是下一步

image.png

类型与网络配置

image.png

设置 root 密码

image.png

创建SQL服务与窗口

image.png

插件,直接下一步

image.png

应用配置

image.png

image.png

finish点击继续配置

image.png

next下一步完成。

image.png

连接服务器(先 check检查, 后下一步)

image.png

执行完此步骤 下一步 finish 配置完成

image.png

image.png

完成安装

image.png

默认工具连接测试

image.png

image.png

操作成功

image.png

查看安装成功的服务

image.png

默认是开机自启动的,如果想手动启动也可以修改

image.png

image.png

  好了MySQL数据库在Windows中的安装版本过程我们已经安装完成了。

3.绿色版

3.1 配置

  MySQL的安装版我们上面已经介绍完了,相对来说还是比较繁琐的,而且还需要一些额外的环境支持,这时我们可以通过MySQL里面的解压缩版本也就是我们常说的绿色版本来安装,先解压我们之前下载的压缩文件到一个非中文的目录中。

image.png

image.png

  进入目录,然后在里面创建一个my.ini配置文件

image.png

里面的内容为:

[mysqld]
# 设置3306端口
port=3320
# 设置mysql的安装目录  替换为你自己解压缩的目录即可
basedir=D:\\mysql\\mysql-5.7.20-winx64\\
# 设置mysql数据库的数据的存放目录
datadir=D:\\mysql\\mysql-5.7.20-winx64\\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3320
default-character-set=utf8

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

3.2 安装

  在安装之前先来了解下对应的命令

命令 描述
mysqld --install 安装服务
mysqld --initialize-insecure 初始化(密码为空)
net start mysql 开启服务
net stop mysql 关闭服务
mysql -u root -p 登录mysql
alter user ‘root’@‘localhost’ identified by ‘root’;(by 接着的是密码) 修改密码
sc delete mysql 标记要删除的服务

  然后我们以管理员的身份打开cmd窗口

image.png

  如果有配置MySQL的环境变量,那么我们可以直接来通过命令操作,如果没有配置环境变量,那么我们需要显示的切换到mysql的bin目录下

image.png

然后初始化操作 mysqld --initialize-insecure 创建的root账号,密码为空

image.png

上面的操作会创建data文件夹。

image.png

  然后执行 mysqld install 安装,如果已经用mysql这个名称的服务,那么我们需要自定义这个服务的名称。

image.png

  然后启动mysql服务

image.png

  服务启动成功,然后我们可以登录操作。

image.png

  登录成功。然后修改密码:

alter user 'root'@'localhost' identified by '123456'

  
 
  • 1

image.png

然后退出登录测试

image.png

  好了,到这在Windows中的各种安装MySQL的方式我们就给大家介绍完了。

二、Linux安装篇

1. 官网下载

官网地址:https://dev.mysql.com/downloads/file/?id=482460
在这里插入图片描述

2. wget直接下载

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

  
 
  • 1

在这里插入图片描述

在这里插入图片描述

3. 安装

3.1 将安装包移动到/usr/local下

 mv mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz /usr/local/

  
 
  • 1

在这里插入图片描述

3.2 解压缩文件

tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

  
 
  • 1

在这里插入图片描述

3.3 重命名为mysql并删除安装文件

在这里插入图片描述

3.4 安装数据库

  我的虚拟机是mini版的所以缺一些依赖,执行如下命名:

yum -y install numactl perl perl-devel libaio-devel

  
 
  • 1

添加系统mysql组和mysql用户
执行命令:groupadd mysql和useradd -r -g mysql mysql

  1. 进入安装mysql软件目录:
    执行命令
    cd /usr/local/mysql

  2. 修改当前目录拥有者为mysql用户:
    执行命令
    chown -R mysql:mysql ./

  3. 安装数据库:
    执行命令
    ./scripts/mysql_install_db --user=mysql

    在这里插入图片描述

  4. 修改当前目录拥有者为root用户:
    执行命令
    chown -R root:root ./

  5. 修改当前data目录拥有者为mysql用户:
    执行命令
    chown -R mysql:mysql data

4. 配置

4.1 将mysql服务添加到开机启动项中

cp support-files/mysql.server /etc/init.d/mysql

  
 
  • 1

在这里插入图片描述

4.2 启动mysql服务

service mysql start

  
 
  • 1

在这里插入图片描述

在这里插入图片描述

4.3 设置root账号密码

./bin/mysqladmin -u root -h hadoop-node02 password '123456'

  
 
  • 1

4.4 登录mysql

./bin/mysql -uroot -h hadoop-node02 -p123456

  
 
  • 1

在这里插入图片描述

5. 远程连接

授权命令

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;

  
 
  • 1
  • 2

在这里插入图片描述

测试连接

在这里插入图片描述

三、Docker安装篇

1. Docker单机版

1.1 在docker hub上查找mysql

docker search mysql

  
 
  • 1

在这里插入图片描述

1.2 下载mysql镜像文件

  此处我们下载5.6版本的mysql

docker pull mysql:5.6

  
 
  • 1

在这里插入图片描述

1.3 构建容器

  镜像下载好后我们可以直接运行启动mysql容器

docker run -p 12345:3306 --name mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/logs:/logs -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6

  
 
  • 1

在这里插入图片描述

命令参数说明

-p 12345:3306:将主机的12345端口映射到docker容器的3306端口。
–name mysql:运行服务名字
-v /root/mysql/conf:/etc/mysql/conf.d :将主机/root/mysql录下的conf/my.cnf 挂载到容器的 /etc/mysql/conf.d
-v /root/mysql/logs:/logs:将主机/root/mysql目录下的 logs 目录挂载到容器的 /logs。
-v /root/mysql/data:/var/lib/mysql :将主机/root/mysql目录下的data目录挂载到容器的 /var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
-d mysql:5.6 : 后台程序运行mysql5.6

1.4 登录验证

  通过命令登录

在这里插入图片描述

也可以通过navigator连接

在这里插入图片描述

说明数据库是安装成功的~

2.Docker集群版

  MySQL集群搭建在实际项目中还是非常必须的,我们通过PXC【Percona XtraDB Cluster】来实现强一致性数据库集群搭建。

2.1 MySQL集群搭建

1> 拉去镜像

docker pull percona/percona-xtradb-cluster:5.7.21

  
 
  • 1

2> 复制pxc镜像【重命名】

docker tag percona/percona-xtradb-cluster:5.7.21 pxc

  
 
  • 1

3>删除原来的镜像

docker rmi percona/percona-xtradb-cluster:5.7.21

  
 
  • 1

4>创建单独的网段,给MySQL数据库集群使用

docker network create --subnet=172.20.0.0/24 pxc-net
docker network inpsect pxc-net # 查看详情
docker network rm pxc-net # 删除网段

  
 
  • 1
  • 2
  • 3

5> 创建和删除volume

docker volume create --name v1 # 创建 volume
docker volume rm v1 # 删除volume
docker volume inspect v1 # 查看详情

  
 
  • 1
  • 2
  • 3

6> 搭建pxc集群

准备三个数据卷

docker volume create --name v1 
docker volume create --name v2 
docker volume create --name v3

  
 
  • 1
  • 2
  • 3

运行3个PXC容器

[CLUSTER_NAME PXC集群名字]

[XTRABACKUP_PASSWORD数据库同步需要用到的密码]

创建第一个节点

docker run -d -p 3301:3306 -v v1:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e CLUSTER_NAME=PXC -e EXTRABACKUP_PASSWROD=123456 --privileged --name=node1 --net=pxc-net --ip 172.22.0.2 pxc

  
 
  • 1

创建第二个和第三个节点: 注意 -e CLUSTER_JOIN=node1

docker run -d -p 3302:3306 -v v2:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e CLUSTER_NAME=PXC -e EXTRABACKUP_PASSWROD=123456 -e CLUSTER_JOIN=node1 --privileged --name=node2 --net=pxc-net --ip 172.22.0.3 pxc

  
 
  • 1
docker run -d -p 3303:3306 -v v3:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e CLUSTER_NAME=PXC -e EXTRABACKUP_PASSWROD=123456 -e CLUSTER_JOIN=node1 --privileged --name=node3 --net=pxc-net --ip 172.22.0.4 pxc


  
 
  • 1
  • 2

2.2 负载均衡服务搭建

  当然在mysql集群搭建好之后我们还得搭建个负载均衡的服务来处理请求。这儿我们选择HaProxy.
在这里插入图片描述

实现步骤:

1>拉去镜像

docker pull haproxy

  
 
  • 1

2>创建haproxy的配置文件。

touch /tmp/haproxy/haproxy.cfg

  
 
  • 1

配置文件中的内容

global
	#工作目录,这边要和创建容器指定的目录对应
	# chroot /usr/local/etc/haproxy
	#日志文件
	log 127.0.0.1 local5 info
	#守护进程运行
	daemon

defaults
	log	global
	mode	http
	#日志格式
	option	httplog
	#日志中不记录负载均衡的心跳检测记录
	option	dontlognull
 	#连接超时(毫秒)
	timeout connect 5000
 	#客户端超时(毫秒)
	timeout client  50000
	#服务器超时(毫秒)
 	timeout server  50000

    #监控界面
    listen  admin_stats
	#监控界面的访问的IP和端口
	bind  0.0.0.0:8888
	#访问协议
 	mode        http
	#URI相对地址
 	stats uri   /dbs_monitor
	#统计报告格式
 	stats realm     Global\ statistics
	#登陆帐户信息
 	stats auth  admin:admin
	#数据库负载均衡
	listen  proxy-mysql
	#访问的IP和端口,haproxy开发的端口为3306
 	#假如有人访问haproxy的3306端口,则将请求转发给下面的数据库实例
	bind  0.0.0.0:3306  
 	#网络协议
	mode  tcp
	#负载均衡算法(轮询算法)
	#轮询算法:roundrobin
	#权重算法:static-rr
	#最少连接算法:leastconn
	#请求源IP算法:source 
 	balance  roundrobin
	#日志格式
 	option  tcplog
	#在MySQL中创建一个没有权限的haproxy用户,密码为空。
	#Haproxy使用这个账户对MySQL数据库心跳检测
 	option  mysql-check user haproxy
	server  MySQL_1 172.22.0.2:3306 check weight 1 maxconn 2000  
 	server  MySQL_2 172.22.0.3:3306 check weight 1 maxconn 2000  
	server  MySQL_3 172.22.0.4:3306 check weight 1 maxconn 2000 
	#使用keepalive检测死链
 	option  tcpka

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57

3>创建haproxy容器

docker run  -d -p 8888:8888 -p 3306:3306 -v /tmp/haproxy:/usr/local/etc/haproxy --name haproxy01 --privileged --net=pxc-net haproxy

  
 
  • 1

4>在MySQL数据库上创建用户,用于心跳检测

CREATE USER 'haproxy'@'%' IDENTIFIED BY '';

  
 
  • 1

5>win浏览器访问

http://centos_ip:8888/dbs_monitor
用户名密码都是:admin

  
 
  • 1
  • 2

6>客户端连接工具连接

ip:centos_ip
port:3306
user:root
password:123456

  
 
  • 1
  • 2
  • 3
  • 4

文章来源: dpb-bobokaoya-sm.blog.csdn.net,作者:波波烤鸭,版权归原作者所有,如需转载,请联系作者。

原文链接:dpb-bobokaoya-sm.blog.csdn.net/article/details/122483580

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。