您当前的位置:首页 > 计算机 > 软件应用 > 数据库 > MySQL

MySQL最新版本安装教程(Windows和Ubuntu)

时间:02-07来源:作者:点击数:

MySQL官方安装教程

官方安装教程,各种系统的安装都有:https://dev.mysql.com/doc/refman/8.0/en/installing.html

MySQL Community Server 8.0.26 安装

一、Windows版本

下载

下载地址:https://dev.mysql.com/downloads/mysql/

在这里插入图片描述

点击上图红框的地方,可以看到这也是推荐的下载方式,点击后出现如下图:

在这里插入图片描述

如上图,2.4M的是一个Web安装器,真正的MySQL在运行Web安装器时再下载,而450.7M的则是已经包含MySQL在里面了,运行时就是直接安装了,所以一般下载450.7M的,点击下载后,出现如下界面:

在这里插入图片描述

这里提示要登录,也可以选择红框处的“No thanks, just start my download”不用登录,直接下载。

安装

双击安装包,在出现的界面中选择“Custom”来自定义安装,不要选择"Developer Default",这样的话会安装很多东西,比如"MySQL Workbench"、"MySQL for Visual Studio“等,这些开发工具我们不用的话可以不装的。选择”Custom“后点击“Next”,如下:

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

如上图,选择安装一个组件就可以了,然后点击“Next”,如下图:

在这里插入图片描述

如图,点击“Execute”,如下:

在这里插入图片描述

组件安装后在前面会显示一个绿勾,点击“Next”,如下:

在这里插入图片描述

继续 点击“Next”进入到配置界面,如下:

在这里插入图片描述

这个界面保持默认,点击“Next”,如下:

在这里插入图片描述

此页面也是保持默认,“Next”,如下:

在这里插入图片描述

这个页面需要设置root账号的密码,需要有小写字母、大写字母、符号、数字,所以密码设置完后最后把密码保存到记事本,以免忘记。点击“Next”,如下:

在这里插入图片描述

如上图,此界面保持默认即可,点击“Next”,如下:

在这里插入图片描述

安装完成后前面会有绿勾,如下:

在这里插入图片描述

点击“Finish”,如下:

在这里插入图片描述

点击“Next”,如下:

在这里插入图片描述

点击“Finish”即可完成安装。

验证安装

安装后,我们需要把bin目录设置到环境变量:C:\Program Files\MySQL\MySQL Server 8.0\bin,然后就可以在命令行执行mysql命令了.

查看MySQL版本(注,下面命令中是大写的V,不能用小写),如下:

mysql -V
在这里插入图片描述

登录MySQL,如下:

mysql -u root -p
在这里插入图片描述

查看数据库,如下:

show databases;
在这里插入图片描述

DataGrip连接到MySQL

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

如上图,Name处可以随意输入一个名字,然后在输入root账号的密码,然后下面可以看到“Download missing driver files",提示下载缺少的驱动文件,我们就点击“Download”进行下载,下载完成后如下:

在这里插入图片描述

如上图,我们点击“Test Connect”来测试数据库连接,效果如下:

在这里插入图片描述

如上图,提示“Succeeded”,说明连接MySQL成功了,点击OK即可,如下:

在这里插入图片描述

如上图,没有显示任何数据库,“No schemas selected”表示没有选择数据库,“schemas”这里可以理解为数据库,可以看到有“0 of 4”,说明一共有4个数据库,0个被选择,我们点击“0 of 4”,然后随便选择两个数据库,如下:

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

可以看到,变成了“2 of 4”,说明选择了两个数据库,而且选择的数据库显示到了下面,点击箭头可以展开查看数据库表,如下:

在这里插入图片描述

二、Ubuntu 20.04 LTS版本

官方教程:https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/

快速安装总结:

cd /home/even
wget "https://repo.mysql.com//mysql-apt-config_0.8.20-1_all.deb"
sudo dpkg -i mysql-apt-config_0.8.20-1_all.deb
sudo apt-get update
sudo apt-get install mysql-server

注:下载的deb路径从https://dev.mysql.com/downloads/repo/apt/获取,安装过程中出现的所有选项选择默认即可。详细安装教程如下:

下载

此时MySQL版本已经来到了8.0.27了。

下载地址:https://dev.mysql.com/downloads/mysql/

在这里插入图片描述

如上图,在下载页面中,默认是显示Windows系统的MySQL,需要选择对应的Ubuntu系统,如下:

在这里插入图片描述

