开源 Linux 服务器与中间件(七)数据库--MySQL

文章的目的记录所使用的的Linux服务器和中间件的配置和使用,防止时间太长忘记,进行重复工作。

相关链接:

开源 Linux 服务器与中间件(一)基本介绍

开源 Linux 服务器与中间件(二)嵌入式Linux服务器和中间件

开源 Linux 服务器与中间件(三)服务器--Nginx

开源 Linux 服务器与中间件(四)服务器--Tomcat

开源 Linux 服务器与中间件(五)服务器--Boa

推荐链接:

linux C 语言开发 (一) Window下用gcc编译和gdb调试

linux C 语言开发 (二) VsCode远程开发 linux

linux C 语言开发 (三) 建立云服务器

linux C 语言开发 (四) linux系统常用命令

linux C 语言开发 (五) linux系统目录结构

linux C 语言开发 (六) 程序的编辑和编译(vim、gcc)

linux C 语言开发 (七) 文件 IO 和标准 IO

linux C 语言开发 (八) 进程基础

linux C 语言开发 (九) 进程间通讯--管道

linux C 语言开发 (十) 进程间通讯--信号

linux C 语言开发 (十一) 进程间通讯--共享内存

linux C 语言开发 (十二) 进程间通讯--消息队列

Linux C到Android App开发推荐链接(入门十二章):

开源 java android app 开发(一)开发环境的搭建_csdn 开源 java android app-CSDN博客

开源 java android app 开发(一)开发环境的搭建-CSDN博客

开源 java android app 开发(二)工程文件结构-CSDN博客

开源 java android app 开发(三)GUI界面布局和常用组件-CSDN博客

开源 java android app 开发(四)GUI界面重要组件-CSDN博客

开源 java android app 开发(五)文件和数据库存储-CSDN博客

开源 java android app 开发(六)多媒体使用-CSDN博客

开源 java android app 开发(七)通讯之Tcp和Http-CSDN博客

开源 java android app 开发(八)通讯之Mqtt和Ble-CSDN博客

开源 java android app 开发(九)后台之线程和服务-CSDN博客

开源 java android app 开发(十)广播机制-CSDN博客

开源 java android app 开发(十一)调试、发布-CSDN博客

开源 java android app 开发(十二)封库.aar-CSDN博客

linux C到.net mvc开发推荐链接:

开源C# .net mvc 开发(一)WEB搭建_c#部署web程序-CSDN博客

开源 C# .net mvc 开发(二)网站快速搭建_c#网站开发-CSDN博客

开源 C# .net mvc 开发(三)WEB内外网访问(VS发布、IIS配置网站、花生壳外网穿刺访问)_c# mvc 域名下不可訪問內網,內網下可以訪問域名-CSDN博客

开源 C# .net mvc 开发(四)工程结构、页面提交以及显示_c#工程结构-CSDN博客

开源 C# .net mvc 开发(五)常用代码快速开发_c# mvc开发-CSDN博客

内容:MySQL 数据库的的安装,测试,以及页面修改。

目录

1.MySQL 的功能和使用场景

2.MySQL 如何安装

3.MySQL 的测试和应用

一、MySQL 的功能和使用场景

MySQL 是一个关系型数据库管理系统,它是目前最流行的开源数据库之一,由 Oracle 公司开发和维护。

核心功能:

  1. 数据存储与管理:以表的形式存储数据,每个表由行和列组成,结构清晰。

  2. SQL 支持:完全支持 SQL 语言,用于查询、插入、更新、删除数据,以及创建和修改数据库结构。

  3. 事务支持:支持事务,可以确保一系列数据库操作要么全部成功,要么全部失败,保证数据的一致性和完整性。

  4. 高并发与性能:具有良好的多用户支持和高并发处理能力,能够处理大量同时发生的请求。

  5. 数据安全:提供用户权限管理,可以精细控制每个用户对数据库、表甚至列的访问权限。

  6. 索引:支持创建索引,极大地加快了数据的查询速度。

  7. 主从复制:支持主从复制,可以将数据从一个数据库服务器复制到一个或多个从服务器,用于数据备份、读写分离和高可用性。

  8. 存储过程和触发器:支持存储过程和触发器,可以在数据库服务器端执行复杂的业务逻辑。

主要用途:

  • Web 应用 :它是 LAMPLEMP 技术栈中的 "M",为无数的网站和 Web 应用提供后端数据存储,例如 WordPress、Drupal、Joomla 等。

  • 数据仓库:用于存储和分析大量的业务数据。

  • 日志记录:存储应用程序、系统的运行日志。

  • 嵌入式系统:由于其轻量级和高性能,也常被用于嵌入式数据库场景。

二、MySQL 如何安装

步骤 1:更新软件包索引

复制代码
sudo apt update

步骤 2:安装 MySQL Server

复制代码
sudo apt install mysql-server

