MySQL数据库
官方下载网址:https://dev.mysql.com/downloads/mysql/
数据库(是按照数据结构来组织、存储和管理数据的仓库)
- 关系型数据库 (MySQL,Oracle,db2,SQL server)
关系型数据库:是建⽴在关系模型基础上的数据库,借助于集合代数等数学概念和⽅法来处理数据库中的数据。 - ⾮关系型数据库 (MongoDB Hbase Cassandra)
数据库管理系统(是由数据库及其管理软件组成的系统)
- 提供数据持久性的存储,备份,恢复
- 支持事务管理
- 数据操作的并发
- 支持独立的管理语言(sql语句)
数据库存储过程:(是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数[如果该存储过程带有参数]来调用执行它)
使用数据库的优势:
- 数据的独立性: 元数据的存储,应用程序程序不需数据的格式问题
- 数据的冗余: 最小化数据冗余,保障数据的统一性和一致性
- 数据的安全: 不同的用户可以看到独立的数据
- 数据的利用率: 使用结构化的数据管理语言(sql语句)
- 简单的数据备份和恢复: 提供多种数据备份恢复方式,使数据的安全性更高
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