LAMP--MySQL数据库

文章目录

  • 一、数据库的基本概念
  • 二、当今主流数据库
  • 三、关系数据库与非关系数据库的区别
  • 四、编译安装MySQL数据库

一、数据库的基本概念

  1. 数据
    描述事物的符号记录。
    包括数字、文字、图形、图像、声音、档案记录等。
    以“记录”形式按统一的格式进行存储。


  2. 将不同的记录组织在一起。
    用来存储具体数据。

  3. 数据库
    表的集合,是存储数据的仓库。
    以一定的组织方式存储的相互有关的数据集合

  4. 数据库管理系统
    是实现对数据库资源有效组织、管理喝存取的系统软件。

  5. 数据库系统
    是一个人机系统,由硬件、OS、数据库、DBMS、应用软件和数据库用户组成。
    用户可以通过DBMS或应用程序操作数据库。
    LAMP--MySQL数据库_第1张图片

二、当今主流数据库

1.SQL Server (微软公司产品)
面向Windows操作系统
简单、易用
2. Oracle (甲骨文公司产品)
面向所有主流平台
安全、完善、操作复杂
3. DB2(IBM公司产品)
面向所有主流平台
大型、安全、完善
4. MySQL(甲骨文公司收购)
免费、开源、体积小

三、关系数据库与非关系数据库的区别

关系数据库:
1.实体
也称为实例,对应现实世界中可区别与其他对象的“事件”或“事物”。
2.属性
实体所具有的某一特性,一个实体可以有多个属性。
如”银行客户“实体集中的每个实体均具有姓名、住址、电话等属性。
3.联系
实体集之间的对应关系称为联系,也称为关系。
如银行客户和银行账号之间存在”储蓄“的关系。
4.所有实体及实体之间联系的集合构成一个关系数据库。
非关系数据库:
1.非关系数据库也被称作NoSQL(Not Only SQL)。
2.存储数据不以关系模型为依据,不需要固定的表格式。
3.非关系型数据库的优点:
数据库可以高并发读写
对海量数据高效率存储与访问
数据库具有高扩展性和高可用性
4.常用的非关系数据库:Redis、mongoDB等。

四、编译安装MySQL数据库

安装MySQL环境依赖包
yum -y install
ncurses
ncurses-devel
bison
cmake
LAMP--MySQL数据库_第2张图片

创建运行用户
useradd -s /sbin/nologin mysql
上传mysql-boost-5.7.20.tar.gz到opt目录下
cd /opt
tar xf mysql-boost-5.7.20.tar.gz
cd /opt/mysql-5.7.20/
LAMP--MySQL数据库_第3张图片

配置项
cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock
-DSYSCONFDIR=/etc
-DSYSTEMD_PID_DIR=/usr/local/mysql
-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=boost
-DWITH_SYSTEMD=1

####配置选项含义###
1、DCMAKE_INSTALL_PREFIX:指定将 mysql 数据库程序安装到某目录下,
如目录/usr/local/ mysql。
2、DSYSCONFDIR:指定初始化参数文件目录
3、DDEFAULT_CHARSET:指定默认使用的字符集编码,如 utf8。
4、DDEFAULT_COLLATION:指定默认使用的字符集校对规则,utf8_general_ci
是适用于 UTF-8 字符集的通用规则。
5、DWITH_EXTRA_CHARSETS:指定额外支持的其他字符集编码。

编译安装
make -j3 && make install

数据库目录进行权限调整
chown -R mysql:mysql /usr/local/mysql/
建立调整配置文件
vi /etc/my.cnf ####进入vi编辑器添加以下配置文件
[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

chown mysql:mysql /etc/my.cnf
设置环境变量
echo ‘PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH’ >> /etc/profile
echo ‘export PATH’ >> /etc/profile
source /etc/profile 使配置文件的修改生效

cd /usr/local/mysql/

bin/mysqld
–initialize-insecure
–user=mysql
–basedir=/usr/local/mysql
–datadir=/usr/local/mysql/data

cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
systemctl enable mysqld 开机自启数据库
systemctl start mysqld 开启数据库
systemctl status mysqld 查看数据库 状态
netstat -anpt | grep 3306

mysqladmin -u root -p password “abc123”
//刚开始没密码是空的直接回车,然后输入密码abc123,在此确认abc123
mysql -u root -p ##这个命令敲下,提示要输入密码,然后输入刚才设置的密码abc123

你可能感兴趣的:(MySQL,mysql)