一、MySQL的介绍

1、 数据库:数据库集中存放位置

1) 常见的数据库类型:关系型(mysqloracleSQLserver2008DB2),树型(windows注册表)、非关系型(NoSQL)。

2) 关系型数据库对象:数据记录—>àà数据库;表分为数据库,关系表

2、 MySQL是开源的关系型数据软件,目前由oracle公司维护,特点是:多线程、多用户、基于C/S架构(客户端/服务器),简单易用、查询速度快,安全可靠。

二、安装及基本配置:

1、 安装

1) 安装依赖ncursers

2) 安装cmake编译工具

3) 安装mysql

2、 配置:

1) 复制配置文件:/etc/my.cnf

2) 添加系统服务

3) 优化命令执行路径

4) 初始化数据库:--basedir=安装目录,--datadir=数据文件存放目录

5) 启动mysql

6) 修改root密码:mysqladmin –uroot [-p 原密码] password 密码

7) 登录:msql –u用户 –p 密码 –h 主机名或ip地址

三、mysql数据库运维必备技能

1、 mysql数据基本查看:

1) 查看数据库:show database 一个数据库对于安装目录种的data内的同名目录

2) 查看数据库种的表:use 库名;  #进入数据库 àshow  tables#查看库中所有表,每一个表可能对应三个表  表名.frm (表的结构文件)、表名.MYD(表的数据)表名.MYI(表的索引)

3) 查看表的结构:desc  表名; #读取表名.frm 文件

2、 mysql数据库的增、删、改、查:

1) 增:

创建库:create database 库名;

创建表:create table 库名.表名(字段1  类型  属性,字段2 ….);

插入数据:insert  into  库名.表名  (字段1,字段2 ….  values(字段1的值,字段2的值,  ….);

2) 删:一定要确定

删除记录(一条数据):delete  from  库名.表名  where  条件;

删除表:drop table 库名.表;

删除库:drop database  库名;

3) 改:

修改记录字段的值:update  库名.表名  set  字段1=1,字段2=2… where 条件;

4) 查:

查看表中的数据记录:select  [字段1,字段2….]  from  库名.表名;

3、 Mysql数据库权限管理:

1) 授权:grant  权限列表  on  库名.表名  to  用户@‘来源IP identified by‘密码’;

2) 查看权限:show grants for 用户@‘来源IP’;

3) 撤销权限:revoke  权限列表 on 库名.表名  from 用户@‘来源IP’;

注意:权限尽量严格控制,少使用权限列表all,库名.表明 *.*,来源@%;撤销权限后delete将用户删除,flush privileges;刷新权限。

4、 备份

1) mysql的备份方式有冷备份和热备份

2) 冷备份:关闭mysql数据库、使用cp或者是tar等命令备份、接合ftp命令传输进行异地备份。备份时解压复制并主要权限。

3) 热备份:

完整备份:mysqldump [选项] –all-databases >备份路径/文件

备份库:mysqldump [选项] –databases 1 2  >备份路径/文件

备份表:mysqldump [选项] 库名  1   2  >备份路径/文件

恢复:mysql –u用户  -p密码  <备份路径/文件

5、 脚本中执行mysql命令(去交互式):

Mysql  -uroot  -p密码  <<END

Sql语句

END

6、 破解mysqlroot密码:在配置文件/etc/my.cnf[mysqld]下添加skip-grant-tables,重启服务直接登录。

添加配置:sed -i '/\[mysqld\]/a skip-grant-tables' /etc/my.cnf 

添加注释:sed -i '/skip-grant-tables/s/^/#/g' /etc/my.cnf

7、设置mysql显示中文:

Vi  /etc/my.cnf

[client]

Default-character-set = utf8

[mysqld]

character-set-server = utf8

init_connect='SET NAMES utf8'

wq

8、mysql的性能监控分析:

show full processlist##查看当前执行的sql语句,能显示sql语句、执行状态、来源ip、账号、运行的时间等信息。