方法一:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>
方法二:
直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:
# mysql -udebian-sys-maint -p
Enter password: <输入[client]节的密码>
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>

MYSQL 数据库知识点

01.MySQL 和 MongoDB 的区别有哪些?如何选择?
关系型数据库和文档型数据库,存储方式 数据处理,架构特点。
mongoDB 适于事件的记录,内容管理或者博客平台等。

02.分析一下 Mysql 和 Mongodb 应用场景 (*HBase)

  • 1. 如果需要将 mongodb 作为后端 db 来代替 mysql 使用,即这里 mysql 与 mongodb 属于平行级别,那么,这样的使用可能有以下几种情况的考量: (1)mongodb 所负责部分以文档形式存储,能够有较好的代码亲和性,json 格式的直接写入方便。(如日志之类) (2) 从 data models 设计阶段就将原子性考虑于其中,无需事务之类的辅助。开发用如 nodejs 之类的语言来进行开发,对开发比较方便。 (3)mongodb 本身的 failover 机制,无需使用如 MHA 之类的方式实现。

  • 2. 将 mongodb 作为类似 redis ,memcache 来做缓存 db,为 mysql 提供服务,或是后端日志收集分析。 考虑到 mongodb 属于 nosql 型数据库,sql 语句与数据结构不如 mysql 那么亲和 ,也会有很多时候将 mongodb 做为辅助 mysql 而使用的类 redis memcache 之类的缓存 db 来使用。 亦或是仅作日志收集分析。

03. 听说过事务吗?**(必考)**

答:

作为单个逻辑工作单元执行的一系列操作,满足四大特性:

  1. 原子性(Atomicity):事务作为一个整体被执行 ,要么全部执行,要么全部不执行;

  2. 一致性(Consistency):保证数据库状态从一个一致状态转变为另一个一致状态;

  3. 隔离性(Isolation):多个事务并发执行时,一个事务的执行不应影响其他事务的执行;

  4. 持久性(Durability):一个事务一旦提交,对数据库的修改应该永久保存。

04. 事务的并发问题有哪几种?

答:丢失更新、脏读、不可重复读以及幻读。

05. 数据库中的锁有哪几种?

答:独占锁、排他锁以及更新锁。

06. 事务的隔离级别有哪几种?

答:读未提交、读已提交、可重复读和序列化。

扩展问题:MySQL 事务默认隔离级别是哪个?

答:可重复读。

07. 数据库的索引有什么作用? 底层数据结构是什么,为什么使用这种数据结构?

答:

  1. 索引 是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息;

  2. 底层数据结构是 B+ 树;

  3. 使用 B+ 树的原因:查找速度快、效率高,在查找的过程中,每次都能抛弃掉一部分节点,减少遍历个数。( 此时,你应该在白纸上画出什么是 B+ 树 )

扩展问题:聚簇索引和非聚簇索引的区别?

08. MyISAM 和 InnoDB 的区别有哪些?

答:

  • MyISAM 不支持事务,InnoDB 是事务类型的存储引擎;

  • MyISAM 只支持表级锁,BDB 支持页级锁和表级锁,默认为页级锁;而 InnoDB 支持行级锁和表级锁,默认为行级锁;

  • MyISAM 引擎不支持外键,InnoDB 支持外键;

  • MyISAM 引擎的表在大量高并发的读写下会经常出现表损坏的情况;

  • 对于 count( ) 查询来说 MyISAM 更有优势;

  • InnoDB 是为处理巨大数据量时的最大性能设计,它的 CPU 效率可能是任何其它基于磁盘的关系数据库引擎所不能匹敌的;

  • MyISAM 支持全文索引(FULLTEXT),InnoDB 不支持;(MySQL5.6 版本开始支持InnoDB引擎的全文索引)

  • MyISAM 引擎的表的查询、更新、插入的效率要比 InnoDB 高。

最主要的区别是:MyISAM 表不支持事务、不支持行级锁、不支持外键。 InnoDB 表支持事务、支持行级锁、支持外键。(可直接回答这个)

09. 数据库中 Where、group by、having 关键字:

答:

关键字作用:

  1. where 子句用来筛选 from 子句中指定的操作所产生的的行;

  2. group by 子句用来分组 where 子句的输出;

  3. having 子句用来从分组的结果中筛选行;

having 和 where 的区别:

  1. 语法类似,where 搜索条件在进行分组操作之前应用;having 搜索条件在进行分组操作之后应用;

  2. having 可以包含聚合函数 sum、avg、max 等;

  3. having 子句限制的是组,而不是行。

