Linux下的mysql数据库使用【精】

MySQL数据库

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。

MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。

MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

本次我们主要学习mysql数据库的一些基础内容:数据添加,增删改查,授权管理,图形化管理等内容。从基础方面,了解mysql数据库的使用方法。

【环境搭建:】
在server主机上,reset重置环境后:
》1.更改主机名称为:mysql.server.com
》2.设置网络
》3.搭建yum仓库,挂载好yum源
》4.真机ssh连接虚拟机,直接真机上进行远程连接操作

单 独 的 一 份 数 据 为 一 个 t a b , 多 个 t a b 为 库 , 多 个 库 为 软 件 \color{blue}{单独的一份数据为一个tab,多个tab为库,多个库为软件} tabtab

【mariadb服务安装:提供mysql数据库】

在这里插入图片描述

yum search mariadb
yum install mariadb-server.x86_64
systemctl start mariadb 

【开启服务时,卡住的话需要在另一个shell中,或者无图形界面输入任意字符。原因是加密字符长度不够】

在这里插入图片描述
在这里插入图片描述

【常规化安全设置:】

此时我们其实已经可以使用mysql数据库了,但是没有任何安全设置的mysql数据库,可以直接通过指令mysql登陆。很不安全。所以要进行安全设置:

mysql_secure_installation

在这里插入图片描述
在这里插入图片描述
现在我们就不可以直接通过mysql指令,匿名,无密码进行登陆数据库了。

在这里插入图片描述
安全设置上,我们使用netstat -antlupe | grep mysql去查看mysql接口状态,会发现是有接口的,那么就有可能会被网络连接,造成数据库被访问。所以我们还要去除网络接口。

vim /etc/my.cnf             ###编辑mysqld配置文件
	skip-networking=1   ###写在mysql中【不是写在mysql_safe】

在这里插入图片描述
在这里插入图片描述
在 正 式 的 使 用 m y s q l 数 据 库 前 我 们 要 做 的 就 是 以 上 的 两 方 面 安 全 设 定 。 下 面 进 入 m y s q l 使 用 \color{blue}{在正式的使用mysql数据库前我们要做的就是以上的两方面安全设定。下面进入mysql使用} 使mysqlmysql使
提 前 说 明 , 在 m y s q l 数 据 库 中 其 实 是 不 区 分 大 小 写 的 , 不 过 为 了 正 规 , 我 们 都 是 用 大 写 。 \color{blue}{提前说明,在mysql数据库中其实是不区分大小写的,不过为了正规,我们都是用大写。} mysql

mysql -uroot -p    ###登陆
SHOW DATABASES;    ###查看数据库
USE mysql;         ###进入数据库
SHOW TABLES;       ###查看数据库中的内容【有哪些表】
SELECT * FROM user;  ###查看user这个表;一列为一个字段
SELECT * FROM 表.
SELECT Host FROM user;  ###查询Host字段 
SELECT Host,User FROM user;   ###查询Host,User两个字段
SELECT Host,User,Password FROM user WHERE User="root";  ###查询行

查询:

我们使用 * 来代表所有字段,即所有列。当要查询行时,需要使用WHERE进行匹配查询。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
建立:

CREATE DATABASE xyy;  ###创建库
USE xyy; ###进入库
CREATE TABLE userlist(
	username VARCHAR(50) NOT NULL,    ###名字长度50个字符以内,不为空
	password VARCHAR(100) NOT NULL    ###密码长度为100个字符以内,不为空
	);                                ###字段之间用逗号","隔开
SHOW TABLES;     ###查看有哪些表
DESC userlist;   ###查看表结构
SELECT * FROM userlist;                     ###查看表内容
INSERT INTO userlist VALUES ("abc","123");  ###给表中写内容
SELECT * FROM userlist;          ###查看表内容                    
SELECT * FROM xyy.userlist ##查看westos库中的userlist表

varchar 可变长数据类型
varchar(5) 长度为1-5都可以
char 定长数据类型
char(5) 长度必须为5,不为5,后续空格补齐
在这里插入图片描述
在这里插入图片描述
更改:

