当前位置:   article > 正文

数据库图文安装教程之MySQL_mysql安装教程

mysql安装教程
1、Linux系统安装教程
1.1)MySQL离线安装
1.2)MySQL在线安装
2、Windows系统安装教程
2.1)MySQL免安装版配置
2.2)MySQL安装版配置
3、MySQL密码安全策略修改

一、Linux系统安装MySQL

系统版本:CentOS 7
Mysql版本:mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

1、Linux离线安装Mysql

1、 查看是否已经安装 Mysql

rpm -qa | grep mysql
  • 1

如果没有什么返回信息,说明没有安装 Mysql
在这里插入图片描述
如图所示就是安装了MySQL
在这里插入图片描述

2、 查看是否已经安装 mariadb
CentOS 7可视化安装会默认安装该数据库,安装MySQL前需要卸载该数据库

rpm -qa | grep mariadb
  • 1

删除mariadb数据库

rpm -e --nodeps mariadb-libs
  • 1

1)、MySQL下载

1.1)首先打开MySQL官网,选择下载页面 (DOWNLOADS)

在这里插入图片描述

1.2)在下载页面选择社区版 (MySQL Community ),点击进入;

在这里插入图片描述
1.3)在社区版下载界面选择 MySQL Community Server

在这里插入图片描述
1.4)下载界面有新版和老版可以选择,我这里选择老版本。

在这里插入图片描述
1.5)在老版本界面中 Product Version 选择版本8.0.20Operating System 选择系统 Linux - GenericOS Version 系统类型默认 ALL 即可;版本和系统根据需要自行选择

在这里插入图片描述

2)、MySQL安装

2.1)、上传到服务器后解压

首先启动我们Linux系统,通过Xshell远程连接到系统,然后打开Xftp软件,上传我们下载的MySQL安装包到 /usr/local/src 目录中。目录位置和安装位置大家可以自行选择

在这里插入图片描述

上传完成后通过命令进行解压。首先进入到文件目录 cd /usr/local/src。需要注意的是我们下载的文件格式是 tar.xz 结尾的,和老版本的 tar.gz 解压命令不一样。

使用 xz -d file.tar.xz 命令解压外围的 xz
  • 1

在这里插入图片描述

通过 ls 命令查看外围的 xz 已经解压
使用 tar -xvf file.tar 命令解压tar 文件;
  • 1
  • 2

在这里插入图片描述

#重命名为 mysql-8.0.20
使用命令 mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0.20 修改文件名称;
  • 1
  • 2

在这里插入图片描述

2.2)、创建用户组

MySQL 开在 root 上意味着它可以在系统的任何位置写任何文件,MySQL 开在 mysql 用户上,保证它对系统大部分位置不可写,从而 MySQL 即使被攻击,也可以限制它对整个系统的影响。

#检查 mysql 用户组是否存在
cat /etc/group | grep mysql
cat /etc/passwd | grep mysql
#创建用户组
groupadd mysql     
# -r 参数表示 mysql 用户是系统用户,不可用于登录系统,创建用户 mysql 并将其添加到用户组 mysql 中
useradd -r -g mysql mysql
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

2.3)、分配用户组
chown -R mysql /usr/local/src/mysql-8.0.20/ # 将文件的所有属性改为 mysql 用户
chgrp -R mysql /usr/local/src/mysql-8.0.20/ # 将组属性改为 mysql 组
  • 1
  • 2
2.4)、创建数据目录并赋予权限
mkdir -p /data/mysql #在根目录创建数据目录
chown mysql:mysql -R /data/mysql # 将文件的所有属性改为 mysql 用户
  • 1
  • 2

3)、MySQL配置

3.1)、修改配置文件
 vi /etc/my.cnf
  • 1

这是一个简单的模版

[mysqld]
bind-address=0.0.0.0   #如果要远程控制,该设置就默认四个0
port=3306
user=mysql
basedir=/usr/local/src/mysql-8.0.20
datadir=/data/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
[client]
port=3306
socket=/var/lib/mysql/mysql.sock  #默认的客户端路径是/tmp/mysql.sock,不设置连接会报错
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
3.2)、初始化数据库

参数: --basedir 为mysql解压目录,–datadir 为mysql数据存放目录。(注意安装路径是否一致)

cd /usr/local/src/mysql-8.0.20/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/src/mysql-8.0.20/ --datadir=/data/mysql/ --user=mysql --initialize
  • 1
  • 2
3.3)、查看数据库初始密码

通过命令查看