如上图,我们选择了“Ubuntu Linux”系统,并在系统版本的地方选择“Ubuntu Linux 20.04(x86, 64-bit)”,然后我们点击“MySQL APT Repository”以使用APT的方式来安装,点击后出现下载页面,如下:

在这里插入图片描述

如上图,点击“Download”按钮,然后出现另一界面,如下:

在这里插入图片描述

点击“No thanks, just start my download."开始下载。下载后把该文件上传到ubuntu服务器,这里我以Windows的子系统Ubuntu举例,可以直接在Windows的资源管理器中打开Ubuntu的目录,直接复制下载的文件到Ubuntu的用户目录中(其他目录没有权限复制不了),如下:

在这里插入图片描述

安装

运行Ubuntu系统,默认就是在用户目录下的,如果不是的话需要切换到用户目录,因为前面我们把mysql的文件放到了用户目录,输入ls可以查看当前目录下的文件,如下:

在这里插入图片描述

输入安装命令,这里需要有超级用户权限,所以加上了sudo:

sudo dpkg -i mysql-apt-config_0.8.20-1_all.deb

此命令会要求你输入超级用户(即root用户)的密码,如下:

在这里插入图片描述

输入密码按后回车,然后就会出现安装界面,如下:

在这里插入图片描述

这里的英文翻译如下:

MySQL APT Repo具有MySQL服务器以及各种MySQL组件。您可以选择适当的产品,以选择您希望收到的版本。

一旦你对配置满意,则可以选择最后一个选项’Ok’保存配置,然后运行 ‘apt-get update’ 加载包列表。高级用户可以在以后随时根据自己的需要更改配置。

您希望配置哪个MySQL产品?

如上图,在这个界面中,可以用方向键上下移动,按回车键可以进入某个选项进行选择设置,这里我们不需要做任何改变,使用默认的选择即可,我们使用方向键移到“Ok”上,然后按回车,如下:

在这里插入图片描述

选择OK后,效果如下:

在这里插入图片描述

然后执行如下命令:

sudo apt-get update

执行效果如下:

在这里插入图片描述

加载完成后效果如下:

在这里插入图片描述

执行安装命令:

sudo apt-get install mysql-server

执行效果如下:

在这里插入图片描述

这个时候应该才是真正去下载MySQL,需要的时间比较长(如果网速慢的话)。下载完成后会出现配置界面,要求输入一个root用户的密码,如下:

在这里插入图片描述

密码会要求输入两次,然后出现如下界面:

在这里插入图片描述

有道翻译如下:

MySQL 8使用了一种基于改进的基于sha256的密码方法的新的身份验证。所有新的MySQL服务器安装都推荐使用这种方式。这个新身份验证插件需要新版本的连接器和客户端,支持这种新的身份验证方法(缓存sha2密码)。目前使用libmysqlclient21构建的MySQL 8连接器和社区驱动程序支持这种新方法。使用旧版本libmvsalclient的客户端可能无法连接到新服务器。为了保持与旧客户端软件的兼容性,默认的身份验证插件可以设置为遗留值(mysgl本地密码)。只有当需要的第三方软件没有更新以使用新的身份验证方法时,才应该这样做。更改将被写入文件等/msdl/mvsal。会。d/默认-奥思-乌韦里德,cnf安装后,可以通过设置默认的authenticatinn插件服务器设置来更改默认值。选择默认身份验证插件使用强密码加密(推荐)使用旧的认证方法(保留MySQL5.x兼容性)

这里我们选择第一项“Use Strong Password Encryption (RECOMMENDED)",然后按回车开始安装,执行结果如下:

在这里插入图片描述

验证安装

输入mysql -V(大写的V)查看版本,如下:

在这里插入图片描述

登录mysql,如下:

在这里插入图片描述

百度原因发现mysql服务没有启动,这是因为我在Windows子系统下安装的原因导致的,解决方案可查看“在Windows子系统Ubuntu下安装最新版MySQL”章节即可,这里为了连贯性就讲正常的Ubuntu服务器,因为正常的Ubuntu服务器是没问题的,比如在我的华为云服务器(Ubuntu 18.04 LTS)中,安装到这一步之后应该就可以正常登录MySQL了,mysql服务默认就是启动的,而且在系统重启后也会自动启动,可通过此命令查看运行状态:service mysql status,如下 :

在这里插入图片描述

这里看到绿色的“active (running)”即表示mysql service已经在运行了,登录mysql如下:

在这里插入图片描述

DataGrip连接到MySQL