当同时含有 where 子句、group by 子句 、having 子句及聚集函数时,执行顺序如下:

  1. 执行 where 子句查找符合条件的数据;

  2. 使用 group by 子句对数据进行分组;对 group by 子句形成的组运行聚集函数计算每一组的值;最后用 having 子句去掉不符合条件的组。

ps:注意 事务机制、隔离级别

mysql+linux 忘记密码的更多相关文章

  1. 浅析MySQL 8忘记密码处理方式

    对MySQL有研究的读者,可能会发现MySQL更新很快,在安装方式上,MySQL提供了两种经典安装方式:解压式和一键式,虽然是两种安装方式,但我更提倡选择解压式安装,不仅快,还干净.在操作系统上,My ...

  2. Linux 忘记密码解决方法,Linux 远程登录

    一.Linux 忘记密码解决方法 很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可. 步 ...

  3. Linux 忘记密码怎么办

    Linux 忘记密码解决方法 很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可. 步骤如 ...

  4. mysql数据库忘记密码时如何修改(一)

    方法/步骤 打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址 打开cmd命令提示符,进入上一步mysql.exe所在的文件夹. 输入命令  mysqld --skip-grant ...

  5. 四、Linux 忘记密码解决方法

    Linux 忘记密码解决方法 很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可. 步骤如 ...

  6. MySQL解决忘记密码问题

    解决Win10下Mysql 的Access denied for user'root'@'localhost' (using password: NO)问题 mysql一旦忘记密码即会出现这样的错误. ...

  7. linux忘记密码

    linux忘记密码 Linux进入救援模式的方法 视频 centos6.5测试通过 如下 1.开机按esc进入下面界面 2.按e 3.按e 4.DM后空格加上single再回车 5.会回到这里再按b ...

  8. Mysql数据库忘记密码找回方法

    Mysql数据库忘记密码找回 a 停止mysql服务 /etc/init.d/mysql stop b 使用--skip-grant-tables启动mysql,忽略授权登录验证 mysqld_saf ...

  9. Linux忘记密码解决方案

    Linux 忘记密码解决方法 很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可. 步骤如 ...

随机推荐

  1. Ubuntu修改桌面为Desktop

    想用中文系统,却不想用中文文件夹,可以用以下方法: 先把home路径下的桌面文件夹修改为Desktop 然后在命令行输入 nano ~/.config/user-dirs.dirs 修改后ctrl - ...

  2. appache 端口 更改

    外网访问---->hosts文件映射服务名(127.0.0.1 xiaotian.cn)-->appache中httpd文件监听相关端口号(*:8080)--->appache中的v ...

  3. python学习笔记(二)python基础知识(list,tuple,dict,set)

    1. list\tuple\dict\set d={} l=[] t=() s=set() print(type(l)) print(type(d)) print(type(t)) print(typ ...

  4. C#串口通信及数据表格存储

    1.开发环境 系统:win10 开发工具:Visual Studio 2017 2.界面设计 串口通信的界面大致如此,在此基础上添加项目所需的调试指令与数据存储功能,界面排布方面可参考其他教程. 3. ...

  5. 回文词 (Palindromes,Uva401)

    例题 3-3 回文词 (Palindromes,Uva401) 输入一个字符中,判断它是否为回文串以及镜像串.输入字符串保证不含数字0.所谓回文串,就是反转以后和原串相同,如abba和madam.所有 ...

  6. websocket简单入门

    今天说起及时通信的时候,突然被问到时用推的方式,还是定时接受的方式,由于之前页面都是用传统的ajax处理,可能对ajax的定时获取根深蒂固了,所以一时之间没有相同怎么会出现推的方式呢?当被提及webs ...

  7. 《阿里巴巴Java开发手册》代码格式部分应用——idea中checkstyle的使用教程

    <阿里巴巴Java开发手册>代码格式部分应用--idea中checkstyle的使用教程 1.<阿里巴巴Java开发手册> 这是阿里巴巴工程师送给各位软件工程师的宝典,就像开车 ...

  8. 20155234java实验一

    实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 1.没有Linux基础的同学建议先学习Linux基础入门(新版))Vim ...

  9. 【课堂实践】Myod和Mycp

    实验内容 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 实验代码 od.java 截图 遇到的问题及解决办法 一开始想的方向是将得出的功能结果 ...

  10. 20145207《Java程序设计》实验二(Java面向对象程序设计)实验报告

    <Java程序设计>实验二(Java面向对象程序设计)实验报告 目录 改变 Java面向对象程序设计实验要求 实验成果 课后思考 改变 看了下之前实验二的整体,很搞笑,大图+代码,没了.. ...