引言
在人工智能中,无论是机器学习、深度学习还是各种AI应用,都离不开数据的支撑。数据库是存储、管理和操作数据的核心工具。而MySQL作为世界上最流行的开源关系型数据库,在各类AI项目中都有着广泛的应用,没有数据库,AI系统就如同没有记忆的大脑,无法积累经验,无法持续学习。
一、Linux环境准备
1、基础环境配置
对于初学者,我推荐使用CentOS 7。CentOS以稳定性著称。本教程以CentOS 7为例,但原理与其他操作系统相通。
在安装软件之前,我们需要确保系统环境已经准备就绪:
# 1. 关闭防火墙(仅用于学习环境,生产环境请谨慎)
# 停止firewall
systemctl stop firewalld.service
# 禁止开机自启
systemctl disable firewalld.service
# 查看防火墙状态
systemctl status firewalld.service
# 2. 修改主机名
hostnamectl set-hostname master
# 重启后生效,或者重新连接SSH
# 3. 配置静态IP(确保服务器IP固定)
cd /etc/sysconfig/network-scripts
vim ifcfg-ens33
编辑网络配置文件,修改以下关键参数:
BOOTPROTO=static # 改为静态IP
ONBOOT=yes # 开机启动
IPADDR=192.168.111.100 # 你的IP地址
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.111.2 # 网关
DNS1=192.168.111.2 # DNS服务器
配置主机映射:
# 编辑hosts文件
vim /etc/hosts
# 添加以下内容
192.168.111.100 master
# Windows用户也需要配置(方便用主机名访问)
# 路径:C:\Windows\System32\drivers\etc\hosts
# 添加相同的内容
二、MySQL 5.7 安装与配置
这里我推荐使用MySQL 5.7,因为它的性能和稳定性很不错,虽然MySQL 8.0更新,但5.7的兼容性更好,学习资料更丰富。
1、安装步骤
1)、下载MySQL官方Yum仓库
wget -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
2)、安装仓库
yum -y install mysql57-community-release-el7-10.noarch.rpm
3)、安装MySQL服务器
yum -y --nogpgcheck install mysql-community-server
4)、查看安装的服务
systemctl list-unit-files | grep mysql
2、启动与初始化
1)、启动MySQL服务
systemctl start mysqld
systemctl enable mysqld # 设置开机自启
systemctl status mysqld # 查看状态
2)、获取临时密码(MySQL 5.7首次启动会生成随机密码)
grep "temporary password" /var/log/mysqld.log
# 输出类似:A temporary password is generated for root@localhost: XXXXXXXXX
3)、使用临时密码登录
mysql -uroot -pXXXXXXXX # 将XXXXXXXX替换为实际密码
3、安全配置与密码修改
1)、关闭密码复杂度验证(仅学习环境使用,生产环境请保持开启)
SET GLOBAL validate_password_policy = 0;
SET GLOBAL validate_password_length = 1;
2)、修改root密码(这里使用简单密码,仅用于学习)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
3)、允许root远程登录(方便使用Navicat连接)
USE mysql;
UPDATE user SET host = '%' WHERE user = 'root';
FLUSH PRIVILEGES;
4)、退出
EXIT;
4、配置字符集支持中文
1)、编辑MySQL配置文件
vim /etc/my.cnf
2)、在[mysqld]部分添加
[client]
default-character-set=utf8mb4
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
3)、重启服务生效
systemctl restart mysqld
4)、验证配置
mysql -uroot -p123456 -e "SHOW VARIABLES LIKE '%char%';"
三、Navicat Premium - 数据库管理的瑞士军刀
1、Navicat是什么?
Navicat Premium是一款功能强大且支持多种数据库的图形化管理工具,它通过直观的可视化界面,是我们不用使用复杂的命令也可以轻松的进行数据库操作。它提供了跨数据库的统一管理平台,支持数据同步、备份与迁移,内置具备智能提示与语法高亮的 SQL 编辑器,并能通过图表生成实现数据可视化分析,从而提升数据库管理效率。
2、Navicat Premium安装
访问Navicat官网下载试用版,运行安装程序,按向导完成安装,启动Navicat Premium即可。
https://www.navicat.com.cn/
3、连接远程MySQL服务器
1)、"连接" → "MySQL"
2)、连接信息:
连接名:自定义
主机:master(我们之前配置的主机名)或IP地址
端口:3306(MySQL默认端口)
用户名:root
密码:123456
3)、点击"测试连接",成功后点击"确定"
注意确保Linux防火墙已关闭,MySQL已允许远程连接。
四、MySQL的基本介绍
到这里我们就完成了使用Mysql库前的一些基本软件的安装和环境配置,在进入下一章正式开启Mysql库的学习前博主先简单介绍一下Mysql(虽然看起来有点枯燥但会让我们了解Mysql的基本内容,为下一章学习做好充分的准备):
MySQL是一款广受欢迎的开源关系型数据库管理系统,它构成了无数网站、应用和服务的核心数据存储基础。其核心优势在于结构化存储、强大的查询能力以及良好的数据完整性和安全性。理解MySQL的基础操作,是我们从数据存储与管理的入门到精通的必经之路。
首先,最基本的操作层级是数据库本身的管理。在MySQL中,数据库可以被视为一个逻辑容器,用于归类和组织一系列相关的数据表。初始连接服务器后,用户可以通过特定命令查看所有存在的数据库列表。创建新的数据库需要指定一个唯一的名称,并可在此过程中定义其默认的字符集和校对规则,以确保能正确存储和处理多种语言的数据。在进行任何具体的表或数据操作之前,必须明确地选择一个当前要操作的数据库,此后的命令都将作用于这个上下文之内。当然,数据库也可以被删除,但这一操作具有毁灭性,会清除其中包含的所有表和数据,因此执行前必须确认已经做好了备份。
在选定数据库之后,操作的核心便成为了数据表的管理。表是实际存储数据的二维结构,由行(记录)和列(字段)组成。创建表是整个设计中最关键的步骤之一,它需要预先仔细规划表的结构,即为每一列定义其名称、数据类型(如整数、字符串、日期时间等)以及各种约束条件(如是否允许为空、是否唯一、默认值等)。其中,主键约束尤为重要,它唯一地标识表中的每一行记录。表创建成功后,可以随时查看其详细的结构定义。
与数据表管理同等重要的,是表内数据的增删改查操作,这通常被称为CRUD。增加数据指的是向指定表中插入新的数据行,可以一次性插入单条或多条记录,插入时需要确保提供的数据与表结构的列定义相匹配。查询数据的目的是从表中检索出所需的信息。基础查询可以获取表中的所有数据,但更多的是通过指定条件来筛选出特定的行,或只选择感兴趣的列。查询结果还可以根据一个或多个字段进行升序或降序排列,并且可以限制返回的记录数量。更进一步的查询可能会涉及对数据进行分组、聚合计算或多表之间的关联查询。更新数据用于修改表中已存在的记录,通过指定要更新的列和新值,并结合精确的条件来定位目标行,这是维护数据准确性的关键。删除数据则是从表中移除不再需要的记录,同样必须依赖严格的条件语句来精确指定删除范围,以避免误删大量数据。
总之,掌握从数据库、表的管理到数据的CRUD这一系列基础操作,是有效利用MySQL管理信息的起点。这些操作共同构成了与数据库交互的基础语言,通过它们,我们可以有序地组织、存储、检索和维护数据资产,为构建更复杂的数据驱动应用打下坚实的基础。