cat /data/mysql/mysql.err
  • 1

在这里插入图片描述
也可以通过Xftp直接打开 mysql.err 文件查看
在这里插入图片描述

3.4)、加入到系统服务并启动mysql
3.4.1)方法一:
cp /usr/local/src/mysql-8.0.20/support-files/mysql.server /etc/init.d/mysql
service mysql start
  • 1
  • 2

在这里插入图片描述
3.4.2)方法二:
systemctl 管理MySQL服务

#在/usr/lib/systemd/system/路径下创建mysql.service
vi /usr/lib/systemd/system/mysql.service

[Unit]
Description=MySQL server
After=syslog.target network.target
 
[Service]
User=mysql
Group=mysql
Type=forking
TimeoutSec=0
#PermissionsStartOnly=true
#这里修改成你自己的解压目录
ExecStart=/usr/local/src/mysql-5.7.20/bin/mysqld --defaults-file=/etc/my.cnf --daemonize
LimitNOFILE = 65535
Restart=on-failure
RestartSec=3
RestartPreventExitStatus=1
PrivateTmp=false
 
[Install]
WantedBy=multi-user.target
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

在这里插入图片描述

重新加载systemd配置
systemctl daemon-reload

常用命令
启动mysql服务
systemctl start mysqld

停止mysql服务
systemctl stop mysqld

重新启动mysql服务
systemctl restart mysqld

查看mysql服务状态
systemctl status mysqld

mysql服务加入自启动
systemctl enable mysqld

停止mysql服务自启动
systemctl disable mysqld

查询mysql服务是否开机自启动
systemctl is-enabled mysqld
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

在这里插入图片描述

如果不加入的话启动MySQL就使用以下方法,进入到MySQL的 support-files 的文件目录下

 cd /usr/local/src/mysql-8.0.20/support-files/	#进入support-files目录下
 
./mysql.server start	#开启MySQL服务

./mysql.server stop    #关闭MySQL服务

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述

3.5)、登录mysql

登录之前一定要先启动MySQL服务

3.5.1)登录方式一

进入mysql安装文件的bin目录

cd /usr/local/src/mysql-8.0.20/bin/
 ./mysql -u root -p
  • 1
  • 2

输入数据库初始密码登录

在这里插入图片描述
3.5.1)登录方式二

配置环境变量

 #打开~/.bashrc文件
 vi ~/.bashrc 
 #在文件末尾加上以下行
 export PATH=$PATH:/usr/local/src/mysql-5.7.20/bin
 #使修改的环境变量生效
 source ~/.bashrc
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

配置完成后不用到mysql目录下可以直接使用msyql -uroot -p命令登录

3.6)、修改mysql初始密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Ab123456';
  • 1

在这里插入图片描述

3.7)、查看mysql端口号
show global variables like 'port';
  • 1

在这里插入图片描述
如果端口号显示为 “ 0 ” ,检查配置文件 my.cnf 中是否有“skip-grant-tables”,注释掉该配置就可显示配置的端口号。
在这里插入图片描述

3.8)、使用工具连接MySQL报错解决办法

MySQL 异常: "Host 'xxx' is not allowed to connect to this MySQL server"

在使用工具远程连接MySQL数据库时报错,需要检查如下几个地方:

3.8.1)、Linux系统防火墙原因

以下截图中的操作均在Centos7上进行。

1.1).查看防火墙状态的命令

systemctl status firewalld
  • 1

在这里插入图片描述
防火墙原因造成的数据库端口不通有两种处理方式:
方法一、在开启防火墙的状态下,放开数据库使用端口;

#开启指定的端口号
firewall-cmd --add-port=3306/tcp --permanent

# 开启完成之后重新加载配置
firewall-cmd --reload

#关闭指定的端口号
firewall-cmd --remove-port=8080/tcp --permanent

# 关闭完成之后重新加载配置
firewall-cmd --reload
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

.查看防火墙规则

firewall-cmd --list-all    # 查看全部信息
firewall-cmd --list-ports  # 只看端口信息
  • 1
  • 2

在这里插入图片描述

方法二、直接关闭防火墙;

1.2).关闭防火墙命令
1.2.1)暂时关闭防火墙(使用 reboot 命令重启后会恢复到原来的状态)

systemctl stop firewalld
  • 1

在这里插入图片描述

1.2.2)永久性关闭防火墙(重启将不会恢复到原来的状态,并且需要重启后(reboot 命令)才能生效)

systemctl disable firewalld
  • 1

