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即可。
这种安装使用于对数据库要求不高的场合,例如开发不大,公司内部,企业内部的一些应用场景。
下列安装包放在:
链接:https://pan.baidu.com/s/1jAsgk12RWHcxWEO4cy9xYw
提取码:c8bn
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 tools]# rz -y rz waiting to receive. zmodem trl+C ȡ
100% 5558 KB 5558 KB/s 00:00:01 0 Errors
[root@localhost tools]# ls
cmake-2.8.8.tar.gz mysql-5.5.32
[root@localhost tools]# tar -xf cmake-2.8.8.tar.gz
[root@localhost tools]# rm -rf cmake-2.8.8.tar.gz
[root@localhost tools]# ls
cmake-2.8.8 mysql-5.5.32
[root@localhost tools]# cd cmake-2.8.8
[root@localhost cmake-2.8.8]# ./bootstrap
然后进行 gmake安装
安装依赖包
[root@localhost tools]# yum install ncurses-devel -y
开始安装数据库
创建用户和组
[root@localhost ~]# groupadd mysql groupadd:“mysql”组已存在 [root@localhost ~]# useradd mysql -s /sbin/nologin -M -g mysql useradd:用户“mysql”已存在
上传文件进行解压,然后进入文件进行配置:(首先需要有applicaation)
cmake -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 -DMYSQL_DATADIR=/application/mysql-5.5.32/data -DMYSQL_UNIX_ADDR=/application/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
翻译
-DCMAKE_INSTALL_PREFIX= 安装根目录
-DCMAKE_INSTALL_PREFIX= unix套接字目录
-DDEFAULT_CHARSET= 默认字符集
-DDEFAULT_COLLATION=默认编码
-DWITH_EXTRA_CHARSETS= 额外的编码,请使用ALL来编译。
-DWITH_MYISAM_STORAGE_ENGINE=1 编译myisam存储引擎,默认的存储引擎,不加也可以
-DWITH_INNOBASE_STORAGE_ENGINE=1 支持InnoDB存储引擎,这个也是默认安装的
-DWITH_READLINE=1 使用readline功能
-DENABLED_LOCAL_INFILE=1 可以使用load data infile命令从本地导入文件
-DMYSQL_DATADIR=数据库 数据目录
软链接创建
[root@localhost mysql-5.5.32]# ln -s /application/mysql-5.5.32/ /application/mysql
选择配置文件
[root@localhost mysql-5.5.32]# cd .. [root@localhost tools]# cp mysql-5.5.32/support-files/my-small.cnf /etc/my.cnf cp:是否覆盖"/etc/my.cnf"? y [root@localhost tools]# [root@localhost tools]# ll /application/mysql/data/ 总用量 0 drwxr-xr-x. 2 root root 19 11月 6 01:34 test [root@localhost tools]# chown -R mysql.mysql /application/mysql/data/ [root@localhost tools]# chmod -R 1777 /tmp/ [root@localhost tools]#
初始化数据库
[root@localhost tools]# /application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data/ --user=mysql [root@localhost ~]# cd /home/girl/tools/mysql-5.5.32/ [root@localhost mysql-5.5.32]# /bin/cp support-files/mysql.server /etc/init.d/mysqld [root@localhost mysql-5.5.32]# chmod +x /etc/init.d/mysqld [root@localhost mysql-5.5.32]# /etc/init.d/mysqld start Starting MySQL.. SUCCESS! [root@localhost mysql-5.5.32]# netstat -lntup|grep 3306 tcp 0 0 0.0.0.0:3306 0.0.0.0:*
配置环境变量及成功
echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile tail -1 /etc/profile source /etc/profile echo $PATH
[root@localhost mysql-5.5.32]# echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile
[root@localhost mysql-5.5.32]# tail -1 /etc/profile
export PATH=/application/mysql/bin:$PATH
[root@localhost mysql-5.5.32]# source /etc/profile
echo $PATH[root@localhost mysql-5.5.32]# echo $PATH
/application/mysql/bin:/application/mysql/bin:/application/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost mysql-5.5.32]# mysql
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1
Server version: 5.5.32 Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
mysql>
安装完毕
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/
-
[root@localhost cmake-2.8.8]# ./bootstrap --------------------------------------------- CMake 2.8.8, Copyright 2000-2011 Kitware, Inc. --------------------------------------------- Error when bootstrapping CMake: Cannot find appropriate C compiler on this system. Please specify one using environment variable CC. See cmake_bootstrap.log for compilers attempted. --------------------------------------------- Log of errors: /home/girl/tools/cmake-2.8.8/Bootstrap.cmk/cmake_bootstrap.log ---------------------------------------------
解决办法:
2.8.4/Bootstrap.cmk/cmake_bootstrap.log
报错:缺少C的编译器。
安装gcc编译器
可以从Linux系统的安装盘中安装,也可以简单地用yum安装
[root@localhost ~]# yum install gcc -y
继续cmake的安装
-
C compiler on this system is: cc Error when bootstrapping CMake: Cannot find appropriate C++ compiler on this system. Please specify one using environment variable CXX.
解决办法:
安装gcc-c++编译器
同样可以从Linux系统的安装盘中安装,或者简单地用yum安装
[root@localhost ~]# yum install gcc-c++