Linux—mysql基本概念与数据库的搭建
一.数据库的基本概论
1.数据:
描述事物的符号记录,包括数字、文字、图形、图像、声音、档案记录等,以“记录”形式按统一的格式进行存储
2.数据表:
将不同的记录组织在一起,就形成了“表”,是用来存储具体数据的
3.数据库:
就是表的集合,存储数据的仓库,以一定的组织方式存储的相互有关的数据
数据库作用:
数据的持久化保存,高可靠,高可用,数据的快速提取。
二.数据库存储类型:
关系型数据库:
存储的是数值,字符,字符串,布尔值等
MySQL(Oracle公司),sql server(微软公司),access(微软公司office),oracle(Oracle公司),db2(IBM公司),sybase(Sybase公司)等
非关系型数据库 (nosql):
存储的是图片,视频,语音等
mongodb
redis(内存/缓存数据库)K-V键值对 key-value 变量名-值
memcache
相同点:存储高热数据库
不同点:redis可以做持久保存,可以存储对象
三.MySQL数据库介绍
MySQL是一款深受欢迎的开源关系型数据库
Oracle旗下的产品
遵守了GPL协议,可以免费使用与修改
特点:
1.性能卓越、服务稳定
扫描二维码关注公众号,回复:
11154475 查看本文章
2.开源、无版权限制、成本低
3.多线程、多用户
4.基于C/S架构
5.安全可靠
四.手工编译安装MySQL数据库
1.准备安装包:
[root@localhost nginx-1.12.2]# cd /mnt
[root@localhost mnt]# ls
nginx-1.12.2.tar.gz
[root@localhost mnt]# rz
[root@localhost mnt]# ls
mysql-boost-5.7.20.tar.gz nginx-1.12.2.tar.gz
2.解压:
[root@localhost mnt]# tar xzvf mysql-boost-5.7.20.tar.gz -C /opt
3.安装环境包:
[root@localhost mnt]# yum install ncurses ncurses-devel bison cmake autoconf -y
4.创建用户:
[root@localhost mnt]# useradd -s /sbin/nologin mysql
5.安装编译:
[root@localhost mnt]# cd /opt/mysql-5.7.20/
[root@localhost mysql-5.7.20]# 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
[root@localhost mysql-5.7.20]# make && make install
6.对mysql的数据目录进行权限调整:
[root@localhost mysql-5.7.20]# chown -R mysql:mysql /usr/local/mysql
7.调整配置文件参数
[root@localhost mysql-5.7.20]# vim /etc/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
8.设置环境变量
[root@localhost mysql-5.7.20]# echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
9.声明为全局变量
[root@localhost mysql-5.7.20]# echo 'export PATH' >> /etc/profile
10.启动文件
[root@localhost mysql-5.7.20]# source /etc/profile
11.初始化数据库
[root@localhost mysql-5.7.20]# cd /usr/local/mysql/bin
[root@localhost bin]# mysqld \
> --initialize-insecure \
> --user=mysql \
> --basedir=/usr/local/mysql \
> --datadir=/usr/local/mysql/data
12.#使用systemctl工具来进行服务控制
[root@localhost bin]# cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /lib/systemd/system/
13.开启mysql服务,进行验证
[root@localhost bin]# systemctl restart mysqld.service
[root@localhost bin]# netstat -ntap | grep 3306
tcp6 0 0 :::3306 :::* LISTEN 59906/mysqld
14.设置mysql数据库的密码,并登录:
[root@localhost bin]# mysqladmin -u root -p password
[root@localhost bin]# mysql -u root -p