系统会提示你确认安装,输入 Y 并回车继续。

步骤 3:(可选但推荐)运行安全配置脚本

安装完成后,运行一个安全脚本,它可以帮你完成一些重要的安全设置,比如设置 root 密码、移除匿名用户、禁止 root 远程登录等。

复制代码
sudo mysql_secure_installation

你会被问到一系列问题:

VALIDATE PASSWORD COMPONENT:是否设置密码验证插件?(建议选 Y,可以强制你设置一个强密码)。

密码强度等级:选择 0(低)、1(中)、2(强)。根据你的需求选择。

设置 root 密码:输入并为 root 用户确认一个新密码。

移除匿名用户?:选择 Y。

禁止 root 远程登录?:选择 Y(出于安全考虑,通常不允许 root 直接从远程连接)。

移除 test 数据库?:选择 Y。

重新加载权限表?:选择 Y,使上述更改立即生效。

三、MySQL 的测试和应用

步骤 1:连接到 MySQL

使用 mysql 命令行客户端以 root 用户身份连接。由于我们在安全配置中设置了密码,需要使用 -p 参数。

复制代码
sudo mysql -u root -p

输入你在 mysql_secure_installation 过程中设置的 root 密码。

注意:在 Ubuntu 上,使用 sudo 连接 root 用户是一种常见方式,因为它使用了名为 auth_socket 的插件,有时可以直接 sudo mysql 无需密码。但为了安全和通用性,建议使用 -p 密码方式。

如果成功,你将看到 MySQL 的命令提示符:

复制代码
mysql>

步骤 2:执行基本命令进行测试

显示所有数据库:

复制代码
SHOW DATABASES;

你应该能看到像 mysql, information_schema, performance_schema 等系统数据库。

创建一个新的测试数据库:

复制代码
CREATE DATABASE test_db;

再次运行 SHOW DATABASES; 确认 test_db 已创建。

使用这个新数据库:

复制代码
USE test_db;

创建一个新表:

复制代码
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100)
);

向表中插入数据:

复制代码
INSERT INTO users (username, email) VALUES ('zhangsan', 'zhangsan@example.com');
INSERT INTO users (username, email) VALUES ('lisi', 'lisi@example.com');

查询数据:

复制代码
SELECT * FROM users;

你将看到刚才插入的两条记录。

更新数据:

复制代码
UPDATE users SET email = 'new_lisi@example.com' WHERE username = 'lisi';

再次使用 SELECT * FROM users; 查看更改。

删除数据:

复制代码
DELETE FROM users WHERE username = 'zhangsan';

步骤 3:管理 MySQL 服务

检查 MySQL 服务状态:

复制代码
sudo systemctl status mysql

确保它处于 active (running) 状态。

启动 MySQL 服务:

复制代码
sudo systemctl start mysql

停止 MySQL 服务:

复制代码
sudo systemctl stop mysql

重启 MySQL 服务:

复制代码
sudo systemctl restart mysql

设置 MySQL 开机自启:

复制代码
sudo systemctl enable mysql

步骤 4:(可选)创建专用管理用户

在生产环境中,不建议直接使用 root 用户。最好创建一个拥有所需权限的专用用户。

在 MySQL shell 中 (mysql>) 执行:

复制代码
-- 创建一个新用户,例如 'myuser',并设置密码
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'strong_password';

-- 授予该用户对某个数据库的所有权限(例如 test_db)
GRANT ALL PRIVILEGES ON test_db.* TO 'myuser'@'localhost';

-- 刷新权限使授权生效
FLUSH PRIVILEGES;

-- 退出 MySQL
EXIT;

现在,你可以用这个新用户连接了:

复制代码
mysql -u myuser -p

输入密码后,你就可以管理 test_db 数据库了。

相关推荐
l1t26 分钟前
用docker安装oracle 19c
运维·数据库·docker·oracle·容器
Java&Develop27 分钟前
DataEase图表页面传参至数据库查询方法 和页面筛选方法 sql传参
数据库·sql
+VX:Fegn089530 分钟前
计算机毕业设计|基于springboot + vue作业管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
@zulnger40 分钟前
Python 连接 MySQL 数据库_pymysql
数据库·python·mysql
别来无恙blwy1 小时前
SQL Server高可用自动故障转移失败(短时间内多次转移失败,只需一步可处理)
数据库·windows·sqlserver·负载均衡·可用性测试
岭锅锅1 小时前
机房U位资产管理系统:让设备管理更高效
服务器
k***92161 小时前
【Linux】进程概念(五):详解环境变量的本质
linux·运维·服务器
世转神风-1 小时前
VMware-挂载报错:no mountpoint specified
linux
KakiNakajima1 小时前
CentOS 7 x86系统安装EMQX 【kaki备忘录】
linux·运维·centos
gjc5922 小时前
MySQL 主从复制全解析:从基础原理到高级实战简介(附架构图)
数据库·mysql