MySQL的介绍 1、 数据库:数据库集中存放位置 1) 常见的数据库类型:关系型(mysql、oracle、SQLserver2008,DB2),树型(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 grantsfor 用户@‘来源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、 破解mysql的root密码:在配置文件/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、账号、运行的时间等信息。
|