mariaDB(数据库)-安装配置和使用

本文详细介绍了MySQL的基本使用,包括登录方法、常用命令如查看数据库状态、创建和管理库、表以及用户权限设置。还涉及了如何修改密码、导入数据、查看和设置内置参数,以及MySQL用户管理的高级操作,如添加、修改和删除用户及其权限。同时提到了与Java开发相关的学习资源和面试福利。
摘要由CSDN通过智能技术生成

基本配置就完成了

mysql使用及常用命令


登陆mysql语法:

mysql -u用户名 -p当前密码 -h服务器的ip(客户端才需要指定ip,并且服务端需要配置)【登陆当前服务器,不需要-h】

记住:选项和后面的值是没有空格的

  • 不需要指定用户和么有密码直接输入mysql ,进入mysql的子系统:

在这里插入图片描述

在mysql中即可执行若干命令;

查看mysq详细

status

在这里插入图片描述

命令结尾说明

注:在mysql提示符下敲命令的时候,一般都要以; 或者\G结束,更多的时候使用 ;结束,\G一般用户格式化输出,如果没有以 ; 结束的话,系统就会认为命令没有完成,不执行。 凡事以#或者--开头的语句,都认为是注释。

  • ; 结尾

在这里插入图片描述

  • \G 结尾(会格式化并排版)

在这里插入图片描述

所以如果命令太长的话,可以任意的换行。

查看所有库

所谓的库–> 可以把她理解为 文件夹(担文件夹不能再建文件夹), 在这个库里,存有多个excel表格,这个excel表格就是我们所说的表。

show databases;

在这里插入图片描述

查看当前所属库

为NULL就是当前不属于任何库:select database();

在这里插入图片描述

进入到某个库

use 库名;

在这里插入图片描述

创建新的库

create databases 新建库名;

在这里插入图片描述

查询某个库的详细信息

show create database 需查询库名;

在这里插入图片描述

导入数据

先进入一个库,然后使用source 数据路径【虚拟机中路径】 即可

MariaDB [(none)]> use legacy

Database changed

MariaDB [legacy]> source /root/mariadb.dump; # 导入数据

Query OK, 0 rows affected (0.00 sec)

MariaDB [legacy]> show tables;

±-----------------+

| Tables_in_legacy |

±-----------------+

| category |

| manufacturer |

| product |

±-----------------+

3 rows in set (0.00 sec)

修改某个库的 编码

show create database 库名 character set 编码(charset=编码 亦可);

在这里插入图片描述

删除某个库

drop database 需删除的库名;

在这里插入图片描述

复制表

create table bb as select * from aa;

现在aa中的数据就复制到bb里了

在这里插入图片描述

复制表结构

create table cc like aa;

现在aa表的结构就复制到cc里了

在这里插入图片描述

复制表内容(一般用于复制表结构后使用)

insert into cc select * from aa;

现在aa表里的内容就复制到cc里了

在这里插入图片描述

查看mysql所有内置参数

show variables

注:如果需要调优mysql中的某些参数,查看后写入到配置文件中时,需要把下划线改为中横线,如:show variables list "%char%set%ser%";(%是通配符,1个或多个)

在这里插入图片描述

写入配置文件中后,下划线变为中横线:

在这里插入图片描述

上述只是 mysql最基本的使用


更加详细的参考博客:MySQL使用大全和JDBC使用_五万字的详细笔记

mariadb的用户管理


介绍

  • 登陆mysql语法:

mysql -u用户名 -p当前密码 -h服务器的ip【登陆当前服务器,不需要-h】

记住:选项和后面的值是没有空格的

mysqladmin是操作系统命令。

mysql 进入子系统后

查看当前登陆用户

select user();

在这里插入图片描述

查看所有用户信息

desc mysql.user;

在这里插入图片描述

但只有前三项才需要关注,所以过滤一下:select user,host,password from mysql.user;

在这里插入图片描述

如:host字段指的是 允许这个用户可以从哪个客户端登陆。

user@host 这样才算是一个完整的用户

修改mysql用户密码

修改单独用户密码:
  • 方法一:mysqladmin -uroot -p当前密码 password '新密码'

如果当前用户没有密码的话,-p 是可以不写的。

  • 方法二:set password for 指定的用户=password('新密码');

如果不需要指定用户:set password=password('新密码');

在这里插入图片描述

  • 方法三:update mysql.user set password=password('新密码') where user='user用户名' and host='host名' ;

