1 mysql简介

一般写某个东西先介绍一下,我就老生常谈的简单介绍下(摘自维基百科)

https://zh.wikipedia.org/wiki/MySQL

MySQL(官方发音为英语发音:/maɪ ˌɛskjuːˈɛl/“My S-Q-L”[1],但也经常读作英语发音:/maɪ ˈsiːkwəl/“My Sequel”)原本是一个开放源代码的关系数据库管理系统,原开发者为瑞典的MySQL AB公司,该公司于2008年被昇阳微系统(Sun Microsystems)收购。2009年,甲骨文公司(Oracle)收购昇阳微系统公司,MySQL成为Oracle旗下产品。

MySQL在过去由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,因此被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用,比如维基百科、Google和Facebook等网站。非常流行的开源软件组合LAMP中的“M”指的就是MySQL。

但被甲骨文公司收购后,Oracle大幅调涨MySQL商业版的售价,且甲骨文公司不再支持另一个自由软件项目OpenSolaris的发展,因此导致自由软件社区们对于Oracle是否还会持续支持MySQL社区版(MySQL之中唯一的免费版本)有所隐忧,因此原先一些使用MySQL的开源软件逐渐转向其它的数据库。例如维基百科已于2013年正式宣布将从MySQL迁移到MariaDB数据库[2]。MySQL的创始人麦克尔·维德纽斯以MySQL为基础,成立分支计划MariaDB

2基本用法

1,关于mysql的引擎

查看默认存储引擎
show variables like 'storage_engine';     
查看mysql支持的存储引擎
show variables like 'have%';
InnoDB      MyISAM     MEMORY   的存储引擎
InnoDB 优势在于提供了良好的事务管理,崩溃修复能力和并发控制。特点:读写效率稍微差,占用的数据空间相对比较大
 MyISAM 优势在于占用空间小,处理速度快,缺点不支持事务的完整性和并发性。
 MEMORY不常用。
InnoDB储存引擎支持事务处理,支持外键。同时支持崩溃修复能力,和并发控制。如果需要对事务的完整性要求比较高,要求实现并发控制,那选择InnoDB存储引擎有很大的优势。如果频繁的进行更新,删除操作的数据库,也可以选择InnoDB存储引擎。应为改存储引擎可以实现事务的提交和回滚。
MyISAM存储引擎的插入数据快,空间和内存使用比较低。如果表主要用于插入记录和读出记录,那么选择MyISAM比较高效率。如果应用的完整性,并发性要求低,也可以选择。

2基本用法

1. 忘记root密码
 编辑mysql主配置文件 my.cnf 在[mysqld]字段下添加参数  skip-grant  ,重启数据库服务,这样就可以进入数据库不用授权了 mysql -uroot ,修改相应用户密码 
use mysql;
 update user set password=password('your password') where  user='root';
flush privileges;  
最后修改/etc/my.cnf 去掉 skip-grant , 重启mysql服务
当我们第一次使用mysql命令的时候我们提示命令不存在的时候,我们加入path就行了 
在配置文件中 /etc/profile 中 
PATH=$PATH:/usr/local/mysql/bin 
然后别忘记 
source /etc/profile 
或者写全路径   /usr/local/mysql/bin/mysql -uroot

给 mysql root用户设置密码 
mysqladmin -uroot password '123456' 
登陆 
mysql -uroot -p123456 

2. skip-innodb   我们可以增加这个参数不使用innodb引擎。

 
3. 配置慢查询日志
#log_slow_queries = /path/to/slow_queries
 #long_query_time = 1
4. mysql常用操作
 查看都有哪些库  show databases;
查看某个库的表 use db; show tables;
查看表的字段 desc tb;
查看建表语句 show create table tb;
show create table tb\G; (格式化输出)
当前是哪个用户  select user();
当前库 select database();
创建库 create database db1;
指定字符集:
创建表 create table t1 (`id` int(4), `name` char(40));  
查看数据库版本 select version();
查看mysql状态 show status;
修改mysql参数 show variables like 'max_connect%'; set global max_connect_errors = 1000;
查看mysql队列 show processlist;
插入:
创建普通用户并授权 grant all on *.* to user1 identified by '123456';
 grant all on db1.* to 'user2'@'10.0.2.100' identified by '111222';
 grant all on db1.* to 'user3'@'%' identified by '231222';insert into tb1 (id,name) values(1,'aming');
on后边加授权的库
%  所有的意思。。。。
更改密码 UPDATE mysql.user SET password=PASSWORD("newpwd") WHERE user='username' ;  
查询 select count(*) from mysql.user; 
select * from mysql.db; 
select * from mysql.db  \G;   (格式化输出)
select * from mysql.db where host like '10.0.%';
插入 update db1.t1 set name='aaa' where id=1;  
清空表 truncate table db1.t1;
删除表 drop table db1.t1;
删除数据库 drop database db1;
修复表 repair table (表名)tb1 [use frm];(可以最好加上)
删除表中的某一个
打开使用innodb
vim /etc/my.cnf(这个文件)
 
