方法一:
# /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. Mysql 查询是否锁表

    1.查询是否锁表show OPEN TABLES where In_use > 0; 2.查询进程 show processlist 查询到相对应的进程===然后 kill id 补充:查看正在 ...

  2. 飞控入门之C语言结构体、枚举

    结构体 先来说明一下,结构体存在的意义.比如说有一只猫,要在C语言程序中综合描述它,那么可以这样说,它的体重是float类型的,颜色是char类型的,它的一些食物名字是一个数组,那么如果分开定义这些变 ...

  3. git向码云上提交项目

    git向码云上提交项目 设置账号名字和邮箱 $ git config --global user.name "注册时账号的名字" $ git config --global use ...

  4. 学习python的一些脚本

    python生产者与消费者模型 # -*- coding:utf-8 -*- import threading import random import time gMoney = 1000 gLoc ...

  5. Python学习之——Python安装

    环境:Centos6.5+python2.7.5 1.centons6.5系统中是已经安装了python的,先查看版本是不是需要的 python --version 2.安装一些必要的包,防止后面需要 ...

  6. PG 存储函数调用变量的3种方法。

    一.假设有表student,字段分别有id,remark,name等字段. 二.写一个存储函数,根据传过去的变量ID更新remark的内容. 调用该存储函数格式如下:select  update_st ...

  7. cocos2d-x安装

    mac 安装2.2.6为例 1.进入cocos2d-x/tools/project-creator/ 2.输入 python create_project.py -project HelloWorld ...

  8. Go类型特性-学习笔记

    1.组合 Go语言使用组合来完成类型的设计,设计某一类型时想要拥有其他类型的功能只需要将其他类型嵌入该类型即可. 2.接口 与其他语言不同的是,编译器会自动判断该类型是否符合某正在使用的接口,甚至不需 ...

  9. 5.11-笨办法学python-习题13(argv)

    参考书目<learn python the hard way>——练习13 这个练习在Python上练了很多次,都运行不成功.在网上查了很多资料,发现很多人在练第13个练习的时候都有问题, ...

  10. Linux入门进阶第一天——vim文本编辑器

    一.VI / VIM概述 [更新]:VIM资料参见:http://www.runoob.com/linux/linux-vim.html 是什么? 是一个文本编辑器. Vim是从 vi 发展出来的一个 ...