02-MySQL-入门介绍
一、MySQL官网介绍
1.1、主页
https://www.oracle.com/mysql/index.html
1.2、下载主页面
https://www.mysql.com/downloads/
1.3、社区资源下载页面
https://dev.mysql.com/downloads/
1.5、MySQL社区版下载页面
https://dev.mysql.com/downloads/mysql/
二、MySQL 相关产品介绍
2.1、Oracle MySQL Cloud Service (commercial)
商业付费软件,基于MySQL企业版和Oracle云服务提供企业级的MySQL数据库服务
2.2、MySQL Enterprise Edition(commercial)
商业付费软件,除了提供MySQL数据库服务之外,又包含了connector(程序连接接口),partition(表分区),企业级的monitor(监控),HA(高可用),backup(备份),Scalability(扩展)等服务
2.4、MySQL Cluster CGE(commercial)
商业付费软件,基于MySQL Cluster和企业版拥有的各项功能提供企业级的高并发 、高吞吐的数据库服务
2.5、MySQL Community Edition
免费社区软件,提供基础的数据库服务和其他衍生服务
2.6、MySQL Community Server
最流行的开源数据库管理软件,当前最新版本是8.0
2.7、MySQL Cluster
基于MySQL数据库而实现的集群服务,自身能提供高并发高负载等特性
2.8、MySQL Fabric
MySQL官方提供的关于MySQL数据库高可用和数据分片的解决方案
2.9、MySQL Connectors
为应用程序提供JDBC/ODBC等访问MySQL数据库的接口服务
三、MySQL 各个社区版本的区别
3.1、MySQL4.0版本
增加了子查询的支持,字符集增加UTF-8,GROUP BY语句增加了ROLLUP,mysql.user表采用了更好的加密算法,InnoDB开始支持单独的表空间
3.2、MySQL5.0版本
增加了Stored procedures、Views、Cursors、Triggers、XA transactions的支持,增加了INFORATION_SCHEMA系统数据库
3.3、MySQL5.5版本
默认存储引擎更改为InnoDB,提高性能和可扩展性,增加半同步复制
3.4、MySQL5.6版本
提高InnoDB性能,支持延迟复制
3.5、MySQL5.7版本
提升数据库性能和存储引擎,更健壮的复制功能,增加sys系统库存放数据库管理信息
四、MySQL 安装
4.1、MySQL 版本选择
- 首先判断是否要和公司其他已经安装好的MySQL保持版本一致
- 如果没有上述要求,则一般会安装最新版本(目前是5.7)
- 如果不是实验新功能性质,则不要选择development release,而要安装General Availability (GA) release(代表稳定版本,可在生产系统使用)
4.2、MySQL 安装方式
- 二进制安装包的方式(RPM,ZIP,Tar等)
- 源码方式(source code):一般会选择二进制安装方式,如果有特殊需求,比如修改一部分源码或修改MySQL深层次的配置,则会选择源码方式
4.3、MySQL 安装
1 -- MySQL Linux 安装 2 -- 1. 上传tar包到服务器并解压tar包到/usr/local/目录 3 cd /usr/local/ 4 tar -xvf mysql-5.7.25-linux-glibc2.5-x86_64.tar 5 tar -zxvf mysql-5.7.25-linux-glibc2.5-x86_64.tar.gz 6 mv mysql-5.7.25-linux-glibc2.5-x86_64 mysql 7 8 -- 2. 创建运行mysql的用户和组 9 groupadd mysql 10 useradd mysql -g mysql 11 12 -- 3. 创建MySQL 目录 13 mkdir data 14 15 -- 4. 修改解压包的权限 16 chown –R mysql . 17 chgrp –R mysql . 18 19 -- 5. 安装MySQL 20 -- 5.1 初始化数据目录 21 bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data 22 -- 5.2 将默认配置文件复制到指定目录 23 cp -f support-files/my-default.cnf /etc/my.cnf 24 -- 5.3 启动MySQL服务 25 bin/mysqld_safe --datadir=/usr/local/mysql/data --user=mysql & 26 -- 5.4 将MySQL加入到服务自启动 27 cp support-files/mysql.server /etc/init.d/mysql.server 28 -- 5.5 通过服务启动MySQL 29 /etc/init.d/mysql.server start 30 31 -- 启动过程中如果碰到如下错误 32 /* 33 [root@localhost mysql]# bin/mysqld --initialize --user=mysql --datadir 34 /usr/local/mysql/data 35 bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open 36 shared object file: No such file or directory 37 38 则需要安装包yum install -y libaio 39 */ 40 41 -- 不使用推荐的安装路径的方法 42 bin/mysqld --initialize --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data & 43 bin/mysqld_safe --basedir=/data/mysql --datadir=/data/mysql/data --user=mysql & 44 45 -- 修改root 用户的初始化密码 46 set password=password('mysql'); 47 flush privileges;
五、MySQL基本文件结构
5.1、Data目录为初始化的数据文件存放路径
5.2、Data目录里为每一个数据库创建了一个文件夹
5.3、ibdata1和ib_logfile0/1为三个专为innodb存放数据和日志的共享文件
六、MySQL 启动相关参数
6.1、MySQL安装路径
basedir = /usr/local/mysql
6.2、MySQL的数据文件路径
datadir = /usr/local/mysql/data
6.3、指定MySQL的侦听端口
port = 3306
6.4、记录MySQL启动日志和运行错误日志
log-error=/usr/local/mysql/data/M00006.err
6.7、bind-address(默认是*)
*代表接受所有来自IPV4、IPV6主机网卡的TCP/IP连接
0.0.0.0代表接受所有来自IPV4主机网卡的TCP/IP的连接
指定的IP如127.0.0.1,代表只接受此地址请求的TCP/IP连接
6.8、指定MySQL的字符集
character-set-server(默认是latin1)
6.9、指定MySQL的排序规则
collation-server(默认是latin1_swedish_ci)
6.10、指定MySQL的默认存储引擎
default-storage-engine(默认是InnoDB)
6.11、指定默认时区,如果没有指定则和系统默认时区一致
default-time-zone
6.12、指定Mysqld运行过程中可以打开的文件数,避免出现” Too many open files”报错
open-files-limit(默认5000)
6.13、指定Mysqld进程对应的程序ID文件,默认是在数据文件目录里
pid-file=/usr/local/mysql/data/M00006.pid
6.14、指定避开MySQL内部的权限表启动服务
skip-grant-tables
6.15、指定临时表文件的存放路径
tmpdir
6.16、修改MySQL默认端口后重启
修改/etc/my.cnf中的port参数为3307
/etc/init.d/mysql.server restart重启服务
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)