DROP TABLE userlist1;    ###删除表
ALTER TABLE userlist RENAME user_list;  ###给userlist这个表重命名为user_list
ALTER TABLE userlist ADD age VARCHAR(5);   ###给表最后一列添加age这一列
ALTER TABLE userlist DROP age;   ###删除userlist表中age这一列 ;【当表中只有1列时,不能删除这一列,需要直接删除表】
UPDATE userlist SET age="12" WHERE username="lee"; 更改数据,只更改符合username="lee"的这一行

库备份/删除:

mysqldump -uroot -p 库名 > /mnt/库名.sql   ###采用mysql语句备份,将库备份到mnt下,以库名.sql名字
mysqldump -uroot -p 库名 --no-data  ###只备份格式,不备份表中数据
mysqldump -uroot -p --all-database  ###备份所有库

mysql -uroot -p westos < /mnt/westos.sql
  ###会报错,因为我们将westos这个库已经删除。
  【解决方法为】vim /mnt/westos.sql 
  注释后的第一行添加
  CREATE DATABASE westos;
  USE westos;
然后    mysql -uroot -p  < /mnt/westos.sq

   或者重新建立库,再执行备份恢复
  mysql -uroot -p -e "CREATE DATABASE westos;"

DELETE FROM 表 WHERE username="lee"; 
DELETE FROM 表 WHERE username=("lee"|"lee1");
 删除用户名为这两个的所有行内容
DELETE FROM 表 WHERE username="lee" AND age="12" 
删除多个条件指定的内容
DROP DATABASE 库名     ###删除库

在这里插入图片描述
用户建立:

CREATE USER westos@'%' identified by'westos'; 
 ##用户建立 【%:有远程登陆的权力】【localhost:本地登陆】【by后面跟密码】
vim /etc/my.cnf   ###打开端口
systemctl stop firewalld  ###关闭火墙

测试远程登陆:
yum whatprovides mysql 
yum install mariadb-5.5.52-1.el7.x86_64   ###安装提供数据库的mariadb
mysql -uwestos -h172.25.254.100 -p   ###IP为数据库主机的IP   ,远程连接

这里直接演示一下远程登陆。本地登陆不做演示了。
在这里插入图片描述在这里插入图片描述

用户授权:超户状态授权

SHOW GRANTS FOR westos1@localhost;   ###查看westos1@localhost的权力
GRANT SELECT,INSERT ON westos.* TO lee@localhost;  
###对westos库中所有表格都给予lee@localhost用户select查看表和insert在表中写内容的权限
REVOKE INSERT ON westos.* FROM lee@localhost; 
 ###移除westos库中所有表lee@localhost用户的写权限
DROP USER westos@localhost  ###删除westos@localhost用户
FLUSH PRIVILEGES;刷新数据库

【在测试端没退出时改变权限进行测试,是没有效果的】

########westos@loacal 和 westos@’%’ 是两个用户

在这里插入图片描述
在这里插入图片描述

密码管理:

**知道密码时:

mysqladmin -uroot -pwestos password lee**

在这里插入图片描述

不知道密码时:

systemctl stop mariadb 先关掉mariadb

并把后台mariadb清空

ps -aux | grep mysql
关掉后台mysql和进程中的mysql
mysqld_safe --skip-grant-tables &跳过授权表,没有授权,就可以更改权限
mysql
USE mysql;
SHOW TABLES
SELECT * FROM user;
UPDATE user set Password=password('westos') WHERE User='root';
quit

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

图形管理mysql:

准备内容:phpMyAdmin 软件 【从老师那考的】
我们用的是phpMyAdmin,所以要安装php

yum install php php-mysql -y
systemctl restart httpd 【没有httpd服务还需要下在http】
tar jxf phpMyAdmin-3.4.0-all-languages > /var/www/html  【解压到var/www/html目录中,可共享】
mv phpMyAdmin-3.4.0-all-languages mysqladmin 【重命名】【可省略】
cd mysqladmin 【进入这个目录】
cp config.sample.inc.php config.inc.php  ###把模版复制一个
vim config.inc.php
	$cfg【'blowfish_secret'】='ba17c1ec07d65003'

测试:
在浏览器:http://172.25.254.112/mysqladmin
注意selinux 和 火墙的状态,selinux处于enforcing会使http无法访问mysqladmin

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过less Documentation.txt查看说明,会告诉我们在config.inc.php中要写入的内容:

在这里插入图片描述
在这里插入图片描述
测试:在浏览器访问服务器的/mysqladmin

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


                        大大的小小阳
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值