Linux之MySQL基础

一、关于数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,2008年被Sun公司收购,目前属于 Oracle 旗下产品。MySQL 是最流行的数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。其和php是黄金搭档**(LAMP/LNMP)**。
在这里插入图片描述目前市场上还有:Oracle(重量级的数据库)、MS SQL Server(微软)、Access(微软)、PostgreSQL、DB2、Mariadb(MySQL分支,完全兼容MySQL)。

二、安装方法的介绍

操作之前确保计算机时间准确

  1. a. 源码包(建议)

    优点
    开源,如果有足够的能力,可以修改源代码
    编译安装,更加适合自己的系统,稳定高效
    缺点
    安装步骤较多,**容易出错**
    编译过程时间较长
    

    案例:使用源码编译安装方式安装ncurses(一种常用的终端库)

    扩展:解包
    			常用语法:
    					#tar  -zxvf  *.tar.gz		(大多数)
    					#tar  -jxvf  *.tar.bz2
    			选项含义:
    			-z或--gzip或--ungzip:通过gzip指令处理文件;
    			-x或--extract或--get:从文件中还原文件;
    			-v:显示操作过程;
    			-f或--file:指定一个文件;
    			-j:支持bzip2解压文件;
    

    ①先将软件包传递到服务器上“/usr/local/src”
    确保上传成功在这里插入图片描述
    ②解压需要安装的源码包
    tar -zxvf ncurses-6.1.tar.gz在这里插入图片描述查看是否解压成功在这里插入图片描述

    ③安装
    切换到源码文件夹,然后执行后续操作

    配置(config/configure/bootstrap)→编译(make/bootstrapd)→安装(make install/bootstrapd install)

    配置:指定软件的安装目录、需要的依赖在什么地方、指定不需要可选的依赖、配置文件的路径、通用数据的存储位置等等。
    指定安装的路径: --prefix=路径
    需要依赖的路径: --with-PACKAGE=包 所在的路径
    不需要依赖: -without-PACHAGE 名

    配置
    ./configure --prefix=/usr/local/ncurses
    在这里插入图片描述配置过程
    在这里插入图片描述

    配置步骤
    在这里插入图片描述
    编译步骤
    make在这里插入图片描述编译过程

    在这里插入图片描述
    编译成功在这里插入图片描述
    安装
    make install
    在这里插入图片描述
    安装过程在这里插入图片描述
    安装完成在这里插入图片描述
    查看是否安装完成在这里插入图片描述

  2. b. 二进制包(rpm)

    优点: 包管理系统简单,只需要几个命令就可以实现包的安装,升级,查询和卸载
    缺点: 经过编译,不再可以看到源代码
    

    回顾rpm相关指令:
    #rpm -qa|grep 关键词
    #rpm -e 关键词 [–nodeps]
    #rpm -ivh 完整名称
    #rpm -Uvh 完整名称
    #rpm -qf 文件路径 【查询指定文件属于哪个包】
    在这里插入图片描述
    案例:使用二进制包安装lynx(一款纯命令行的浏览器)
    在光盘中有
    插卡光盘是否挂载
    lsblk在这里插入图片描述
    安装
    在这里插入图片描述
    检测是否安装成功
    例如:查看百度:lynx --dump www.baidu.com
    在这里插入图片描述

  3. yum等傻瓜式安装

    优点: 安装简单,快捷
    缺点: 完全丧失了自定义性
    注意:如果不更改软件来源的情况下,是需要联网才能使用yum的。
    
    常用的yum指令:
    #yum  list   [installed]   		列出当前已经装的和可以装的软件(全部)
    #yum  search	名       		搜索指定的关键词的包
    #yum  [-y]  install   包名		安装指定的包(-y表示允许不再确认)
    #yum  [-y]  update  [包名]		更新指定的包,不指定包则更新全部软件
    #yum  [-y]  remove  包名		卸载指定的包
    

    案例:删除火狐。
    yum remove firefox
    在这里插入图片描述
    安装火狐
    yum install firefox。

