前言
数据库能做什么?
不论是淘宝,吃鸡,爱奇艺,抖音,快手,知乎,
百度贴吧等,总所周知的服务程序。
存储的数据,包含用户的账号,密码,级别,存款,余额,等级,购物记录,
头像本地路径,视频文件路径。
只要是信息,就一定在数据库里。
数据库由来
1 人工管理阶段。(过去)
账本
2 文件系统阶段(近代)
excel
3 数据库系统管理阶段(目前)
mysql
数据库-系统结构
1. 数据库系统 DBS
A.数据库管理系统(DataBase Management System, DBMS): (面试题)
SQL(RDS关系型数据库)
ORACLE
Oracle MySQL
DB2(IBM)
SQL-server(MS)
Mysql
MariaDB
Percona server(taobao)
B.DBA:工程师
仅作了解
2. SQL语言(结构化查询语言)
SQL(Structured Query Language 即结构化查询语言)
A. DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程、函数, CREATE DROP ALTER //开发人员
B. DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE //开发人员
C. DQL语句 数据库查询语言: 查询数据 SELECT
D. DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE
3. 数据访问技术
A. ODBC PHP <.php>
B. JDBC JAVA <.jsp>
C.ASP.NET<c#>
版本Mysql5.7
部署
官网地址
www.mysql.com
www.oracle.com
RPM
设置内存
还原快照
调整2G内存
请关闭防火墙和selinux
立刻停止防火墙
# systemctl stop firewalld
开机禁用防火墙
# systemctl disable firewalld
立刻停止selinux
# setenforce 0
开机禁用selinux
# vim /etc/selinux/config
SELINUX=disabled
1.访问国内mysql镜像站
http://mirrors.ustc.edu.cn/
2.下载软件包
官方地址下载或百度网盘下载
[root@localhost ~]#wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-community-server-5.7.29-1.el7.x86_64.rpm
RPM包,MySQL服务器
[root@localhost ~]#wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-community-client-5.7.29-1.el7.x86_64.rpm
RPM包,客户端实用程序
[root@localhost ~]# wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-community-common-5.7.29-1.el7.x86_64.rpm
Rpm包,MySQL配置
[root@localhost ~]# wget http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-community-libs-5.7.29-1.el7.x86_64.rpm
RPM包,共享图书馆
3.安装相关软件
三个相关软件
[root@localhost ~]# yum install -y net-tools.x86_64 libaio.x86_64 perl.x86_64
4.安装Mysql服务器
yum install -y mysql-community*
可能存在报错信息
解决方法:卸载冲突的软件包,再安装
[root@localhost ~]# yum remove -y mariadb-libs.x86_64
[root@localhost ~]# yum install -y mysql-community*
安装完毕的提示
5.启动Mysql服务器
[root@localhost ~]#systemctl start mysqld
[root@localhost ~]#systemctl enable mysqld
[root@localhost ~]#systemctl status mysqld
6.查询Mysql服务器默认密码
没有查到密码的原因,是因为没有启动成功。
[root@localhost ~]grep 'password' /var/log/mysqld.log
注意
冒号和空格的后面,全都是密码
7.修改Mysql服务器密码
mysqladmin -uroot -p'o:owVUfdn9Og' password 'QianFeng@123'
图示
8.登录Mysql系统
[root@localhost ~]# mysql -uroot -p’QianFeng@123’
源码包
准备编译环境
yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake
编译软件
wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
内存硬盘空间
注:此路径可能存在失效
安装mysql
准备源码包
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
tar xvf mysql-5.7.19.tar.gz
cd mysql-5.7.19
[root@mysql3 mysql-5.7.19]# pwd
/root/mysql-5.7.19
mv …/boost_1_59_0.tar.gz .
tar xf boost_1_59_0.tar.gz
注意包的位置
配置
[root@mysql-5.7.17 ~]# cmake .
-DWITH_BOOST=boost_1_59_0/
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DSYSCONFDIR=/etc
-DMYSQL_DATADIR=/usr/local/mysql/data
-DINSTALL_MANDIR=/usr/share/man
-DMYSQL_TCP_PORT=3306
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DDEFAULT_CHARSET=utf8
-DEXTRA_CHARSETS=all
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_EMBEDDED_SERVER=1
-DENABLED_LOCAL_INFILE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
常见错误
-DWITH_BOOST=boost_1_59_0
如果没有提前准备,可以使用下面的参数自己装。
-DDOWNLOAD_BOOST=1
-DWITH_READLINE=1 \ 5.6被移除
如果cmake失败,请将CMakeCache.txt缓存移除
编译
make
等待1个小时左右
安装
# make install
初始化
cd /usr/local/mysql
安装位置
mkdir mysql-files
chown -R mysql.mysql /usr/local/mysql
注意目录名称
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
会生产临时密码,在屏幕上。
保存临时密码。
G&fo/aAiA5RT
/usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
建立MySQL配置文件my.cnf
备份原有配置文件
[root@localhost mysql]# mv /etc/my.cnf ~
[root@mysql1 mysql]# vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
开机启动MySQL
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
# chkconfig --add mysqld
添加mysql服务
# chkconfig mysqld on
开机自动启动mysql服务
# service mysqld start
# ps aux |grep mysqld
mysql -u root -p ‘密码’ 登陆有问题吗?
/usr/local/mysql/bin/mysql -u root -p’x/dwiQ2<l:hb’
不要忘了配置新密码。
#/usr/local/mysql/bin/mysqladmin -u root -p ‘x/dwiQ2<l:hb’ password ‘QinFeng@123’
使用新·密码/usr/local/mysql/bin/mysql -u root -p’QinFeng@123’
show databases; 看到库即可。
忘记数据库密码如何操作
vi /etc/my.cnf
添加跳过密码命令
skip-grant-tables
进入数据库
use mysql