在这里插入图片描述

3.8.2)、数据库是否授权其他设备登录
use mysql;
select host from user where user='root';
  • 1
  • 2

host设置为localhost表示,只有本地可以通过root用户访问数据库

在这里插入图片描述
host修改成%表示,所有主机都可以通过root用户访问数据库

update user set host = '%' where user = 'root';
  • 1

在这里插入图片描述

3.8.3)、数据库是否授权远程登录用户
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
  • 1
  • 2

在这里插入图片描述

参考示例
grant all PRIVILEGES on db_name.* to ‘username’@‘xxx.xxx.xx.x’ ;

all PRIVILEGES 表示赋予所有的权限给指定用户,这里也可以替换为赋予某一具体的权限,例如:select,insert,update,delete,create,drop 等,具体权限间用“,”半角逗号分隔。

db_name.* 表示上面的权限是针对于哪个表的,db_name指的是数据库名称,后面的 * 表示对于所有的表,由此可以推理出:对于全部数据库的全部表授权为“*.*”,对于某一数据库的全部表授权为“数据库名.*”,对于某一数据库的某一表授权为“数据库名.表名”。

username表示你要给哪个用户授权,这个用户可以是存在的用户,也可以是不存在的用户。

xxx.xxx.xx.x 表示允许远程连接的 IP 地址,你的IP,如果想不限制链接的 IP 则设置为“%”即可。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
3.8.4)、刷新权限,使更改生效
FLUSH PRIVILEGES;
  • 1

2、Linux通过yum安装配置Mysql(服务器有网络)

1)、MySQL下载

1、找到对应linux的版本进行下载

[root@CentOS7 ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
  • 1
  • 2

2、在MySQL官网社区版下载界面中找到 MySQL Yum Repository

在这里插入图片描述
3、选择系统对应的版本,点击 Downloads ,在弹出的界面如图所示选择后 复制链接地址
在这里插入图片描述
4、在centos系统中输入wget,然后粘贴复制的下载地址;

#使用wget下载mysql
wget https://repo.mysql.com//mysql84-community-release-el7-1.noarch.rpm
  • 1
  • 2

如果显示wget未找到命令,则需要先安装wget,然后再次执行上面命令;

yum -y install wget
  • 1

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

2)、MySQL安装

2.1)、通过yum安装

通过yum安装方法,会直接添加mysql环境变量和启动服务

yum -y install mysql84-community-release-el7-1.noarch.rpm
  • 1

在这里插入图片描述

2.2)、安装MySQL服务器:**community-server**
yum -y install mysql-community-server
  • 1

在这里插入图片描述

2.3)、启动服务并查看服务状态
systemctl start mysqld        #一定要启动服务!
systemctl status mysqld      #查看服务状态
  • 1
  • 2

在这里插入图片描述

2.4)、 获取密码

登录 MySQL 必须要通过密码,此时 root 用户的密码可以通过以下命令在日志文件中获取:

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

在这里插入图片描述

2.5)、 登录

在这里插入图片描述

二、Windows系统安装步骤

1)、免安装版配置步骤

系统版本:Windows10
Mysql版本:mysql-8.0.20-winx64.zip

1.1)下载

1.1.1)在社区版下载界面选择 MySQL Community Server
在这里插入图片描述
1.1.2)选择下载版本,点击 Download 下载;
在这里插入图片描述

1.2)安装

1.2.1)免安装版下载完成后直接解压
我这里解压到了C盘的mysql文件夹,我们解压的文件夹是没有ini文件和data目录,这时我们需要自己创建。
在这里插入图片描述
1.2.2)创建配置文件和data目录
在这里插入图片描述

配置ini文件,配置信息如下

[Client]
#设置3306端口
port = 3306
 
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\mysql
# 设置mysql数据库的数据的存放目录
datadir=C:\mysql\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
early-plugin-load=""
 
[mysql]
# 设置mysql客户端默认字符集
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

1.2.3)编辑 my.ini 文件,修改mysql安装目录及数据存放目录。
在这里插入图片描述

1.3)环境变量配置

1.3.1)右键 此电脑 ,选择 属性 ,在弹出的界面选择 高级系统设置

在这里插入图片描述
1.3.2)在系统属性界面,选择 环境变量
在这里插入图片描述
1.3.3)在环境变量界面中选择 系统变量新建
在这里插入图片描述

1.3.4)新建系统变量 MYSQL_HOME

在这里插入图片描述

1.3.5)在系统变量中选择 Path 变量,点击 ** 编辑** 。

