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重启服务

 

posted @   AlexMa  阅读(16)  评论(0编辑  收藏  举报
编辑推荐:
· 从 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)
点击右上角即可分享
微信分享提示