Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >在 Ubuntu 上安装 MySQL

在 Ubuntu 上安装 MySQL

原创
作者头像
不惑
修改于 2023-09-23 03:49:12
修改于 2023-09-23 03:49:12
1.3K00
代码可运行
举报
文章被收录于专栏:GoboyGoboy
运行总次数:0
代码可运行

本教程展示了在 Ubuntu 上安装 MySQL 8 的详细步骤。

先决条件

请使用 root 用户,或者具有管理员权限的用户登录系统,完成以下操作。

在 Ubuntu 中安装 MySQL

1. 更新软件仓库包索引

执行以下命令更新 Ubuntu 本地软件仓库的包索引。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt update

2. 升级本地软件

输入以下命令升级系统:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt upgrade

3. 配置 MySQLPPA

在 Ubuntu 中安装 Mysql 最方便方式是用 MySQL 自己的 APT 仓库。 APT 仓库中包含了 MySQL 的服务器和工具相关的软件。我们需要将此 MySQL APT 仓库添加到系统的包源列表中。

使用 wget 命令下载 MySQL APT 仓库包:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wget -c https://repo.mysql.com//mysql-apt-config_0.8.13-1_all.deb

使用 dpkg 命令安装 MySQL APT 仓库包:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb

4. 安装 MySQL

执行以下命令开始安装 MySQL:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt install mysql-server

这一步会安装一个不安全的 MySQL 服务器。我们将在下一步配置服务器的安全性。

安装完成后,我们先启动 MySQL 服务器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl start mysql

5. MySQL 安全配置

执行以下命令调整 MySQL 服务器的安全性:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo mysql_secure_installation

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Securing the MySQL server deployment.
Connecting to MySQL using a blank password.
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No:
这里时问你是否使用密码验证组件。输入 ‘Y’ 并按下回车键。
There are three levels of password validation policy:
LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:
这是是设置密码验证策略的级别。他提供了 3 个级别:
LOW: 密码长度至少 8MEDIUM: 密码长度至少 8, 由数字、混合大小写的字母和特殊字符组成
STRONG: 密码长度至少 8, 由数字、混合大小写的字母、特殊字符和字典文件组成
请选择适合你的密码级别。在这里由于是用来开发和测试,我选择 0.
Please set the password for root here.
New password:
Re-enter new password:
在这里,输入两次密码。
Estimated strength of the password: 25
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
如果你对密码强度满意,输入 Y 和回车键后继续。
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Success.
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Success.
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
 - Dropping test database...
Success.
 - Removing privileges on test database...
Success.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Success.
All done!

在这里,上面所有问题都输入 y或Y 。然后完成整个配置过程。

6. 通过 Systemd 管理 MySQL 服务器

安装完成后,MySQL 服务就会自动启动。我们可以通过以下几个命令查看 MySQL 服务的状态,启动、停止、重启 MySQL 服务器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
查看 MySQL 服务器状态: sudo systemctl status mysql
启动 MySQL 服务器: sudo systemctl start mysql
停止 MySQL 服务器: sudo systemctl stop mysql
重启 MySQL 服务器: sudo systemctl restart mysql
配置 MySQL 服务器自启动: sudo systemctl enable mysql

7. 连接到 MySQL 服务器

请使用以下命令连接到 MySQL 服务器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql -u root -p

然后根据提示输入 root 帐户的密码,并按下回车键。

!!!!!!(如果再上述的操作中没有设置过密码,就没有密码,直接按Enter键即可)

验证通过后,将显示以下输出代表进入了 MySQL 控制台:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql>

使用 SHOW DATABASES 显示当前服务器中的所有数据库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql> show databases;

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.05 sec)

修改Root密码

  • 登录 MySQL 服务器
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql -u root
  • 更改 root 用户的密码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
  • 如果提示:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

※ 重点:修改密码策略

查看密码策略,在 mysql> 后输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SHOW VARIABLES LIKE 'validate_password%';

密码策略显示如下:

指定密码的验证强度等级,validate_password.policy=MEDIUM 修改为 LOW

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
set global validate_password.policy=LOW;

再次查看密码策略:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SHOW VARIABLES LIKE 'validate_password%';

密码的验证强度等级,validate_password.policy=LOW,完成。

指定密码长度,validate_password.length=8,修改为6

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
set global validate_password.length=6;

密码策略修改完成后,修改密码为123456

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';创建新用户:

如果不想使用root账户远程登录的话,需要创建新的的用户:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';

其中,newuser 是新用户的用户名,% 表示可以从任何主机登录,password 是新用户的密码。

授予新用户权限:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%';

这条语句授予新用户对所有数据库和所有表的所有权限。

  • 刷新权限:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
FLUSH PRIVILEGES;

这条语句使新用户的权限生效。

然后,退出无密码登陆mysql界面,输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
\q

重启MySQL服务

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo service mysql restart

用新密码登陆mysql界面:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql -u root -p

输入Enter password,即刚才设置的123456,显示成功。

远程连接错误

解决MySQL 使用Navicat等远程链接工具,提示2003 - Can't connect to MySQL server on (10061 "Unknown error")问题

系统配置

OS: Ubuntu 20.04

DataBase: MySQL8.0.23

修改MySQL配置

修改配置文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

查找到bind-address