在这里插入图片描述
1.3.6)并将 ;%MYSQL_HOME%\bin 添加到 Path 变量值后面,注意这里的标点符号为英文符号

在这里插入图片描述

1.4)安装MySQL服务

1.4.1)以"管理员身份"运行命令提示符cmd

在这里插入图片描述

1.4.2)cd 进入 mysql 目录

在这里插入图片描述

1.4.3)初始化MySQL
mysqld --initialize-insecure --user=mysql   #该命令要在bin目录下执行
  • 1

进入bin目录并初始化MySQL
在这里插入图片描述

1.4.4)安装服务
mysqld --install
  • 1

在这里插入图片描述

1.4.5)启动mysql服务
net start mysql
  • 1

在这里插入图片描述

1.4.6)登录mysql

这里不需要输入密码,直接按回车键即可

在这里插入图片描述

1.4.7)设置mysql登录密码
use mysql;
alter user 'root'@'localhost' identified by 'Ab123456';
  • 1
  • 2

在这里插入图片描述

2)安装版配置步骤

系统版本:Windows10
Mysql版本:mysql-installer-community-8.0.37.0.msi

2.1)下载

2.1.1)打开官网下载界面,点击MySQL Community(GPL)Downloads
在这里插入图片描述

2.1.2)选择 MySQL Installer for Windows
在这里插入图片描述
2.1.3)选择下载版本,点击 Download 下载;
在这里插入图片描述
2.1.4)点击No thanks, just start my download,这里可以跳过注册,直接下载
在这里插入图片描述

2.2)安装

2.2.1)Choosing a Setup Type
  1. “Developer Default”是开发者安装
  2. “Server only”仅作为服务器安装
  3. “Clientonly”仅作为客户端安装
  4. “Full”是完整安装
  5. “Custom”是自定义安装

选择 Server only ,点击 Next

在这里插入图片描述

2.2.2)Path Conflicts

点击 Next

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

2.2.3)Installation

选择 Execute 等待安装MySQL Server。

在这里插入图片描述
安装完成后点击 Next
在这里插入图片描述

2.2.4)Type and Networking

这里默认即可,点击 Next

在这里插入图片描述

2.2.5)Authentication Method

在这里插入图片描述

2.2.6)Accounts and Roles

设置 root 用户密码,密码规则按照上一步选择的模式进行设置,如果需要新增用户可以在下面设置,点击 Next

在这里插入图片描述
User Name:账号名称;
Host:需要远程连接默认即可,只要本地连接就选“localhost”;
Role:角色,下拉可以选择不同的权限角色。

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

2.2.6)Windows Service

点击 Next

在这里插入图片描述

2.2.7)Server File Permissions

点击 Next

在这里插入图片描述

2.2.8)Apply Configuration

选择 Execute
在这里插入图片描述

完成后,选择 Finish

在这里插入图片描述

点击 Next

在这里插入图片描述

2.2.9)Installation Complete

点击 Finish ,完成安装。

在这里插入图片描述

2.3)登录

2.3.1)使用Navicat 工具进行连接测试。

本地测试:

在这里插入图片描述
远程连接测试:

在这里插入图片描述

三、MySQL密码安全策略修改

安全策略参数和常见等级:
1、Mysql8.X常见安全策略参数

validate_password.dictionary_file #指定密码验证的文件路径;
validate_password.length #固定密码的总长度,默认为8;
validate_password.mixed_case_count #整个密码中至少要包含大/小写字母的总个数;
validate_password.number_count #整个密码中至少要包含阿拉伯数字的个数;
validate_password.policy #指定密码的强度验证等级,默认为 MEDIUM;
validate_password.special_char_count #整个密码中至少要包含特殊字符的个数;
指定密码的强度验证等级validate_password.policy 取值:
0/LOW #只验证长度;
1/MEDIUM #验证长度、数字、大小写、特殊字符;
2/STRONG #验证长度、数字、大小写、特殊字符、字典文件;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

2、查看MySQL安全策略

show variables like 'validate%';
  • 1

在这里插入图片描述
3、修改安全策略
如果MySQL还是初始密码,要先按照安全策略设置强密码,然后再修改策略;

set global 常见安全策略参数=安全策略值;
  • 1

在这里插入图片描述
在这里插入图片描述
4、改完密码策略,就可以根据自己修改的策略,更改匹配策略的MySQL登录密码了
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/711354
推荐阅读
相关标签
  

闽ICP备14008679号