MySQL 数据库是作为程序员来说必备的一个组件,而安装相对来说又是非常繁琐的,所以本文就给大家整理下 MySQL 的各种安装操作。
官网下载地址:
https://dev.mysql.com/downloads/mysql/
一、windows 安装篇
1 软件下载
通过官网下载,如果网速比较慢也可以关注我的公众号在里面直接回复 mysql 就可以获取到本系列的所有的相关资料了。下载最新版本
下载地址:https://downloads.mysql.com/archives/community/

直接下载即可

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


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

2.安装版
双击 msi 文件开始安装。

勾选下一步:

检查需要安装的环境


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

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

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

检查是否存在失败项

下一步

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

类型与网络配置

设置 root 密码

创建 SQL 服务与窗口

插件,直接下一步

应用配置


finish 点击继续配置

next 下一步完成。

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

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


完成安装

默认工具连接测试


操作成功

查看安装成功的服务

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


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


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

里面的内容为:
[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
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 窗口

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

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

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

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

然后启动 mysql 服务

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

登录成功。然后修改密码:
alter user 'root'@'localhost' identified by '123456'

然后退出登录测试

好了,到这在 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


3. 5.6 版本安装
3.1 安装
将安装包移动到/usr/local 下
mv mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz /usr/local/

解压缩文件
tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

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

安装数据库
我的虚拟机是 mini 版的所以缺一些依赖,执行如下命名:
yum -y install numactl perl perl-devel libaio-devel
添加系统 mysql 组和 mysql 用户:执行命令:
groupadd mysql 和 useradd -r -g mysql mysql
-
进入安装 mysql 软件目录:执行命令cd /usr/local/mysql
-
修改当前目录拥有者为 mysql 用户:执行命令chown -R mysql:mysql ./
-
安装数据库:执行命令./scripts/mysql_install_db –user=mysql
在这里插入图片描述 -
修改当前目录拥有者为 root 用户:执行命令chown -R root:root ./
-
修改当前 data 目录拥有者为 mysql 用户:执行命令chown -R mysql:mysql data
3.2 配置
将 mysql 服务添加到开机启动项中
cp support-files/mysql.server /etc/init.d/mysql

启动 mysql 服务
service mysql start


3.3 设置 root 账号密码
./bin/mysqladmin -u root -h hadoop-node02 password '123456'
3.4 登录 mysql
./bin/mysql -uroot -h hadoop-node02 -p123456

3.5 远程连接
授权命令
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;

测试连接

4. 5.7 版本安装
5.7 和 5.7 以下的版本安装还是有区别的。我们分别来介绍下。
4.1 获取安装文件
我们需要先获取对应的安装文件,并复制到/usr/local 目录下,并解压缩后重命名为 mysql。

4.2 创建配置文件
我们 support-files 目录下创建 my.cnf 文件内容为
[mysql]
port=3306
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character_set_server=utf8
然后把这个文件拷贝到/etc/ 目录下

如果以前安装过数据库就覆盖掉,复制 mysql.server 到/etc/init.d/目录下(目的想实现开机自动执行效果)

然后修改 mysql 的参数

4.3 用户管理
出于安全便利,创建一个操作数据库的专门用户
groupadd mysql
useradd -r -g mysql mysql
给 mysql 账号设置一个密码
passwd mysql

更改目录的拥有者
chown -R mysql:mysql /usr/local/mysql/
4.4 初始化
初始化,进入 bin 目录
./mysqld --initialize-insecure--user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
执行出现错误提示

缺少环境
yum install libaio -y
然后在初始化,会生成一个空密码

给数据库加密
./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
4.5 启动数据库
启动 mysql 数据库
./mysqld_safe --user=mysql &
检查是否启动成功
ps -ef|grep mysql

4.6 登录测试
./mysql -uroot -p 登录

然后修改密码
alter user 'root'@'localhost' identified by '123456';

4.7 远程登录
最后我们在 windows 系统中要远程连接虚拟机中的 MySQL 数据库,我们需要设置远程连接的账号
grant all privileges on *.* to root@'%' identified by '123456';
flush privileges;

然后远程连接测试

搞定!
三、Docker 安装篇
1. Docker 单机版
1.1 在 docker hub 上查找 mysql
docker search mysql

1.2 下载 mysql 镜像文件
此处我们下载 5.6 版本的 mysql
docker pull mysql:5.6

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

命令参数说明
-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
2> 复制 pxc 镜像【重命名】
docker tag percona/percona-xtradb-cluster:5.7.21 pxc
3>删除原来的镜像
docker rmi percona/percona-xtradb-cluster:5.7.21
4>创建单独的网段,给 MySQL 数据库集群使用
docker network create --subnet=172.20.0.0/24 pxc-net
docker network inpsect pxc-net # 查看详情
docker network rm pxc-net # 删除网段
5> 创建和删除 volume
docker volume create --name v1 # 创建 volume
docker volume rm v1 # 删除volume
docker volume inspect v1 # 查看详情
6> 搭建 pxc 集群
准备三个数据卷
docker volume create --name v1
docker volume create --name v2
docker volume create --name v3
运行 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
创建第二个和第三个节点: 注意 -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
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
2.2 负载均衡服务搭建
当然在 mysql 集群搭建好之后我们还得搭建个负载均衡的服务来处理请求。这儿我们选择 HaProxy.
实现步骤:
1>拉去镜像
docker pull haproxy
2>创建 haproxy 的配置文件。
touch /tmp/haproxy/haproxy.cfg
配置文件中的内容
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
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
4>在 MySQL 数据库上创建用户,用于心跳检测
CREATE USER 'haproxy'@'%' IDENTIFIED BY '';
5>win 浏览器访问
http://centos_ip:8888/dbs_monitor
用户名密码都是:admin
6>客户端连接工具连接
ip:centos_ip
port:3306
user:root
password:123456
原文始发于微信公众号(波哥带你学编程):安装MySQL数据库的各种方式都告诉你,再也不用头疼了
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/59131.html