将后面的ip地址由127.0.0.1全部改为0.0.0.0

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
bind-address        =0.0.0.0
mysqlx-bind-address =0.0.0.0

重启MySQL服务

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl restart mysql

补充说明

※ 关于 Mysql 8.0.19 Homebrew 安装版本密码策略相关参数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 取值:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
0/LOW         #只验证长度;
1/MEDIUM    #验证长度、数字、大小写、特殊字符;
2/STRONG   #验证长度、数字、大小写、特殊字符、字典文件;

我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【MySQL 系列】在 Ubuntu 上安装 MySQL
在 Ubuntu 中安装 Mysql 最方便方式是用 MySQL 自己的 APT 仓库。 APT 仓库中包含了 MySQL 的服务器和工具相关的软件。我们需要将此 MySQL APT 仓库添加到系统的包源列表中。
栗筝i
2024/03/19
8660
Ubuntu上安装MySQL
在安装 MySQL 的时候会问你很多问题,如果你没有特殊需求就都用 y 通过,密码强度部分需要记住自己是怎么设置的(尽量复杂点,比如不少于 8 位并且是大小写字母、数字和特殊字符的组合)。
写bug的高哈哈
2024/11/03
1420
Ubuntu上安装MySQL
Mysql8.0.15 的安装配置(centos7)
我卸载掉本来的mariadb(因为我。。直接在添加mysql yum源的时候直接下载mysql失败了)
我已经洗完澡了
2019/04/22
1.2K0
Mysql8.0.15 的安装配置(centos7)
如何在 Ubuntu 20.04 上安装 MySQL
MySQL是最流行的开源关系数据库管理系统。它速度快,容易使用,容易扩展,并且流行的LAMP和LEMP的一部分。
雪梦科技
2020/05/11
1.6K0
centos7 安装mysql
1、官网下载需要的版本:MySQL :: Download MySQL Community Server (Archived Versions)
lucky鹿鹿
2023/04/05
1.1K0
如何在 Ubuntu 20.04 上安装 MySQL
https://www.itcoder.tech/posts/how-to-install-mysql-on-ubuntu-20-04/
雪梦科技
2020/04/29
6.7K0
如何在 Ubuntu 20.04 上安装 MySQL
CentOS安装Mysql8
如果想设置简单一点的密码,可以设置密码策略,但是这个密码策略必须修改过一次密码之后才能设置。
码客说
2024/08/03
1090
MySQL入门03:MySQL修改root密码的方法
作为守护数据库安全的第一道关卡是root账户及其密码。 学会对root密码管理无疑是守门人和开锁人的一项基础技能。
SQLplusDB
2022/08/19
3K0
MySQL 8.0 设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
MySQL 8.0下设置简单密码出现错误提示:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
星哥玩云
2022/08/18
1.5K0
MySQL 8.0 设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
Centos7使用yum安装MySQL8数据库
安装完成后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo及 mysql-community-source.repo
互联网-小阿宇
2023/03/06
1.7K0
Centos7使用yum安装MySQL8数据库
Linux安装MySql5.7——在centos7中与MySQL5.7安装的相恨相杀
CentOS7的yum源中默认好像是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。(注意root用户权限问题)
不愿意做鱼的小鲸鱼
2022/09/26
6110
Linux安装MySql5.7——在centos7中与MySQL5.7安装的相恨相杀
MySQL密码策略管理插件validate_password
  validate_password是MySQL默认的密码管理策略插件,可通过配置对用户密码长度、强度进行管理;
陈哈哈
2021/10/13
4.7K0
Centos7安装Mysql8教程
第一次进去提示需要修改密码ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
似水的流年
2023/03/06
3.8K0
mac安装mysql
1. 安装homebrew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/mas
用户1437675
2018/08/20
2.2K0
mac安装mysql
[Mac 10.13.4] 使用Homebrew安装Mysql全过程
运行brew service start mysql 可以后台启动mysql 运行mysql.server start 前台启动mysql(关闭控制台,服务停止)
明明如月学长
2021/08/27
21.8K2
如何在 Debian 10 Linux 上安装MySQL
MySQL 是世界上最流行的开源关系数据库管理系统,而 MariaDB 是 Debian 10 中的默认数据库系统, Mysql 并不包含在 Debian 的默认软件存储库。
星哥玩云
2022/08/18
2.9K0
如何在 Debian 10 Linux 上安装MySQL
Linux安装MySQL5.7&MySQL8.0
指剑
2023/05/31
3630
Linux安装MySQL5.7&MySQL8.0
【五】MySql8基于m2芯片arm架构Ubuntu24虚拟机安装
在 mysql_secure_installation 脚本中,VALIDATE PASSWORD COMPONENT 是一个可选的组件,用于验证和加强密码安全性。它可以强制执行强密码策略。 你可以根据自己的需求选择是否启用该组件:
火之高兴
2024/08/06
1470
【五】MySql8基于m2芯片arm架构Ubuntu24虚拟机安装
CentOS 安装 MySQL
下载MySQL的 Yum Repository。 一般需要根据 CentOS 版本选择 MySQL 下载命令:
王小明_HIT
2022/03/28
5K0
CentOS 安装 MySQL
Linux系统之安装MySQL8.0版本
江湖有缘
2023/11/09
1.3K0
Linux系统之安装MySQL8.0版本
相关推荐
【MySQL 系列】在 Ubuntu 上安装 MySQL
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验