【Linux学习笔记22】mysql数据库的基本管理
文章目录
- 1. 数据库的介绍
- 2. 安装mysql并启用
- 3. 软件基本信息
- 4. 数据库的安全初始化
- 4.1 关闭数据库开放端口
- 4.2 执行安全初始化脚本
- 5. 数据库基本管理
- 5.1 数据库查看
- 5.2 数据库新建
- 5.3 数据库更改
- 5.4 数据库删除
- 6. 数据密码管理
- 6.1 数据库密码更改
- 6.2 数据库密码破解
- 7. 用户授权
- 7.1 创建本地用户
- 7.2 管理用户权限
- 7.3 删除用户
- 7.4 创建网络用户(不建议创建)
- 8. 数据库备份
- 8.1 数据库备份方法
- 8.2 恢复数据方法1
- 8.2 恢复数据方法2
- 9. Phpmyadmin 图形数据库管理方式 web
- 9.1. 安装
- 9.2 配置
- 9.3 访问
- 10. 重装本地数据库
1. 数据库的介绍
- 什么是数据库
- 高级表格软件
- 以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度的特点、是与应用程序彼此独立的数据集合
- 是依照某种数据模型组织起来并存放二级存储器中的数据集合
- 常见数据库
MySQL | Oracle | MongoDB |
DB2 | sqlite | SqlServer |
- mysql 介绍
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统(RDBMS)之一。
- mariadb
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。
2. 安装mysql并启用
- 安装
dnf search mariadb
:查找数据库
dnf install mariadb-server.x86_64 -y
:安装数据库
- 查看配置文件
rpm -qc mariadb-server
- 启用数据库服务
systemctl enable --now mariadb
3. 软件基本信息
- 启动服务:mariadb.service
- 默认端口号:3306
- 主配置文件 :
/etc/my.cnf.d/mariadb-server.cnf - 数据目录:/var/lib/mysql
(数据目录,当需要重新安装mariab时,需要清理此目录或者备份)
4. 数据库的安全初始化
4.1 关闭数据库开放端口
vim /etc/my.cnf.d/mariadb-server.cnf
:编辑主配置文件
skip-networking=1
#关闭数据库开放端口
systemctl restart mariadb.service
:重启数据库服务netstat -antlupe | grep mysql
:查询数据库端口(此命令查询不到端口
netstat参数 | |||
---|---|---|---|
参数 | 解释 | 参数 | 解释 |
-a |
显示所有选项 (默认不显示LISTEN相关) |
-t | 仅显示tcp选项 |
-u | 仅显示udp选项 | -n |
拒绝显示别名 (能显示数字的全部转化为数字) |
-l | 仅列出有在Listen(监听)的服务状态 | -p | 显示建立相关链接的程序名 |
-r | 显示路由信息、路由表 | -e | 显示扩展信息 |
-s | 按各个协议进行统计 | -c | 每隔固定时间,执行该netstat命令 |
4.2 执行安全初始化脚本
mysql_secure_installation
:初始化mysql -u用户名 -p密码
:登陆数据库(可不明文输入密码)
#登陆数据库方式
mysql -u用户名 -p
mysql -u用户名 -p -e "数据库命令"
mysql -u用户名 -p 数据库名 -e "数据库命令"
5. 数据库基本管理
5.1 数据库查看
SHOW DATABASES;
:显示数据库名称USE 数据库名;
:进入数据库SHOW TABLES;
:显示数据库中的表SELECT * FROM 数据库名.表名;
:查询表中所有数据(已经进入该数据库则可以不加数据库名)SELECT 字段1,字段2 FROM 数据库名.表名;
:查询指定字段(已经进入该数据库则可以不加数据库名)DESC 表名;
:显示表结构
5.2 数据库新建
CREATE DATABASE 数据库名;
:新建数据库新建表
USE westos; 进入数据库
CREATE TABLE 表名(-> 字段 类型 是否为空,-> Username varchar(10) not null,-> Password varchar(10) not null-> );
# '->'不是sql语句的一部分,表示一个新行
# ';'表示指令结束
DESC linux;
:显示表结构`- 插入数据
#给所有字段添加
INSERT INTO 表名 VALUES('值1','值2',...,'值n');
INSERT INTO 表名 VALUES ('值1','值2',...,'值n'),('值1','值2',...,'值n')...;#添加多组值
#给指定字段添加
INSERT INTO 表名 (字段1,字段2) VALUES('值1','值2');
INSERT INTO 表名 (字段1,字段2) VALUES ('值1','值2'),('值1','值2')...;#添加多组值
FLUSH PRIVIEGES;
:刷新数据库
5.3 数据库更改
ALTER TABLE 原表名 RENAME 新表名;
:更改表名称ALTER TABLE 表名 ADD 字段 类型;
:添加字段ALTER TABLE 表名 ADD 字段 类型 AFTER 已有字段;
:添加字段(位置在已有字段之后)UPDATE 表名 SET字段1=‘值1’,字段2=‘值2’ WHERE 字段=‘值’;
:更改数据ALTER TABLE 表名 DROP 字段名;
:删除字段
5.4 数据库删除
DELETE FROM 表名 WHERE 字段=‘值’;
:删除指定数据
#指定多个条件
DELETE FROM 表名 WHERE 字段1='值' AND 字段2='值';
DROP TABLE 数据库名.表名;
:删除表DROP DATABASE 数据库名;
:删除数据库
6. 数据密码管理
6.1 数据库密码更改
mysqladmin -uroot -p password 新密码
6.2 数据库密码破解
systemctl stop mariadb.service
:关闭数据库服务mysqld_safe --skip-grant-tables &
:启动数据库时跳过数据库的授权表mysql
:登陆
#修改密码(rhel8中)
UPDATE mysql.user SET authentication_string=password('新密码') WHERE User='root';
#修改密码(rhel7中)
UPDATE mysql.user Password=password('新密码') WHERE User='root';
#########
password()是为了防止密码裸漏,进行加密处理
ps aux | grep mysql
:查询mysql进程kill -9 进程号
:关闭mysql进程systemctl enable --now mariadb
:开启服务
7. 用户授权
7.1 创建本地用户
CREATE USER 用户名@localhost identified by ‘该用户密码’;
:只能用lcalhost登陆SELECT User FROM mysql.user;
:查看用户
7.2 管理用户权限
SHOW GRANTS FOR 用户名@localhost;
:查看用户权限GRANT 权限1,权限2 ON 数据库名.* TO 用户名@localhost;
:赋予用户权限(* 代表该库下所有表)REVOKE 权限1,权限2 ON 数据库名.* FROM 用户名@localhost;
:收回用户权限
7.3 删除用户
DROP USER 用户名@localhost;
:删除用户
7.4 创建网络用户(不建议创建)
CREATE USER 用户名@’%’ identified by ‘该用户密码’;
:创建用户(可以通过网络或localhost登陆)
#直接执行创建命令
mysql -uroot -p -e "CREATE USER 用户名@'%' identified by '该用户密码';"
vim /etc/my.cnf.d/mariadb-server.cnf
:修改主配置文件(打开数据库开放端口)
#skip-networking=1 注释掉(打开端口)
systemctl restart mariadb.service
:重启服务netstat -antlupe | grep mysql
:查询数据库端口mysql -u用户名 -p密码 -h访问的数据库主机IP
:远程或本地访问数据库
- 在node1中创建网络用户zynet
- 在node2中访问node1数据库
8. 数据库备份
8.1 数据库备份方法
mysqldump -u用户名 -p --all-databases
:备份所有数据mysqldump -u用户名t -p --all-databases --no-data
:备份所有数据,但是不备份数据内容(只有数据库名 表和字段)mysqldump -u用户名t -p 数据库名 > /mnt/数据库名.sql
:备份数据到指定位置
8.2 恢复数据方法1
mysql -u root -p -e “CREATE DATABASE westos;”
:创建数据库mysql -u root -p westos < /mnt/westos.sql
:恢复数据到指定数据库中
8.2 恢复数据方法2
vim /mnt/westos.sql
:修改备份数据库文件(添加创建并进入操作数据库语句)
CREATE DATABASE westos;
USE westos;
mysql -u root -p < /mnt/westos.sql
:恢复数据
9. Phpmyadmin 图形数据库管理方式 web
phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。其中一个更大的优势在于由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,但是您可以在任何地方使用这些程式产生的HTML页面,也就是于远端管理MySQL数据库,方便的建立、修改、删除数据库及资料表。也可借由phpMyAdmin建立常用的php语法,方便编写网页时所需要的sql语法正确性。
9.1. 安装
dnf install httpd -y
:安装Apachednf install php -y
:安装phpdnf install php-mysqlnd.x86_64 -y
:安装php内置mysql连接驱动- 下载phpMyAdmin到默认发布目录/var/www/html/
9.2 配置
tar jxf /var/www/html/phpMyAdmin-3.4.0-all-languages.tar.bz2
:解压缩cd /var/www/html/
:进入该目录
mv phpMyAdmin-3.4.0-all-languages myadmin
:重命名cd myadmin/
:进入该目录
cp config.sample.inc.php config.inc.php
:复制模板文件systemctl enable --now httpd
:打开httpd服务
systemctl restart httpd
:重启httpd服务
9.3 访问
firefox访问http://192.168.43.101/myadmin/
10. 重装本地数据库
systemctl stop mariadb
:关闭数据库服务rm -fr /var/lib/mysql/
:删除数据目录dnf reinstall mariadb-server.x86_64 -y
:重装数据库
【Linux学习笔记22】mysql数据库的基本管理相关推荐
- Qt学习笔记之MySQL数据库
一.MySQL概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQ ...
- MySQL学习笔记 | 04 - MySQL数据库基本操作(增加、修改、删除、查看)
MySQL学习笔记 | 01-为什么要使用数据库 MySQL学习笔记 | 02 - MySQL在Windows下的安装.配置.服务启动/停止.用户登录.查看版本号 MySQL学习笔记 | 03 - M ...
- 【学习笔记】MySQL数据库高级版 - 索引优化、慢查询、锁机制等
本文是尚硅谷周阳(阳哥)老师的MySQL高级篇视频的学习笔记.由于视频比较老,所以在高版本的MySQL中索引的地方做了优化,和视频的内容不完全一样,不过大体一致.从第四节锁机制开始的部分还没有整理. ...
- 学习笔记(03):MySQL数据库运维与管理-01-mysql通用日志与错误日志
立即学习:https://edu.csdn.net/course/play/10084/214943?utm_source=blogtoedu MYSQL日志管理 用于实现MYSQL数据库故障排查2, ...
- 学习笔记(02):MySQL数据库运维与管理-03-状态变量及查看方法
立即学习:https://edu.csdn.net/course/play/10084/221706?utm_source=blogtoedu MySQL状态变量 作用:反映当前mysql数据库服务器 ...
- python连接mysql很慢 2.7_Python 2.7 学习笔记 访问mysql数据库
一.基本概念 使用python操作数据库,其基本的流程如下(其实所有开发语言访问数据库的流程都是这样). 1.第一,引入相应数据库的python数据库接口模块,针对不同的数据库类型,有不同的数据库访问 ...
- Linux全攻略--MySQL数据库配置与管理
MySQL是一种精巧的,多用户和多线程的中小型SQL数据库系统,由一个服务器守护进程mysqld和很多不同的客户程序和库组成.现在形成了一个"Linux+Apache+PHP+MySQL&q ...
- mysql linux附加数据库文件夹,Linux全攻略--MySQL数据库配置与管理
MySQL是一种精巧的,多用户和多线程的中小型SQL数据库系统,由一个服务器守护进程mysqld和很多不同的客户程序和库组成.现在形成了一个"Linux+Apache+PHP+MySQL&q ...
- Linux学习笔记之环境配置和常用管理命令
一.环境配置 修改ip地址(略过) 1.网络通信命令 <1> ping 测试网络的连通性 ping 选项 IP地址 -c 指定发送次数 <2> ifconfig 查看和设置网卡 ...
最新文章
- Django mysql 多线程_【实例:利用Django管理后台管理IP地址】(四)Django test+多线程+数据库+(踩坑)...
- Go 开源说第五期:MOSN Go语言网络代理软件
- Oracle计算时间差表达式
- Linux下创建用户、切换用户、删除用户
- linux c嵌入汇编语言,Linux 下的C和Intel 汇编语言混用
- 机器学习-cs229-线性回归-梯度下降法
- 在飞音G801上运行OpenWRT+Asterisk
- RancherOS v1.5.0发布
- python之Django学习笔记(五)---后台(admin.py)Action使用
- 区块链技术应用——站在风口上猪都会飞
- 1 Linux系统性能测试与监测工具汇总
- eclipse 环境安装
- VMware虚拟机安装及虚拟机下安装XP系统
- 前端3D轨迹可视化渲染
- 从新电脑开始构建FATE环境,图文并茂
- mc洪磊-2012经典语言大合集 音乐无处不在 老婆无人替代 好听音乐 就用酷狗
- Win7中删除桌面IE图标
- cv::Mat转换为QImage错误
- 计算机主板电感有正负极么,功率电感有没有方向?正负极区分
- iOS生成gif图片