使用ifconfig查看Ubuntu服务器的ip,如果没有安装net-tools工具的话,会有如下提示:

在这里插入图片描述

如上图,提示我们使用“sudo apt install net-tools”命令进行安装,安装完成后再次执行“ifconfig”命令就可以查看到Ubuntu系统的ip了(注:如果是使用VirtualBox安装Ubuntu的话要设置网络为“桥接网卡”模式,这样的ip段就会和Windows电脑的是同网段),如下:

在这里插入图片描述

有了ip就可以在DataGrip中连接MySQL了,如下:

在这里插入图片描述

如上图,点击“测试连接”时报错了,在DataGrip中使用root账号来连接mysql是连不上的,需要给root账号设置权限才可以(可以查看“DataGrip连接到MySQL使用root账号”章节),对于现实的开发来来说,应该是要创建一个新的用户,然后指定这个用户可以访问哪些数据库,这样的话安全性会好一些,这样我们的root账号和密码就不用交给DataGrip了,而是使用一个权限较小的新创建的用户。之前在学Spring的时候看一篇Spring的官方教程(https://spring.io/guides/gs/accessing-data-mysql/)就是这样教我们连接数据库,如下:

mysql> create database db_example;
mysql> create user 'even'@'%' identified by '123456';
mysql> grant all on db_example.* to 'even'@'%';

这里共3条命令,

  • 第一条命令是创建一个数据库,数据库名为:db_example
  • 第二条命令是创建一个mysql账号,账号名为:even,密码为:123456
  • 第三条命令是授权even用户对db_example数据库的所有操作权限,比如增、删、改、查等等的操作权限全都有。在正常的开发中,有时候为了安全,会创建一些账号只有查询的权限。

然后我们再使用这个even账号来连接db_example数据库就没问题了,如下:

在这里插入图片描述

DataGrip连接到MySQL使用root账号

刚安装好MySQL,不进行任何设置的情况下使用DataGrip来连接MySQL,使用root账号是连接不上的,报错如下:

在这里插入图片描述

经过百度,发现root账号也是要设置一下权限,设置好权限后就可以在DataGrip上连接MySQL了,而且可以查看所有的数据库。

先在Xshell上连接MySQL,然后执行下面三条命令来设置root的权限:

use mysql;
update user set host = '%' where user = 'root';
flush privileges;

权限设置好之后,在DataGrip中就可以使用root账号来连接了,如下:

在这里插入图片描述

连接上之后可以查看到MySQL中的所有数据库,如下:

在这里插入图片描述

三、华为云Ubuntu 18.04 LTS版本

选择对应的版本:

在这里插入图片描述

把下载到的文件使用Xftp上传到服务器的root目录下,如下图:

在这里插入图片描述

使用xShell登录服务器,华为云的登录后默认正好也是在root目录下的,接下来的安装操作和Ubuntu 20.04 LTS版本的安装是一样的,就不重复了。

Linux下MySQL的删除

官方教程:https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/#apt-repo-remove

要卸载 MySQL 服务器和使用 MySQL APT 存储库安装的相关组件,首先使用以下命令删除 MySQL 服务器:

sudo apt-get remove mysql-server

然后,删除与 MySQL 服务器一起自动安装的任何其他软件:

sudo apt-get autoremove

要卸载其他组件,请使用以下命令,替换package-name为要删除的组件的包名称:

sudo apt-get remove package-name

要查看从 MySQL APT 存储库安装的软件包列表,请使用以下命令:

dpkg -l | grep mysql | grep ii

在Windows子系统Ubuntu下安装最新版MySQL

在Windows的子系统Ubuntu中安装MySQL的教程和前面的教程一样,但是安装后启动不了。解决方案如下:

  1. MySQL的Github中下载“mysql.server.sh”文件,并重命名为"mysql",不需要扩展名,打开该文件,在文件开头的地方,找到这3个语句:
    在这里插入图片描述
    赋值如下:
    basedir=/usr
    datadir=/var/lib/mysql
    mysqld_pid_file_path=/var/run/mysqld/mysqld.pid
    
    该文件也可以从我的百度网盘下载,是已经修改好的,可以直接使用,链接:https://pan.baidu.com/s/1HTVzrCp81IQ2v2DDSLJsbw提取码:qjjx
  2. 把这个mysql文件放到/etc/init.d/目录中,直接复制到这个目录是没有权限的,可以先复制到用户的目录下,如:/home/even,然后进入ubuntu系统,执行如下命令:
    sudo mv mysql /etc/init.d/
    sudo chmod +x /etc/init.d/mysql
    
    第一条命令是移动文件,第二条命令是让mysql文件拥有可执行权限。
  3. 使用下面的命令启动或停止MySQL服务:
    sudo service mysql start
    sudo service mysql stop
    
    启动MySQL服务的效果如下:
    在这里插入图片描述
    查看运行状态:
    sudo service mysql status
    
    在这里插入图片描述
    注意:在Windows系统重启后,子系统Ubuntu并不会自动启动,需要启动一下,而且Ubuntu启动后,MySQL服务也没有自动启动,此时查看服务状态效果如下:
    在这里插入图片描述
    此时如果使用service mysql start进行启动也会失败的,真是恶心,需要先执行如下两个命令:
    sudo mkdir -p /var/run/mysqld
    sudo chown mysql:mysql /var/run/mysqld
    
    登录MySQL:
    在这里插入图片描述

自此,Windows子系统Ubuntu下安装最新版本MySQL就完成了。解决方案来自于:https://www.58bits.com/blog/2020/05/03/installing-mysql-80-under-wsl-2-and-ubuntu

原文Google翻译为中文后,如下:

这是一个 PSA,适用于那些希望在新的 Windows 子系统 Linux - WSL 2 下安装 MySQL Server 8.0 和 Ubuntu 发行版的人。

Systemd 在 WSL 2 中不作为默认值可用,并且 init.d 脚本不在启动时运行。

更重要的是,如果您从这里的 deb 包安装 MySQL 8 https://dev.mysql.com/downloads/repo/apt/ - 将不会安装用于启动或停止 MySQL 的默认 mysql.server 帮助程序脚本.

一种解决方案是mysql.server.sh从这里下载脚本 - https://github.com/mysql/mysql-server/tree/8.0/support-files - 然后将脚本复制并重命名为/etc/init.d/mysql(确保它也是可执行的 - chmod +x mysql)

然后,您需要为basdir,datadir和 pid 文件位置设置默认值。

这是文件顶部和对我有用的设置的摘录…

# If you change base dir, you must also change datadir. These may get
# overwritten by settings in the MySQL configuration files.

basedir=/usr
datadir=/var/lib/mysql

# Default value, in seconds, afterwhich the script should timeout waiting
# for server start.
# Value here is overriden by value in my.cnf.
# 0 means don't wait at all
# Negative numbers mean to wait indefinitely
service_startup_timeout=900

# Lock directory for RedHat / SuSE.
lockdir='/var/lock/subsys'
lock_file_path="$lockdir/mysql"

# The following variables are only set for letting mysql.server find things.

# Set some defaults
mysqld_pid_file_path=/var/run/mysqld/mysqld.pid
if test -z "$basedir"

在此之后,您应该能够启动和停止 MySQL,如下所示:

sudo service mysql start
sudo service mysql stop

更新:在这篇文章中 https://www.58bits.com/blog/2020/05/30/wsl-2-setup-development ; 我创建了一个辅助脚本,用于在 WSL 2 下启动和停止我需要的服务…

#!/bin/bash
sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld
sudo service mysql "$@"
sudo service php7.3-fpm "$@"
sudo service nginx "$@" 
SOLR_ULIMIT_CHECKS=false /opt/solr/bin/solr "$@" 

无论出于何种原因,我都需要/var/run/mysqld在启动 MySQL 之前检查该目录是否存在并设置了权限。

然后我在我的.localrc或.local.fish文件中为以下命令设置别名:

#wsl
alias wsl-up='~/Scripts/windows/wsl-exec-services.sh start'
alias wsl-down='~/Scripts/windows/wsl-exec-services.sh stop'

如果我已经重新启动,或者我想切换到另一个运行类似服务的发行版,我会运行wsl-up,或者wsl-down根据需要运行。

CentOS 7

今天(2022-12-23)看了MySQL的官网,在CentOS系统中也安装了MySQL,安装之后在DataGrip中连接不上,后来发现是CentOS的防火墙给拦了,需要开放3306端口:

systemctl status firewalld // 查看防火墙状态
systemctl stop firewalld // 停止防火墙
systemctl start firewalld // 启动防火墙
firewall-cmd --zone=public --add-port=3306/tcp --permanent //  开放一个tcp的3306端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent // 移除某个开放的端口
firewall-cmd --reload // 使刚刚的防火墙设置生效
firewall-cmd --list-ports // 查看所有放开的端口
firewall-cmd --list-all  // 查看所有放开的东西
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门