Java最新MySQL入门,java面试题汇总及答案

写在最后

为了这次面试,也收集了很多的面试题!

以下是部分面试题截图

Java程序员秋招三面蚂蚁金服,我总结了所有面试题,也不过如此

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

MySQL  8.0版本的安装方式

1.解压MySQL

2.修改my.ini文件

3.mysqld install

4.mysqld --initialize --console

5.net start mysql

6.mysql -P 3306 -u root -p

7.ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’;

8.Navicat链接测试

如果MySQL已经安装过,那么执行mysqld remove

3.了解MySQL默认数据库里面的四张表

====================

①  user表(用户层权限)

因为字段太多,只截取了一部分。首先登陆的时候验证Host,User,Password也就是ip,用户名,密码是否匹配,匹配登陆成功将会为登陆者分配权限,分配权限的顺序也是按照上面四张表的排列顺序进行的,举个例子,如果user表的Select_priv为Y说明他拥有所有表的查找权限,如果为N就需要到下一级db表中进行权限分配了。其中的%是通配符,代表任意的意思。

②  db表(数据库层权限)

来到db表之后会匹配Host,User然后会根据Db字段对应的表进行权限分配,像Select_priv这些字段对应的权限大家应该都能看出来是对应着什么权限了吧,这里不细说了(不偷懒,举个例子Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv分别代表着查询,增加,更新,删除,创建,销毁)。其中Y代表这拥有此项权限,N则代表没有此项权限。

③  tables_priv表(表层权限)

与上面一样,这是通过Host,Db,User,Table来进行定位到表层的一个权限分配。不过它只有Table_priv和Column_priv两个字段来记录权限。

④  columns_priv表(字段层权限)

顾名思义,字段层权限,通过Host,Db,User,Table,Column来进行定位到字段层的一个权限分配,只有Column_priv来记录权限。

4.grant权限分配

===========

创建用户

create user 用户名;

创建用户密码

create user 用户名 identified by ‘123456’;

注:identified by会将纯文本密码加密作为散列值存储

使用MySQL8用户及用户密码创建需要分开完成

查询用户

select * from user;

查看用户信息

select host,user,authentication_string from user;

删除用户(慎用)

drop user 用户名;

修改用户密码

ALTER USER 用户 IDENTIFIED WITH mysql_native_password BY ‘新密码’;

刷新配置

flush privileges;

设置权限(grant)

大致格式:grant 权限 on 数据库对象 to 用户 identified by 密码

grant all on mvc.* to ‘ltf’@‘%’ identified by ‘123456’ with grant option;

上面这条命令的意思是给ltf@%这个用户对应的test数据库分配所有操作权限,identified by是需要进行的一个密码认证。把all换成USAGE就表示这个用户除了登陆啥都干不了。

grant select, insert, update, delete on mvc.* to ‘ltf’@‘%’ identified by ‘123456’ with grant option;

上面这条命令则是给ltf@%这个用户对应的mvc数据库分配了增删改查的操作权限。

将select, insert, update, delete 换成all则表示赋予数据库nvc中所有表的所有权限

撤销权限(Revoke)

revoke 权限on 数据库名.表名 from 用户名@‘host’;

查看用户权限

show grants for 用户名;

5.MySQL默认数据库介绍

==============

1)information_schema:是一个信息数据库,它保存着关于MySQL服务器所维护的所有其他数据库的信息;

2)mysql:核心数据库,类似于sql server中的master表,主要负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息;

3)test:测试数据库,没有东西;

6.数据库操作

=======

创建数据库

create database 数据库名;

create database if not exists 数据库名 default charset utf8 collate utf8_general_ci;

默认的数据库编码集:utf8(即UTF-8),collate表示排序规则为utf8_general_ci

查看所有数据库

show databases;

删除数据库(慎用)

读者福利

分享一份自己整理好的Java面试手册,还有一些面试题pdf

不要停下自己学习的脚步

字节跳动的面试分享,为了拿下这个offer鬼知道我经历了什么

字节跳动的面试分享,为了拿下这个offer鬼知道我经历了什么

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

[外链图片转存中…(img-a0Owfalh-1715408868469)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 17
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值