当前位置: 首页 > article >正文

Linux下使用MySql数据库

MySql是一套给用户提供数据存取的服务的网络程序,数据库一般指的是在磁盘或者内存中存储的特定结构组织的数据。MySql本质:基于C(mysql)S(mysqld)模式的一种网络服务,数据库服务-mysqld。

环境配置

ps ajx|grep mysql  查看mysql

rpm -qa|grep mysql 查看mysql安装包

rpm -qa|grep mysql|xargs yum -y remove 卸载mysql安装包

cat /etc/redhat -release 查看版本号

ls /etc/yum.repos.d/ -l 查看系统默认支持的yum源

yum list|grep mysql 查看mysql的yum源

yum install -y mysql-community-server 安装mysql

ls /etc/my.cnf 查看是否安装成功

which mysqld 查看mysql服务端应用程序

which mysql 查看mysql客户端

systemctl start mysqld 启动mysql服务

systemctl stop mysqld 停止mysql服务

systemctl restart mysqld 重启mysql服务

netstat -nltp 查看mysql对应服务端口号

vim /etc/my.cnf 打开mysql配置文件

添加: skip-grant-tables 跳过密码认证

systemctl enable mysqld/systemctl daemon-reload 开机自启动

system clear;/ctrl+l  清屏

mysql语句分类

DDL data definition language 数据定义语言,用来维护存储数据的 结构
代表指令 : create, drop, alter
DML data manipulation language 数据操纵语言,用来对 数据 进行操作
代表指令: insert delete update
DML 中又单独分了一个 DQL ,数据查询语言,代表指令: select
DCL Data Control Language 数据控制语言,主要负责权限管理和事务
代表指令: grant revoke commit

mysql语句

登录

mysql -uroot -p 登录mysql

一般情况下登录mysql的命令是:mysql -h 127.0.0.1 -p 3306 -u root -p 密码

-h后面指明登录部署mysql服务的主机

-p后面指明要访问的端口号

-u后面指明用户

-p后面输入用户密码

select user(); 查看当前用户名和ip

操作

show databases; 显示所有数据库

create database xxx;建立一个名为xxx的数据库

use xxx;使用xxx数据库

建立数据库,本质就是建立Linux下的一个目录。在数据库内建表,本质就是在Linux下创建对应的文件即可。数据库本质其实也是文件!只不过这些文件并不由程序员直接操作,而是由数据库服务(mysqld)帮我们进行操作。

show tables;查看数据库中的所有表

desc xxx;查看xxx表结构

select* from xxx;查看xxx表中数据

show engines;查看存储引擎

show charset;查看数据库支持的字符集

show variables like 'collation_database';查看系统默认字符集及校验规则

创建数据库的时候,有两个编码集(数据库无论对数据进行任何操作,都必须保证操作和编码必须一致):

1.数据库编码集--数据库未来存储数据。

2.数据库校验集--支持数据库进行字段比较使用的编码。本质也是一种读取数据库中数据采用的编码格式。

create database xxx charset=utf8;/create database xxx charact set utf8;创建名为xxx使用utf8字符集的数据库

create database xxx charset=utf8 collate utf8_general_ci;创建名为xxx使用utf8字符集和校验规则的数据库

drop database xxx;删除名为xxx的数据库

create table student(//建立一个名为student的数据表

        name varchar(32);

        age int;

);

insert into student (name,age) values('张三',20);向表中插入数据

update 表名 set 列名1=xxx where 列名2=xxx;更改列名2中列名1的数据

truncate 表名;清空表中数据(计数器归1,delete数据计数器不变)

create table 新表名 like 原表名;创建一个跟原来一样的新表

insert into 新表名 select distinct* from 原表名;把原表中的数据去重插入新表

rename table 原表名 to 新表名;表重命名

select* from 表名 where 字段名='xxx';查找表中xxx字段名的数据

select* from 表名 order by 字段名 acs;对表中字段进行升序排序(默认升序)

select* from 表名 order by 字段名 desc;对表中字段进行降序排序

select database();查看自己当前在哪个数据库里

alter database 库名 新内容;修改数据库的内容

show create database 库名;查看创建数据库的库名

备份

source /home/xx/xx/xx.sql;还原sql

mysqldump -p 3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径

mysqldump  -u root -p 数据库名 表名1 表名2 > 文件路径 备份数据库的表

mysqldump -u root -p -B 数据库名1 数据库名2 ...>文件路径 备份多个数据库

如果备份一个数据库时,没有带上-B参数,在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原

show processlist;显示操作数据库的所有用户及命令

权限

create user '用户名' @'登陆主机(localhost本机)/ip' identified by '密码';创建用户

flush privileges;刷新内存

drop user '用户名'@'主机名';删除用户

set password= password ('新密码');普通用户修改密码

set password for '用户名' @ '主机名'= password('新密码');root用户修改指定用户密码

grant 权限列表 on 库名.表名 to '用户名'@'登陆位置'[identified by '密码'];给用户授权

show grants for '用户名'@'主机/ip';查看授权语句

revoke 权限列表 on 库名.表名 from '用户名'@'登陆位置';回收权限


http://www.kler.cn/a/507199.html

相关文章:

  • 【进程与线程】进程的状态
  • 告别 Excel,拥抱 R 语言:开启数据分析新时代
  • django在线考试系统
  • 爬虫请求失败时如何处理?
  • PostgreSQL技术内幕22:vacuum full 和 vacuum
  • 抢十八游戏
  • 采用海豚调度器+Doris开发数仓保姆级教程(满满是踩坑干货细节,持续更新)
  • 浏览器中的Markdown编辑器
  • 【2024年华为OD机试】(B卷,100分)- 相对开音节 (Java JS PythonC/C++)
  • java常用开发工具类
  • uniapp 自定义日历组件 源码
  • Spring Boot中的自动配置原理是什么
  • 2025智能网联汽车数据分类分级白皮书
  • redis(2:数据结构)
  • 【云岚到家】-day03-门户缓存方案选择
  • 策略模式详解与应用
  • npm : 无法加载文件 D:\phpdev\nodejs\npm.ps1
  • 【数模学习笔记】插值算法和拟合算法
  • springBoot项目使用Elasticsearch教程
  • docker hello world
  • leetcode 115. 不同的子序列
  • JWT在线解密/解码 - 加菲工具
  • 【人工智能】Python中的自动化机器学习(AutoML):如何使用TPOT优化模型选择
  • 【MySQL实战】mysql_exporter+Prometheus+Grafana
  • 关于jwt和security
  • java day04-面向对象基础(内存 封装 继承 修饰符 工具类 )