相关推荐recommended
Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装
作者:mmseoamin日期:2024-02-20

一、MySQL数据库管理系统安装部署【简单】

简介

MySQL数据库管理系统(后续简称MySQL),是一款知名的数据库系统,其特点是:轻量、简单、功能丰富。

MySQL数据库可谓是软件行业的明星产品,无论是后端开发、大数据、AI、运维、测试等各类岗位,基本上都会和MySQL打交道。

让我们从MySQL开始,进行实战的Linux软件安装部署。

本次课程分为2个版本进行安装:

    ① MySQL 5.7版本安装

    ② MySQL 8.x版本安装

由于MySQL5.x和8.x各自有许多使用者,所以这两个版本我们都演示安装一遍

注意

MySQL的安装过程中,除了会使用Linux命令外,还会使用到少量的数据库专用的:SQL语句

对于SQL语句我们并未涉及,所以可以跟随教程的内容,复制粘贴即可

1、MySQL5.7版本在CentOS系统安装

注意:安装操作需要root权限

MySQL的安装我们可以通过前面学习的yum命令进行。

安装

① 配置yum仓库

# 更新密钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
# 安装Mysql yum库
rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm

Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第1张

由于MySQL并不在CentOS的官方仓库中,所以我们通过上述rpm命令:

  • 导入MySQL仓库的密钥

  • 配置MySQLQ的yum仓库

    ② 使用yum安装MySQL

    # yum安装Mysql
    yum -y install mysql-community-server

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第2张

    ③ 安装完成后,启动MySQL并配置开机自启动

    systemctl start mysqld		# 启动
    systemctl enable mysqld		# 开机自启

    MySQL安装完成后,会自动配置为名称叫做:mysqld的服务,可以被systemctl所管理

    ④ 检查MySQL的运行状态

    systemctl status mysqld

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第3张

    配置

    主要配置管理员用户root的密码以及配置允许远程登录的权限。

    ① 获取MySQL的初始密码

     

    # 通过grep命令,在/var/log/mysqld.log文件中,过滤temporary password关键字,得到初始密码
    grep 'temporary password' /var/log/mysqld.log

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第4张

    ② 登陆MySQL数据库系统

    # 执行
    mysql -uroot -p
    # 解释
    # -u,登陆的用户,MySQL数据库的管理员用户同Linux一样,是root
    # -p,表示使用密码登陆
    # 执行完毕后输入刚刚得到的初始密码,即可进入MySQL数据库

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第5张

    ③ 修改root用户密码

    # 在MySQL控制台内执行
    ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';	-- 密码需要符合:大于8位,有大写字母,有特殊符号,不能是连续的简单语句如123,abc

    ④ [扩展] 配置root的简单密码

    我们可以给root设置简单密码,如123456.

    请注意,此配置仅仅是用于测试环境或学习环境的MySQL,如果是正式使用,请勿设置简单密码

    # 如果你想设置简单密码,需要降低Mysql的密码安全级别
    set global validate_password_policy=LOW; # 密码安全级别低
    set global validate_password_length=4;	 # 密码长度最低4位即可
    # 然后就可以用简单密码了(课程中使用简单密码,为了方便,生产中不要这样)
    ALTER USER 'root'@'localhost' IDENTIFIED BY '简单密码';

    ⑤ [扩展] 配置root运行远程登录

    默认情况下,root用户是不运行远程登录的,只允许在MySQL所在的Linux服务器登陆MySQL系统

    请注意,允许root远程登录会带来安全风险

    # 授权root远程登录
    grant all privileges on *.* to root@"IP地址" identified by '密码' with grant option;  
    # IP地址即允许登陆的IP地址,也可以填写%,表示允许任何地址
    # 密码表示给远程登录独立设置密码,和本地登陆的密码可以不同
    # 刷新权限,生效
    flush privileges;
    

    ⑥ 退出MySQL控制台页面

    # 退出命令
    exit
    # 或者通过快捷键退出:ctrl + d

    ⑦ 检查端口

    MySQL默认绑定了3306端口,可以通过端口占用检查MySQL的网络状态

    netstat -anp | grep 3306

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第6张

    至此,MySQL就安装完成并可用了,请妥善保存好MySQL的root密码。

    2、MySQL8.0版本在CentOS系统安装

    注意:安装操作需要root权限

    安装

    ① 配置yum仓库

    # 更新密钥
    rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
    # 安装Mysql8.x版本 yum库
    rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm

    ② 使用yum安装MySQL

    # yum安装Mysql
    yum -y install mysql-community-server

    ③ 安装完成后,启动MySQL并配置开机自启动

    systemctl start mysqld		# 启动
    systemctl enable mysqld		# 开机自启

    MySQL安装完成后,会自动配置为名称叫做:mysqld的服务,可以被systemctl所管理

    ④ 检查MySQL的运行状态

    systemctl status mysqld

    配置

    主要修改root密码和允许root远程登录

    ① 获取MySQL的初始密码

    # 通过grep命令,在/var/log/mysqld.log文件中,过滤temporary password关键字,得到初始密码
    grep 'temporary password' /var/log/mysqld.log

    ② 登录MySQL数据库系统

    # 执行
    mysql -uroot -p
    # 解释
    # -u,登陆的用户,MySQL数据库的管理员用户同Linux一样,是root
    # -p,表示使用密码登陆
    # 执行完毕后输入刚刚得到的初始密码,即可进入MySQL数据库

    ③ 修改root密码

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';	-- 密码需要符合:大于8位,有大写字母,有特殊符号,不能是连续的简单语句如123,abc

    ④ [扩展]配置root的简单密码

    我们可以给root设置简单密码,如123456.

    请注意,此配置仅仅是用于测试环境或学习环境的MySQL,如果是正式使用,请勿设置简单密码

    set global validate_password.policy=0;		# 密码安全级别低
    set global validate_password.length=4;		# 密码长度最低4位即可

    ⑤ 允许root远程登录,并设置远程登录密码

    默认情况下,root用户是不运行远程登录的,只允许在MySQL所在的Linux服务器登陆MySQL系统

    请注意,允许root远程登录会带来安全风险

    # 第一次设置root远程登录,并配置远程密码使用如下SQL命令
    create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码!';	-- 密码需要符合:大于8位,有大写字母,有特殊符号,不能是连续的简单语句如123,abc
    # 后续修改密码使用如下SQL命令
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';

    ⑥ 退出MySQL控制台页面

    # 退出命令
    exit
    # 或者通过快捷键退出:ctrl + d

    ⑦ 检查端口

    MySQL默认绑定了3306端口,可以通过端口占用检查MySQL的网络状态

    netstat -anp | grep 3306

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第7张

    至此,MySQL就安装完成并可用了,请妥善保存好MySQL的root密码。

    3、MySQL5.7版本在Ubuntu(WSL环境)系统安装

    课程中配置的WSL环境是最新的Ubuntu22.04版本,这个版本的软件商店内置的MySQL是8.0版本

    所以我们需要额外的步骤才可以安装5.7版本的MySQL

    安装操作需root权限,你可以:

    1.通过 sudo su -,切换到root用户

         课程中选择这种方式操作

    2.或在每一个命令前,加上sudo,用来临时提升权限

    安装

    ① 下载apt仓库文件

    # 下载apt仓库的安装包,Ubuntu的安装包是.deb文件
    wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第8张

    ② 配置apt仓库

    # 使用dpkg命令安装仓库
    dpkg -i mysql-apt-config_0.8.12-1_all.deb

    弹出框中选择:ubuntu bionic (Ubuntu18.04系统的代号是bionic,选择18.04的版本库用来安装)

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第9张

    弹出框中选择: MySQL Server  & Cluster

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第10张 弹出框中选择:mysql-5.7

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第11张

    最后选择:ok

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第12张

     ③ 更新apt仓库的信息

    # 首先导入仓库的密钥信息
    apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 467B942D3A79BD29
    # 更新仓库信息
    apt update

    ④ 检查是否成功配置MySQL5.7的仓库

    apt-cache policy mysql-server

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第13张

     ⑤ 安装MySQL5.7

    # 使用apt安装mysql客户端和mysql服务端
    apt install -f -y mysql-client=5.7* mysql-community-server=5.7*

    弹出框中输入root密码并选择ok,密码任意,课程中以123456代替

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第14张

    再次输入root密码确认

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第15张 ⑥ 启动MySQL

    /etc/init.d/mysql start			# 启动
    /etc/init.d/mysql stop			# 停止
    /etc/init.d/mysql status		# 查看状态

     Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第16张

    ⑦ 对MySQL进行初始化

    # 执行如下命令,此命令是MySQL安装后自带的配置程序
    mysql_secure_installation
    # 可以通过which命令查看到这个自带程序所在的位置
    root@DESKTOP-Q89USRE:~# which mysql_secure_installation
    /usr/bin/mysql_secure_installation
    1、输入密码:

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第17张

    2、是否开启密码验证插件,如果需要增强密码安全性,输入y并回车,不需要直接回车(课程中选择直接回车)

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第18张

    3、是否更改root密码,需要输入y回车,不需要直接回车(课程不更改)

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第19张

     4、是否移除匿名用户,移除输入y回车,不移除直接回车(课程选择移除)
    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第20张
     5、是否进制root用户远程登录,禁止输入y回车,不禁止直接回车(课程选择不禁止)
    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第21张
    6、是否移除自带的测试数据库,移除输入y回车,不移除直接回车(课程选择不移除)  

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第22张

     7、是否刷新权限,刷新输入y回车,不刷新直接回车(课程选择刷新)

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第23张

    8、登陆MySQL
    mysql -uroot -p
    # 输入密码即可登陆成功

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第24张

    至此,在Ubuntu上安装MySQL5.7版本成功。

     4、MySQL8.0版本在Ubuntu(WSL环境)系统安装

    课程中配置的WSL环境是最新的Ubuntu22.04版本,这个版本的软件商店内置的MySQL是8.0版本

    所以直接可以通过apt安装即可

    注意,课程是以WSL获得的Ubuntu操作系统环境。

    如果你通过VMware虚拟机的方式获得了Ubuntu操作系统环境,操作步骤不用担心,和课程中使用WSL环境是完全一致的

    安装操作需root权限,你可以:

    1. 通过 sudo su -,切换到root用户

      课程中选择这种方式操作

    2. 或在每一个命令前,加上sudo,用来临时提升权限

    安装

    ① 如果已经安装过MySQL5.7版本,需要卸载仓库信息哦

    # 卸载MySQL5.7版本
    apt remove -y mysql-client=5.7* mysql-community-server=5.7*
    # 卸载5.7的仓库信息
    dpkg -l | grep mysql | awk '{print }' | xargs dpkg -P

    ② 更新apt仓库信息

    apt update

    ③ 安装mysql

    apt install -y mysql-server

    ④ 启动MySQL

    /etc/init.d/mysql start			# 启动
    /etc/init.d/mysql stop			# 停止
    /etc/init.d/mysql status		# 查看状态

    ⑤ 登陆MySQL设置密码

    # 直接执行:mysql
    mysql

    ⑥ 设置密码

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

    ⑦ 退出MySQL控制台

    exit

    ⑧ 对MySQL进行初始化

    # 执行如下命令,此命令是MySQL安装后自带的配置程序
    mysql_secure_installation
    # 可以通过which命令查看到这个自带程序所在的位置
    root@DESKTOP-Q89USRE:~# which mysql_secure_installation
    /usr/bin/mysql_secure_installation
    1、输入密码:

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第25张

     2、是否开启密码验证插件,如果需要增强密码安全性,输入y并回车,不需要直接回车(课程中选择直接回车)

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第26张

     3、是否更改root密码,需要输入y回车,不需要直接回车(课程不更改)

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第27张

    4、是否移除匿名用户,移除输入y回车,不移除直接回车(课程选择移除)

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第28张

     5、是否进制root用户远程登录,禁止输入y回车,不禁止直接回车(课程选择不禁止)

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第29张

     6、是否移除自带的测试数据库,移除输入y回车,不移除直接回车(课程选择不移除)

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第30张

     7、是否刷新权限,刷新输入y回车,不刷新直接回车(课程选择刷新)

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第31张

     8、重新登陆MySQL(用更改后的密码)
    mysql -uroot -p

    Linux部署MySQL5.7和8.0版本 | CentOS和Ubuntu系统详细步骤安装,第32张

    至此,在Ubuntu上安装MySQL5.7版本成功。