加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 大数据 > 正文

青铜到王者,快速提升你 MySQL 数据库的段位!

发布时间:2018-04-13 04:14:09 所属栏目:大数据 来源:站长网
导读:当面临快速的生活节奏而令人厌恶的工作!现在大多数人选择放松自己的方式就是玩游戏,最为突出的可能就要属手游王者荣耀。 据说这款游戏上到70旬老者,下至小学生都玩,老张我也玩。段位低得可怜(PS:最近刚玩哈),刚刚白银。 当时也想让别人带带我,说
副标题[/!--empirenews.page--]

当面临快速的生活节奏而令人厌恶的工作!现在大多数人选择放松自己的方式就是玩游戏,最为突出的可能就要属手游”王者荣耀”。

据说这款游戏上到70旬老者,下至小学生都玩,老张我也玩。段位低得可怜(PS:最近刚玩哈),刚刚白银。

当时也想让别人带带我,说你只要给多少钱,就能快速带你从倔强青铜到最强王者,但最后我在装逼和省钱的抉择上,我选择了省钱。我心想就玩一个游戏,无非你就是比我玩的时间长,有技巧,有经验嘛,但凡我多花点时间,绝对比你玩的好。

话虽这么说,老张我也不喜欢把时间浪费在游戏上,但我喜欢抽时间写博文,给大家多分享知识。因为我认为技术重在交流,沟通,只有互相多学习,才能进步得更快!既然玩个游戏都可以分段位,那么我们所工作于技术这个领域更是层级分明。

虽然我不能教大家怎么在游戏中提升自己,但我可以给大家分享让自己在数据库领域里面级别提升。做一个人人敬仰的大神,一个最强的王者!

MySQL 数据库知识脉络,大致可以分为四大模块:

MySQL 体系结构;

MySQL 备份恢复;

MySQL 高可用集群;

MySQL 优化。

从四大模块中,抽离7个部分给大家做分析

第一部分:倔强青铜篇

刚接触 MySQL 数据库的小白首先要了解,MySQL 常用操作命令以及 MySQL 各个版本的特点。从官方 5.1 到 MySQL 5.7,每个版本之间的跨度经历了哪些功能和性能上面的提升。

当然在这个阶段,我们也要学会如何安装 MySQL 数据库和一些常用命令的使用。

常用命令总结:

create database name; 创建数据库

use databasename; 选择数据库

drop database name; 直接删除数据库,不提醒

show tables; 显示表

describe tablename; 表的详细描述

select 中加上distinct去除重复字段 显示当前mysql版本和当前日期

select version(),current_date;修改mysql中root的密码:

shell>mysql -u root -p mysql> update user set password=password(“root123″) where user=’root’;

mysql> flush privileges  刷新权限

mysql>use dbname; 打开数据库

mysql>show databases; 显示所有数据库

mysql>show tables; 显示数据库mysql中所有的表 mysql>desc user; 显示表mysql数据库中user表的列信息)

grant 创建一个可以从任何地方连接到服务器的一个超管账户,必须分配一个密码 mysql> grant all privileges on *.* to 'user_name'@'localhost' identified by  'password' ;

格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码” 删除授权: mysql> revoke all privileges on *.* from root@”%”;

mysql> delete from user where user=”root” and host=”%”; mysql> flush privileges;

重命名表: mysql > alter table t1 rename t2;

备份: mysqldump -hhostname -uusername -ppassword databasename > backup.sql;

恢复: mysql -hhostname -uusername -ppassword databasename< backup.sql;

在这里举两个典型案例,MySQL 5.6 和 MySQL 5.7 在初始化数据时候的安装差异。

MySQL 5.6:初始化数据时需要进到家目录的 script 目录下

执行:

/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/  --datadir=/data/mysql --defaults-file=/etc/my.cnf --user=mysql

此时数据库密码为空。

MySQL 5.7:初始化数据时需要进到家目录的 bin 目录下

执行:

/usr/local/mysql/bin/mysqld  --user=mysql --datadir=/data/mysql  --basedir=/usr/local/mysql/ --initialize

已然已经废弃了使用 mysql_install_db 这个命令进行初始化数据的操作了。

注:–initialize 会自动生成密码在 error log 里面。如果加  –initialize-insecure  密码为空

第二部分:秩序白银篇

大概了解完 MySQL 的安装,我们来介绍下 MySQL 的体系结构。先看下官方版本的图:

1

 

从图中我们可以看出:MySQL 体系结构分两部分(mysql server 层 + mysql 存储引擎层)

通过一条 sql 语句进入数据库的过程细分,又可以由8个小部分组成如下图:

微信图片_20170811101546

1-6 都是经历 mysql-server 层部分,7 是我们数据库的存储引擎层部分。因此抛出了我们要学习各个存储引擎的区别。

这里只介绍两种最长使用的 Innodb 和 Myisam 区别

1. 事务的支持不同(innodb支持事务,myisam不支持事务)

2. 锁粒度(innodb行锁应用,myisam表锁)

3. 存储空间(innodb既缓存索引文件又缓存数据文件,myisam只能缓存索引文件)

4. 存储结构

(myisam:数据文件的扩展名为.MYD myData ,索引文件的扩展名是.MYI myIndex)

(innodb:所有的表都保存在同一个数据文件里面 即为.Ibd)

5. 统计记录行数

(myisam:保存有表的总行数,select count(*) from table;会直接取出出该值)

(innodb:没有保存表的总行数,select count(*) from table;就会遍历整个表,消耗相当大)

第三部分:荣耀黄金篇

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读