Linux之MySQL操作

1 篇文章 0 订阅

Mysql基本操作

1、Mariadb的安装和启动

kali操作系统中需要使用apt-get 命令来执行安装操作
安装:apt-get -y install mariadb-server
启动:systemctl start mariadb
开机自启:systemctl enable mariadb
修改密码:mysqldamin -u用户名 -p旧密码 password ‘新密码’;

2、数据库操作(不区分大小写,但是建议用大写,语句的可读性好)

连接数据库:mysql -u用户名 -p密码;
列出数据库:SHOW DATABASES;
选中要使用的数据库:USE 数据库名;
列出库中的表:SHOW TABLES;
创建新库:CREATE DATABASE 库名;
删除库:DROP DATABASE 库名;
创建表:CREATE TABLE 库名.表名(字段 类型,字段1 类型1);
删除表:DROP TABLE 库名.表名;
检查表格的列设置:DESCRIBE 库名.表名;
插入新的记录:INSERT INTO 库名.表名 VALUES (值1,值2,…);
查看表中的记录:SELECT * FROM 库名.表名;
查看建表语句:show create table 表名;

3、数据库表记录的操作


添加一条记录,给每一个列(字段)赋值:
insert into 库名.表名 values(值列表);
添加多条记录,为每一列赋值
insert into 库名.表名 values(值列表1),(值列表2)…;

添加一条记录,为部分字段赋值
nsert into 库名.表名(字段名列表) values(值列表);
添加多条记录,为部分字段赋值
insert into 库名.表名(字段列表) values(值列表1),(值列表2)…;

删除表中所有的记录
delete from 库名.表名
只删除部分
delete from 库名.表名 where 条件表达式;

修改表中的每一条记录
update 表名 set 列名=值,列名2=值,…;
修改符合条件的部分记录
update 表名 set 列名=值,… where 条件表达式;

列出所有记录的所有字段
select * from 库名.表名;
列出部分字段
select 字段1,字段2,字段3… from 库名.表名
注释:如果字段与字段之间没有 ,分隔,则默认后一个字段是前一个字段的别名。
筛选,使用where 条件子句 进行查询
匹配的符号:= != > >= < <= and or
范围匹配:in(值列表) 属于列表中的数据。
not in (值列表) 不属于列表中的数据
between and 在两个范围之间的记录
模糊查询:like _代表一个不确定的字符,%代表多个不确定字符
在where 中使用字段则直接写,加上 ‘ ’ 表示一个字符串

4、grant权限

用户权限管理的作用是限制用户访问那些库、表,
限制对哪些表进行操作,select、create、delete、alter等。
限制用户登录的ip或者域名
限制用户自己的选线是否可以授权给其他用户。
具体操作
交互指令:GRANT 权限 ON 数据库名.表名 TO ‘用户名’@‘来源地址’ IDDENTIFIED BY ‘密码’;
参数注释:数据库名.表名 可以是*.* 表示所有数据库的所有表
权限列表:all select update insert delete
来源地址:localhost 指的是从本机登录
192.168.10.%表示从192.168.10.0/24网段登录,%是一个通配符,匹配一个网段。
用户名,密码存在与数据库中。
如果用户名不存在,grant会自动创建。

列出指定用户或者自己的权限: SHOW GRANTS [‘用户名’@‘客户机地址’];
取消指定用户授权:REVOKE 权限列表 ON 数据库名.表名 FROM ‘用户名’@‘来源地址’;

刷新权限,将权限信息写入数据库:flush privileges;

5、数据库的备份和恢复

mysqldump -u用户名 -p密码 库名 > 备份文件.sql 导出数据库的备份
mysqldump -u用户名 -p密码 --databases 库名1 库名2 > 导出文件.sql
mysql -u用户名 -p密码 库名 < 备份文件.sql 导入单个数据库
mysql -u用户名 -p密码 < 备份文件.sql 导入多个数据库

6、密码的重置

跳过授权:systemctl stop mariadb //停止服务 使加载user表
mysqld_safe --skip-grant-tables & //直接启动服务 --skip-grant-tables绕过验证
mysql -uroot //免密码登录
flush privileges //刷新
set password for root@localhost=password(‘pwd@123’); //设置新密码
quit;
强制关闭mysql_safe
pkill -9 mysqld //强杀mysqld进程
systemctl restart mariadb
mysql -uroot -ppwd@123
点击产看sql多表联合查询

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值