三、安装MySQL

此处以yum安装为例。

①MySQL的安装

指令:yum install mysql-server 在这里插入图片描述
完成效果在这里插入图片描述
②MySQL的初始化
service mysqld start。首先启动进程在这里插入图片描述查看端口号在这里插入图片描述
指令:mysql_secure_installation
在这里插入图片描述
Enter current password for root (enter for none):请输入当前root用户的密码,如果没有按回车,注意此root并非linux的root用户

Set root password?是否设置root密码?

Remove anonymous users?是否移除匿名用户,选择移除(Y)

Disallow root login remotely?是否不允许root远程登录(默认不允许)

Remove test database and access to it?是否移除测试数据库(建议先不移除)

Reload privilege tables now?是否重新加载权限表(当我们更改了mysql用户相关的信息之后建议去重载权限)

初始化完成
在这里插入图片描述
③MySQL的启动控制
语法:service mysqld start/stop/restart

进入MySQL的方式:
语法:mysql -u 用户名 -p 在这里插入图片描述

退出MySQL到linux命令行:
mysql > exit
在这里插入图片描述
④默认目录/文件位置
数据库存储目录:/var/lib/mysql
配置文件:/etc/my.cnf
在这里插入图片描述

四、MySQL的备份与还原(重点)

①备份

全量备份(数据+结构):#mysqldump -uroot -p123456 -A > 备份文件路径
指定库备份(数据+结构):# mysqldump -uroot -p123456 库名 > 备份文件路径
多个库备份(数据+结构):# mysqldump -uroot -p123456 --databases db1 db2 >  备份文件路径

案例:备份整个库在这里插入图片描述
案例:每1分钟自动备份1次test数据库在这里插入图片描述
计划任务编写:在这里插入图片描述
等待几分钟观察目录情况:在这里插入图片描述
②还原(导入)
还原部分分(1)mysql命令行source方法 和 (2)系统命令行方法

1.还原全部数据库:
(1) mysql命令行:mysql> source 备份文件路径
(2) 系统命令行: #mysql -uroot -p123456 < 备份文件路径

2.还原单个数据库(需指定数据库)
(1) mysql> use 库名
mysql> source 备份文件路径
(2) #mysql -uroot -p123456 库名 < 备份文件路径

3.还原单个数据库的多个表(需指定数据库)
(1) mysql> use 库名
mysql> source 备份文件路径
(2) mysql -uroot -p123456 库名 < 备份文件路径

4.还原多个数据库,(一个备份文件里有多个数据库的备份,此时不需要指定数据库)
(1) mysql命令行:mysql> source 备份文件路径
(2) 系统命令行: mysql -uroot -p123456 < 备份文件路径

案例1:人为删除xg表(模拟数据表丢失),然后通过最后一次备份还原数据表。
先删除数据表
在这里插入图片描述
还原操作:
在这里插入图片描述
案例2:需要还原sql文件到test库(mobile.sql 31万条数据)
在这里插入图片描述
设置Mysql连接字符集:
Mysql> set names utf8; 【三码一致,服务器端+传输过程中+客户端】
在这里插入图片描述

五、MySQL的远程管理工具

分为两大类:
B/S(浏览器/服务器)例如:百度搜索应用
C/S(客户端/服务器)例如:QQ、电脑端微信、游戏

在BS中,MySQL有个典型的工具:PMA(phpMyadmin)。
在CS中,MySQL有个典型的工具:Navicate。

为了解决MySQL不能远程登录在这里插入图片描述
a. 先进入数据库选择mysql数据库;
b. 执行sql语句:select host,user from user;
在这里插入图片描述
c. 将其中的一个记录的host值改为“%”,表示可以允许任何地方登录在这里插入图片描述
d. 刷新权限表或者重启mysql
刷新权限:mysql> flush privileges;

猜你喜欢

转载自blog.csdn.net/qq_44796093/article/details/108826005
今日推荐