show variables;列出标的参数
 
 
show variables  like 'version';(使用like过滤)
 
% %   模糊查询
 
 
set   修改某个参数:(局部生效,,重新启动后就恢复了)
 
一般我们修改的  max_connections
show  processlist;   (查看队列,查看链接数据库状态)
 
查询行数:(查询mysql表字段的行数
 
5. mysql备份与恢复
 备份 mysqldump -uroot -p123456 db >1.sql
恢复 mysql -uroot -p db(创建一个新表) <1.sql  
只备份一个表  mysqldump -uroot -p db tb1 > 2.sql
 
-d(只备份创建表的语句)
备份时指定字符集 mysqldump -uroot -p --default-character-set=utf8  db >1.sql
恢复也指定字符集 mysql -uroot -p --default-character-set=utf8  db  < 1.sql
面试常问的:

运维mysql基础的更多相关文章

  1. Python运维开发基础10-函数基础【转】

    一,函数的非固定参数 1.1 默认参数 在定义形参的时候,提前给形参赋一个固定的值. #代码演示: def test(x,y=2): #形参里有一个默认参数 print (x) print (y) t ...

  2. Python运维开发基础09-函数基础【转】

    上节作业回顾 #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen # 实现简单的shell命令sed的替换功能 import ...

  3. Python运维开发基础08-文件基础【转】

    一,文件的其他打开模式 "+"表示可以同时读写某个文件: r+,可读写文件(可读:可写:可追加) w+,写读(不常用) a+,同a(不常用 "U"表示在读取时, ...

  4. Python运维开发基础07-文件基础【转】

    一,文件的基础操作 对文件操作的流程 [x] :打开文件,得到文件句柄并赋值给一个变量 [x] :通过句柄对文件进行操作 [x] :关闭文件 创建初始操作模板文件 [root@localhost sc ...

  5. Python运维开发基础06-语法基础【转】

    上节作业回顾 (讲解+温习120分钟) #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen # 添加商家入口和用户入口并实现物 ...

  6. Python运维开发基础05-语法基础【转】

    上节作业回顾(讲解+温习90分钟) #!/usr/bin/env python # -*- coding:utf-8 -*- # author:Mr.chen import os,time Tag = ...

  7. Python运维开发基础04-语法基础【转】

    上节作业回顾(讲解+温习90分钟) #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen # 仅用列表+循环实现“简单的购物车程 ...

  8. Python运维开发基础03-语法基础 【转】

    上节作业回顾(讲解+温习60分钟) #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen #只用变量和字符串+循环实现“用户登陆 ...

  9. Python运维开发基础02-语法基础【转】

    上节作业回顾(讲解+温习60分钟) #!/bin/bash #user login User="yunjisuan" Passwd="666666" User2 ...

随机推荐

  1. hdu1247 Hat’s Words

    地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=1247 题目: Hat's Words Time Limit: 2000/1000 MS (Ja ...

  2. POJ2488A Knight's Journey[DFS]

    A Knight's Journey Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 41936   Accepted: 14 ...

  3. POJ1523 SPF[无向图割点]

    SPF Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 8139   Accepted: 3723 Description C ...

  4. 第三方登录 (faceBook )

    1.iOS 第三方登录(Facebook,Twitter...)http://www.jianshu.com/p/f64d5ad2ef2a

  5. css3动画中的steps值详解

    css3的动画的animation-timing-function属性定义了动画的速度曲线,一般的速度曲线大家都知道,什么ease,linear,ease-in,ease-out,还有自定义贝塞尔曲线 ...

  6. 移动开发webapp开发常用meta设置手机浏览器全屏模式

    1.WebApp全屏模式: <meta name="viewport" content="width=device-width,initial-scale=1.0, ...

  7. 用 Orchard 建立 Dynamics CRM 的入口网站

    不知道国内用Orchard建网站的多不多,我个人强烈推荐这个CMS系统- 使用最新进的微软.Net 技术,而且免费!Orchard中文版在这里. 我之前写了一个基于Orchard的插件(Module) ...

  8. ReactNative真机运行指南

    ReactNative真机运行指南 注意在iOS设备上运行React Native应用需要一个Apple Developer account并且把你的设备注册为测试设备.本向导只包含React Nat ...

  9. 什么是API

    我们从API的功能.分类.设计.实现.用户来看什么是API. API是应用程序组件之间通信的接口 --wiki:Application Programming Interface In compute ...

  10. unity3d 扩展NGUI Tweener —— TweenTime

    这是今天做的一个小功能 策划想要一个时间滚动效果 那就搞呗!思路和之前写的tweenFillAmount一样 传送门:http://www.cnblogs.com/shenggege/p/479892 ...