1.1 数据库的介绍
数据库为存放数据的仓库。存放数据的数据库比较特殊,这个仓库是按照一定的数据结构来组织,存储的,可以通过数据库提供的很多种方式来管理数据库的数据。
1.2 数据库的分类
数据库分三类,分贝为层次式数据库,网络式数据库和关系型数据库,而在今天,最常用的数据库模型主要有两种,关系型数据库和非关系型数据库。
1.2.1关系型数据库的介绍
关系型数据库模型是把复杂的数据结构结合为简单的二元关系,在数据库种,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关系大的表格分类,合并。连接或者选取等运算实现数据的管理。
大家最常见的数据库为mysql和Oracle数据库。
1.2.2非关系型数据库的介绍
非关系型数据库被称为NoSQL数据库,随着网络的兴起,传统的关系型数据库对于规模日益扩大的海量数据,超大规模和高并发的微博微信等,暴露了很多难以克服的问题,尤其是现在出现了特定场景/以高性能和使用便利为目的的功能特异化的数据产品。非关系型的数据库就是这样的情景中诞生并迅速发展。
1.3数据库的安装方式
1.3.1 yum的方式安装数据库
Yum方式安装Mysql安装简单,只需要执行yum install mysql-server即可。
这种安装使用于对数据库要求不高的场合,例如开发不大,公司内部,企业内部的一些应用场景。
1.3.2常规方式编译安装MySQL
所谓的常规方式编译(5.1以及以前的产品线)安装MySQL就是延续早期的三部曲安装的方式。
创建用户组和相应的虚拟用户
[root@localhost ~]# groupadd mysql [root@localhost ~]# useradd mysql -g mysql -M -s /sbin/nologin [root@localhost ~]# id mysql uid=1004(mysql) gid=1004(mysql) 组=1004(mysql)
安装MySQL的软件
[root@localhost ~]# mkdir -p /home/girl/tools [root@localhost ~]# cd /home/girl/tools [root@localhost tools]# rz -y rz waiting to receive. zmodem trl+C ȡ
100% 23480 KB 23480 KB/s 00:00:01 0 Errors
[root@localhost tools]# tar xf mysql-5.1.72.tar.gz
[root@localhost tools]# ls
lrzsz-0.12.20 lrzsz-0.12.20.tar.gz mysql-5.1.72 mysql-5.1.72.tar.gz
[root@localhost tools]# ls -l
总用量 23768
drwxrwxrwx 9 406 disk 4096 10月 24 05:33 lrzsz-0.12.20
-rw-r--r-- 1 root root 280938 12月 31 1998 lrzsz-0.12.20.tar.gz
drwxrwxrwx 32 7155 wheel 4096 9月 10 2013 mysql-5.1.72
-rw-r--r-- 1 root root 24044338 10月 24 2019 mysql-5.1.72.tar.gz
配置文件
./configure \ --prefix=/application/mysql5.1.72/data \ --with-unix-socket-path=/application/mysql5.1.72/tmp/mysql.sock \ --localstatedir=/application/mysql5.1.72/data \ --enable-assembler \ --enable-thread-safe-client \ --with-mysqld-user=mysql \ --with-big-tables \ --without-debug \ --with-pthread \ --enable-assembler \ --with-extra-charsets=complex \ --with-readline \ --with-ssl \ --with-embedded-server \ --enable-local-infile \ --with-plugins=partition,innobase \ --with-mysqld-ldflags=-all-static \ --with-client-ldflags=-all-static #--with-plugin-PLUGIN \
不报错就可以就可以安装了make && make install
1.3.3 cmake的安装
由于MySQL5.5.xx-5.6.xx产品系列的特殊性,所以编译的方式也和早期的不同,采用cmake和gmake方式安装编译 root@localhost ~]# ls anaconda-ks.cfg mysql-5.5.32.tar.gz perl5 [root@localhost ~]# tar mysql-5.5.32.tar.gz tar: 旧选项“g”需要参数。 请用“tar --help”或“tar --usage”获得更多信息。 [root@localhost ~]# tar zxf mysql-5.5.32.tar.gz [root@localhost ~]# cd mysql-5.5.32添加编译安装,然后进行 make&&make install
1.3.4 采用二进制方式进行免编译安装
采用二进制的方式,适用于各类的mysql产品的系列,二进制免安装比较简单方便,直接解压下载的安装包,初始化完成安装启动。
1.4 mysql 5.5编译安装(cmake方式安装)
查看自己电脑的信息
[root@localhost ~]# uname -a Linux localhost.localdomain 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
安装cmake工具
[root@localhost tools]# yum install cmake -y
开始安装数据库
创建用户和组
[root@localhost ~]# groupadd mysql groupadd:“mysql”组已存在 [root@localhost ~]# useradd mysql -s /sbin/nologin -M -g mysql useradd:用户“mysql”已存在
上传文件进行解压,然后进入文件进行配置:
cmake . -DCMAKE_INSTALL_PREFIX=/app/mysql-5.5.32 \ -DMYSQL_DATADIR=/app/mysql-5.5.32/data \ -DMYSQL_UNIX_ADDR=/app/mysql-5.5.32/tmp/mysql.sock \ -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \ -DENABLED_LOCAL_INFILE=ON \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_FEDERATED_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \ -DWITHOUT_PARTITION_STORAGE_ENGINE=1 \ -DWITH_FAST_MUTEXES=1 \ -DWITH_ZLIB=bundled \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_READLINE=1 \ -DWITH_EMBEDDED_SERVER=1 \ -DWITH_DEBUG=0
软链接创建之后,安装完毕
MySQL错误排查
- Linking CXX executable pfs_connect_attr-t
../../../sql/libsql.a(handler.cc.o): In function `get_ha_partition(partition_info*)‘:
/data0/software/mysql-5.5.32/sql/handler.cc:460: undefined reference to `ha_partition::ha_partition(handlerton*, partition_info*)‘
/data0/software/mysql-5.5.32/sql/handler.cc:462: undefined reference to `ha_partition::initialize_partition(st_mem_root*)‘
../../../sql/libsql.a(sql_partition_admin.cc.o): In function `Sql_cmd_alter_table_truncate_partition::execute(THD*)‘:
/data0/software/mysql-5.5.32/sql/sql_partition_admin.cc:822: undefined reference to `ha_partition::truncate_partition(Alter_info*, bool*)‘
collect2: ld 返回 1
make[2]: *** [storage/perfschema/unittest/pfs_connect_attr-t] 错误 1
make[1]: *** [storage/perfschema/unittest/CMakeFiles/pfs_connect_attr-t.dir/all] 错误 2
make: *** [all] 错误 2
解决方法:
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/software/mysql -DWITHOUT_PARTITION_STORAGE_ENGINE=0
make && make install
rm -rf /application/ mysql-5.5.32/