第一节 数据库管理系统
相关网址:www.db-engines.com
mysql站点:www.mysql.com
mariadb.org mariadb官方站点
数据库分类:
关系型数据库: oracle mysql maraidb
非关系型数据库: nosql
数据管理系统:是在磁盘的机制上做了一个更高效的数据管理系统,用于管理数据,索引。
对于关系型数据库:数据存放在表中,每一行都是一个实体的数据,表与表之间有一定的关系
他的核心组件有:库 ,表 索引 , 视图,sql ,存储过程,存储函数,触发器,事件调度器
约束:
主键约束:是唯一的,不可存在多个的, 非空
唯一建约束:是为一个但是可以有多个,非空
检查性约束:check
相关工具:
mysql utilities 工具组件
mysql workbench 是一个mysql图形化管理工具
mysql connectors 不同的客户端程序连接mysql需要用的到驱动程序
mysql的安装有三种方式
1二进制安装包
https://dev.mysql.com/downloads/mysql/ 下载压缩包
在服务器上将原自带的删掉
卸载原mariadb
确保mysql用户存在
将mysql压缩包解压到对应目录下
做一个软件接
将这个mysql目录下改为root:mysql
创建个数据目录并属主属组改为mysql.mysql
编辑环境变量
做mysql初始化
mysql --verbose --help 可以查看mysqld命令帮助
创建配置文件
[root@node1 mysql]# mkdir etc
[root@node1 mysql]# cp /etc/my.cnf ./etc/
初始化
注意/data/mysql 数据目录下要为空
复制开机命令
mysql的开机命令在support-files 目录下
将其复制到/etc/init.d/mysqld
启动服务:
创建配置文件中对应文件目录 属主属组mysql.mysql
登录
mysql 命令
常用选项:
--host=host_name, -h host_name:服务端地址;
--user=user_name, -u user_name:用户名;
--password[=password], -p[password]:用户密码;
--port=port_num, -P port_num:服务端端口;
--protocol={TCP|SOCKET|PIPE|MEMORY} 协议
本地通信:基于本地回环地址进行请求,将基于本地通信协议;
Linux:SOCKET
--socket=path, -S path
非本地通信:使用非本地回环地址进行的请求;TCP协议;
--database=db_name, -D db_name: 设默认库的
--compress, -C:数据压缩传输
--execute=statement, -e statement:非交互模式执行SQL语句;
--vertical, -E:查询结果纵向显示;
2 第二种安装 源码包安装
Centos下用cmake编译安装MySQL
安装依赖包
下载相应源码包
cd /usr/local/src
wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
#从MySQL 5.7.5开始Boost库是必需的
添加mysql用户
解压MySQL源文件:
mv boost_1_65_1.tar.gz mysql-5.7.20
创建数据目录
如果编译出现错误,请先删除CMakeCache.txt后,再重新编译:
rm -rf CMakeCache.txt
如果出现下面的提示就表示成功生成了编译环境:
-- Configuring done
-- Generating done
、使用make进行编译:
make && make install
初始化数据库
、新建数据库文件夹及日志文件夹,并更改用户为mysql:
mkdir /mysql_data
mkdir /var/mysql/log
chown -R mysql:mysql /mysql_data/
chown -R mysql:mysql /var/mysql/log
、修改配置文件
vim /etc/my.cnf
将[mysqld]项下的内容替换为:
[mysqld]
port=3306
datadir=/mysql_data
log_error=/var/mysql/log/error.log
basedir=/var/mysql/
、初始化数据库:
/var/mysql/bin/mysqld --initialize --user=mysql
3第三种 rpm包安装