MySQL数据库的介绍与安装

文章目录

  • MySQL简介
    • 什么是MySQL数据库
    • MySQL商业版与社区版有什么区别
    • MySQL产品阵营
    • MySQL编译安装

MySQL简介

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。

MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。

MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。

MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。

MySQL,虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。

什么是MySQL数据库

MySQL是一款深受欢迎的开元关系型数据库

  • oracle旗下的产品
  • 遵守了GPL协议,可以免费使用与修改
  • 特点
    • 性能卓越,服务稳定
    • 开源,无版权限制,成本低
    • 多线程,多用户
    • 给予C/S(客户端/服务器)架构
    • 安全可靠

MySQL商业版与社区版有什么区别

  • MySQL商业版是由MySQL AB公司负责开发与维护,需要付费才能使用
  • MySQL社区版是由分散在世界各地的MySQL开发者、爱好者一起开发与维护,可以免费使用

两者区别

  • 商业版组织管理与测试环节更加严格,会比社区版更稳定
  • 商业版不遵守GPL,社区版遵从GPL可以免费使用
  • 商业版可获得7*24小时的服务,社区版则没有

MySQL产品阵营

第一阵营: 5.0-5.1阵营,可说是早期产品的延续
第二阵营: 5.4-5.7阵营, 整合了MySQL AB公司、社区和第三方公司开发的存储引擎,从而提高性能
第三阵营: 6.0-7.1阵营,就是MySQL Cluster版本为适应新时代对数据库的集群需求而开发

MySQL编译安装

准备MySQL和boost压缩包
在这里插入图片描述
安装mysql环境依赖包环境准备

yum -y install gcc \
gcc-c++ \
ncurses \	#字符终端的包,方便终端操作
ncurses-devel \
bison \	#函数库
cmake	#没有configure,使用cmake

useradd -s /sbin/nologin mysql  #创建程序型用户

编译安装

解压mysql-boost-5.7.20.tar.gz到opt目录下
进入mysql1-57.20目录

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \	#sock;通讯文件,连接数据库,通讯协议的载体
-DSYSCONFDIR=/etc \	#配置目录指向etc
-DSYSTEMD_PID_DIR=/usr/local/mysql \	#pid文件位置
-DDEFAULT_CHARSET=utf8 \	#此行和下一行为字符集相关
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \	#/此行和下三行为存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \	#指定存放位置
-DWITH_BOOST=/usr/local/boost \	#/指定boost位置
-DWITH_SYSTEMD=1	#守护进程

make & make install

编辑配置文件

cd /etc
vim my.cnf
#将内容全部删除,添加以下内容
[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysql]
port = 3306
default-character-set=utf8
socket=/usr/local/mysql/mysql.sock

[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

设置环境变量

echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
echo 'export PATH' >> /etc/profile
source /etc/profile

初始化数据库

[root@localhost local]# cd /usr/local/mysql/
[root@localhost mysql]# bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data 
[root@localhost mysql]# cp usr/lib/systemd/system/mysqld.service /lib/systemd/system/
数据库开启
[root@localhost mysql]# systemctl start mysqld.service
[root@localhost mysql]# netstat -natp | grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      41525/mysqld

设置密码登录数据库

设置MySQL密码
[root@localhost mysql]# mysqladmin -u root -p password
#第一次没密码直接回车输入新密码
登录数据库查看
[root@localhost mysql]# mysql -u root -p

MySQL添加用户允许远程访问

grant all privileges on *.* to 创建的用户名 @"%" identified by "密码";

你可能感兴趣的:(数据库)