首页 / 资讯中心 / 文章详情

MySQL数据库基础使用(1)—环境安装

MySQL数据库基础使用(1)—环境安装 ★ FEATURED ARTICLE
本文围绕MySQL数据库基础使用展开涵盖CentOS 7环境下的安装配置、数据库基本概念、库与表的操作、常用数据类型以及表约束等内容。一、环境搭建在CentOS 7系统中安装MySQL通常需要先清理系统自带的MariaDB再通过官方yum源进行安装。安装与卸载操作建议切换至root用户执行安装完成后普通用户即可正常使用。1.1 环境清理CentOS 7默认可能预装MariaDB它与MySQL存在端口和文件冲突安装前建议先检查并卸载。检查MariaDB进程是否运行ps ajx | grep mariadb若存在运行中的进程先停止服务systemctl stop mariadb.service随后查看已安装的相关软件包rpm -qa | grep mariadb rpm -qa | grep mysql将查询到的包逐一卸载并建议备份/etc/my.cnf配置文件和/var/lib/mysql数据目录避免原有数据丢失。1.2 yum源配置MySQL官方提供了yum源安装包可从Index of /232905下载与系统版本匹配的rpm包。安装前建议先确认系统版本cat /etc/redhat-release下载对应版本的yum源rpm包后执行安装sudo rpm -Uvh mysql57-community-release-el7-10.noarch.rpm安装完成后/etc/yum.repos.d/目录下会新增mysql-community.repo和mysql-community-source.repo两个文件。可通过以下命令验证yum源是否生效yum list | grep mysql确认源可用后安装MySQL服务端sudo yum install -y mysql-community-server该命令会依次安装common、libs、client和server四个组件。安装过程中若遇到GPG密钥过期问题可执行以下命令导入新密钥rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-20221.3 启动与验证安装完成后MySQL的配置文件位于/etc/my.cnf数据默认存储在/var/lib/mysql目录。启动服务systemctl start mysqld.service查看进程确认服务是否正常运行ps axj | grep mysqld在Windows环境下可通过服务管理器图形化管理MySQL服务执行winr输入services.msc打开服务管理器找到MySQL57服务进行停止、暂停或重启操作。MySQL 5.7首次启动时会为root用户生成临时密码可从日志中获取sudo grep temporary password /var/log/mysqld.log使用临时密码登录mysql -uroot -p登录后建议修改root密码。MySQL默认的密码验证策略要求包含数字、符号、大小写字母且长度不少于8位。set global validate_password_policy0; set global validate_password_length1; ALTER USER rootlocalhost IDENTIFIED BY your_password; FLUSH PRIVILEGES;若安装的版本没有临时密码可尝试直接登录。若忘记密码可在/etc/my.cnf的[mysqld]段添加skip-grant-tables选项重启服务后免密登录再重新设置密码。1.4 开机启动/etc/my.cnf是MySQL的主配置文件常用配置项包括端口、数据目录、字符集和存储引擎等[mysqld] port3306 datadir/var/lib/mysql socket/var/lib/mysql/mysql.sock character-set-serverutf8 default-storage-engineinnodb修改配置后需重启MySQL服务使配置生效。如需设置开机自启动可执行systemctl enable mysqld systemctl daemon-reload二、数据库基础2.1 主流产品文件存储数据在安全性、查询效率、海量数据管理和程序控制方面存在不足数据库管理系统由此应运而生。数据库的存储介质通常包括磁盘和内存其中磁盘用于持久化存储内存用于提升访问速度。当前主流的关系型数据库产品各有特点数据库所属厂商特点与适用场景SQL Server微软.NET平台常用适合中大型项目Oracle甲骨文适合大型项目和复杂业务逻辑并发处理通常不如MySQLMySQL甲骨文开源、并发性好广泛应用于电商、SNS、论坛等场景PostgreSQL加州大学伯克利分校功能丰富的开源关系型数据库支持私用、商用和学术研究SQLite开源轻量级嵌入式数据库占用资源低常见于移动设备和嵌入式产品H2开源Java开发的嵌入式数据库以类库形式直接嵌入应用项目2.2 服务器、数据库与表的关系安装数据库服务器本质上是在机器上部署一个数据库管理系统程序。该程序可以管理多个数据库开发人员通常为每个应用创建一个独立的数据库。为保存应用中实体的数据一般会在数据库中创建多张表。连接MySQL服务器的命令格式如下mysql -h 127.0.0.1 -P 3306 -u root -p其中-h指定主机地址未填写时默认连接本地-P指定端口号默认3306-u指定用户名-p表示需要输入密码。以下是一个完整的基础操作示例涵盖建库、建表、插入和查询-- 创建数据库 create database helloworld; -- 使用数据库 use helloworld; -- 创建表 create table student( id int, name varchar(32), gender varchar(2) ); -- 插入数据 insert into student (id, name, gender) values (1, 张三, 男); insert into student (id, name, gender) values (2, 李四, 女); insert into student (id, name, gender) values (3, 王五, 男); -- 查询数据 select * from student;查询结果以二维表形式呈现横向为字段列纵向为记录行。2.3 MySQL架构与SQL分类MySQL具有良好的可移植性可在Linux、Windows、Mac和Solaris等操作系统上运行各平台的物理体系结构基本一致。其架构从上到下大致分为客户端连接器、连接池、SQL接口、解析器、优化器、缓存、可插拔存储引擎和文件系统等层次。SQL语句按功能可分为以下几类分类全称作用与代表指令DDL数据定义语言维护存储数据的结构代表指令create、dropDML数据操纵语言对数据进行增删改操作代表指令insert、deleteDQL数据查询语言从DML中单独分出负责数据查询代表指令selectDCL数据控制语言负责权限管理和事务代表指令grant、revoke2.4 存储引擎存储引擎是数据库管理系统存储数据、建立索引以及更新和查询数据的技术实现方式。MySQL的核心特点之一是插件式存储引擎支持多种引擎并存。通过以下命令查看当前MySQL支持的存储引擎show engines;其中InnoDB为默认存储引擎支持事务、行级锁和外键。MyISAM不支持事务但查询速度较快。各存储引擎在事务支持、锁粒度、索引类型、存储空间等方面存在差异InnoDB支持事务、行级锁、外键和聚簇索引适合对数据一致性要求较高的业务场景MyISAM不支持事务但存储成本较低适合以查询为主的场景。
阅读完成 · 觉得有帮助?
咨询建站