MySQL数据库

官方下载网址:https://dev.mysql.com/downloads/mysql/

数据库(是按照数据结构来组织、存储和管理数据的仓库)

  1. 关系型数据库 (MySQL,Oracle,db2,SQL server)
    关系型数据库:是建⽴在关系模型基础上的数据库,借助于集合代数等数学概念和⽅法来处理数据库中的数据。
  2. ⾮关系型数据库 (MongoDB Hbase Cassandra)

数据库管理系统(是由数据库及其管理软件组成的系统)

  1. 提供数据持久性的存储,备份,恢复
  2. 支持事务管理
  3. 数据操作的并发
  4. 支持独立的管理语言(sql语句)

数据库存储过程:(是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数[如果该存储过程带有参数]来调用执行它)

使用数据库的优势:

  1. 数据的独立性: 元数据的存储,应用程序程序不需数据的格式问题
  2. 数据的冗余: 最小化数据冗余,保障数据的统一性和一致性
  3. 数据的安全: 不同的用户可以看到独立的数据
  4. 数据的利用率: 使用结构化的数据管理语言(sql语句)
  5. 简单的数据备份和恢复: 提供多种数据备份恢复方式,使数据的安全性更高

MySQL免密登陆

配置mysql配置文件    
[root@linux ~]# vim /etc/my.cnf
在[mysqld]中添加:skip-grant-tables=1

重启mysqld服务
[root@linux ~]# systemctl restart mysqld

mysql数据目录存放,最好挂载定义在lvm的逻辑卷中,便于存储空间的扩展
[root@linux ~]# ls /var/lib/mysql

安装MySQL-5.7版本

[root@linux ~]# wget -c https://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
[root@linux ~]# yum install mysql mysql-server mysql-deve
[root@linux ~]# systemctl start mysqld 


查看临时生成的登陆密码
[root@linux ~]# grep 'temporary password' /var/log/mysqld.log
[root@linux ~]# mysql -uroot -p"临时密码"

进行修改密码,才能进行后续操作
mysql> alter user 'root'@'localhost' identified by 'LIuzl_000';
mysql> flush privileges;

安装Mariadb数据库

[root@linux ~]# yum install mariadb mariadb-server
[root@linux ~]# mysql

修改密码
> set password=password('LIuzl_000');

源码安装MySQL

安装开发工具
[root@linux ~]# yum groupinstall "Development Tools"
[root@linux ~]# yum install ncurses-devel

现在mysql要使用cmake命令安装
[root@linux ~]# yum install cmake

清理之前配置缓存
[root@linux ~]# make clean 
[root@linux ~]# rm CMakeCache.txt

创建组和用户
[root@linux ~]# groupadd mysql
[root@linux ~]# useradd -r -g mysql -s /usr/bin/false mysql

下载MySQL linux版的源码
下载地址为:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 
选择如下:
Select Version: 5.7.18
Select Operating System: Source Code
Select OS Version: Generic Linux (Architecture Indepedent)
最后下载的文件名为 mysql-boost-5.7.18.tar.gzip

[root@linux ~]# tar -xvf mysql-5.7.18.tar.gz
[root@linux ~]# cd mysql-5.7.18/
[root@linux mysql-5.7.18]#  cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DEFAULT_CHARSET=utf8 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=latin1 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=boost/boost_1_59_0/

注意:出现字符集警告时,没问题,除非出现error

获取帮助
[root@linux mysql-5.7.18]# cmake . -Lh

#安装目录
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

#数据库存放目录
-DMYSQL_DATADIR=/usr/local/mysql/data

#系统配置目录
-DSYSCONFDIR=/etc

#Unix socket 文件路径
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock

#安装 myisam 存储引擎
-DWITH_MYISAM_STORAGE_ENGINE=1

#安装 innodb 存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1

#安装 archive 存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1

#安装 blackhole 存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1

#安装数据库分区
-DWITH_PARTITION_STORAGE_ENGINE=1

#允许从本地导入数据
-DENABLED_LOCAL_INFILE=1

#快捷键功能
-DWITH_READLINE=1

#支持 SSL
-DWITH_SSL=yes

#使用 utf8 字符
-DDEFAULT_CHARSET=utf8

#校验字符
-DDEFAULT_COLLATION=utf8_general_ci

#安装所有扩展字符集
-DEXTRA_CHARSETS=all

#MySQL 监听端口
-DMYSQL_TCP_PORT=3306


编译安装
[root@linux mysql-5.7.18]#  make && make install 
[root@linux mysql-5.7.18]#  cd /usr/local/mysql
[root@linux mysql]#  chown mysql.mysql -R .

初始化
[root@linux mysql]#  bin/mysqld --initialize --user=mysql


开启mysql证书认证
[root@linux mysql]#  bin/mysql_ssl_rsa_setup

拷贝启动文件
[root@linux mysql]# cp support-files/mysql.server /etc/init.d/mysql

启动源码mysql
[root@linux mysql]# service mysql start

初始修改密码
[root@linux mysql]# /usr/local/mysql/bin/mysql -uroot -p