该方法有风险,如果where及后面的内容没写,就是修改所有表用户的密码了

在这里插入图片描述

利用该方法修改密码后,刷新一下 新密码才可以用:flush privileges;

修改所有用户的密码

update mysql.user set password=password('新密码');

就是修改表的形式。

利用该方法修改密码后,刷新一下 新密码才可以用:flush privileges;

在这里插入图片描述

忘记密码后处理

比如 忘记了mysqlroot密码,需要重置该密码;

  • 方法一:

vi /etc/my.cnf

在里面加入一行:skip-grant-tables

这样再次进入就相当于进入安全模式了,再次进入就不需要密码了

在这里插入图片描述

重启服务:systemctl restart mariadb

然后直接mysql即可进入系统,再次以当前无密码的方式设置密码即可:

注:安全模式不能以该方法修改,会报错:set password=password('新密码');在这里插入图片描述

只能以修改表方式:update mysql.user set password=password('新密码') where user='root' and host='localhost'; 然后刷新:flush privileges;

在这里插入图片描述

quit退出mysql,再次vi /etc/my.cnf,把skip-grant-tables删除或者注释掉

在这里插入图片描述

重启服务:systemctl restart mariadb 密码重置完成。

  • 方法二:

先停止mariadb服务:systemctl stop mariadb

以安全模式进入mariadb:mysqld_safe --skip-grant-tables

在这里插入图片描述

此时当前窗口是无法做任何操作了,所以需要复制一个当前窗口,在新窗口中进入mysql系统便不需要密码了,然后在里面用表方式修改密码并刷新即可:

update mysql.user set password=password('新密码') where user='root' and host='localhost'; 然后刷新:flush privileges;在这里插入图片描述

quit退出数据库。但此时,以安全模式进入mariadb的窗口是无法结束的,即使ctrl+c 也不行,只能通过kill杀死进程:killall -9 mysqld_safe

在这里插入图片描述

安全模式进入那窗口显示:

在这里插入图片描述

然后启动mariadb服务:systemctl start mariadb, 重置完成。

新建mysql用户

新建一个默认用户

create user 新建用户名;

在这里插入图片描述

删除默认用户

drop user 需删除用户名;

在这里插入图片描述

指定host创建用户

create user 用户名@'host名称';

在这里插入图片描述

删除指定host用户

drop user 用户名@'host名称';

在这里插入图片描述

grant 创建用户说明
  • 一般情况下是不建议使用create创建用户的,而是使用grant来创建用户,使用格式:

不带密码:grant p1(权限),p2,p3,... on 库.表 to 用户@IP(能登陆该用户ip) ;

带密码:grant p1(权限),p2,p3,... on 库.表 to 用户@IP(能登陆该用户ip) identified by '密码';

其中,如果想要所有权限(p)则使用allall privileges ,所有库和所有表使用 *

  • 查看可使用权限(p),show privileges;

在这里插入图片描述

  • grant 创建带密码用户

创建一个用户,权限只有select,能使用aa库中的所有表,只能200登陆,密码为redhait

grant 权限 on aa.* to 用户@ip identified by '密码';

在这里插入图片描述

ip尾号为200的客户端使用tom用户登陆测试:

在这里插入图片描述

  • grant 创建不带密码用户

也可以理解为给该用户添加权限;

grant 权限 on aa.* to 用户@ip;

在这里插入图片描述

  • 回收grant创建的权限

revoke p1(权限),p2,... 库.表 from 用户名@IP;

在这里插入图片描述

用户权限设置

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

读者福利

由于篇幅过长,就不展示所有面试题了,感兴趣的小伙伴

35K成功入职:蚂蚁金服面试Java后端经历!「含面试题+答案」

35K成功入职:蚂蚁金服面试Java后端经历!「含面试题+答案」

35K成功入职:蚂蚁金服面试Java后端经历!「含面试题+答案」

更多笔记分享

35K成功入职:蚂蚁金服面试Java后端经历!「含面试题+答案」
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

读者福利

由于篇幅过长,就不展示所有面试题了,感兴趣的小伙伴

[外链图片转存中…(img-UnBkW3Up-1712648289170)]

[外链图片转存中…(img-2SgCUam8-1712648289170)]

[外链图片转存中…(img-Ys3lD0uV-1712648289171)]

更多笔记分享

[外链图片转存中…(img-21opW2sj-1712648289171)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值