文章的目的记录所使用的的Linux服务器和中间件的配置和使用,防止时间太长忘记,进行重复工作。
相关链接:
开源 Linux 服务器与中间件(二)嵌入式Linux服务器和中间件
开源 Linux 服务器与中间件(四)服务器--Tomcat
推荐链接:
linux C 语言开发 (一) Window下用gcc编译和gdb调试
linux C 语言开发 (二) VsCode远程开发 linux
linux C 语言开发 (六) 程序的编辑和编译(vim、gcc)
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 公司开发和维护。
核心功能:
-
数据存储与管理:以表的形式存储数据,每个表由行和列组成,结构清晰。
-
SQL 支持:完全支持 SQL 语言,用于查询、插入、更新、删除数据,以及创建和修改数据库结构。
-
事务支持:支持事务,可以确保一系列数据库操作要么全部成功,要么全部失败,保证数据的一致性和完整性。
-
高并发与性能:具有良好的多用户支持和高并发处理能力,能够处理大量同时发生的请求。
-
数据安全:提供用户权限管理,可以精细控制每个用户对数据库、表甚至列的访问权限。
-
索引:支持创建索引,极大地加快了数据的查询速度。
-
主从复制:支持主从复制,可以将数据从一个数据库服务器复制到一个或多个从服务器,用于数据备份、读写分离和高可用性。
-
存储过程和触发器:支持存储过程和触发器,可以在数据库服务器端执行复杂的业务逻辑。
主要用途:
-
Web 应用 :它是 LAMP 和 LEMP 技术栈中的 "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 数据库了。