1.mysql启动的实质:

在单实例中,/etc/init.d/mysql start 是一个shell脚本,调用mysqld_safe脚本,最后调用mysqld服务启动mysql。

2. 关闭mysql有两种方式,mysqladmin  -uroot -poldboy124 shutdown 或者    /etc/init.d/mysql  stop

3.  对于mysql要多用:help,就像是linux 中的man,help一样。

4.修改密码两种方式:

1)mysqladmin   -uroot -poldboy124  password '123'---必须有原密码

2)update mysql.user  set  password=password(456)  where user='root'  and host='localhost'

5.密码丢失:

1)/etc/init.d/mysql stop

2)  mysqld_safe --skip-grant-tables --user=mysql & (跳过授权页面进行mysql服务开启,即登陆不需要密码)

3)mysql进行登陆

4)pdate mysql.user  set  password=password(456)  where user='root'  and host='localhost'

5)lush  privileges

6)quit

7)  mysqladmin -uroot -p124 shutdown

8)正常方式重新登陆

6.什么是sql?

sql就是结构化查询语言,对关系型数据库中的数据进行定义和操作的语言方法,是大多数关系数据库管理的工业标准。用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

sql有6个部分:

dql 查询,从表中获取数据;

dml:数据操作语言,就是添加、修改、删除表中的数据;(开发写好,运维执行)

tpl:dml的数据能更新到数据库里面或者失效,例如:commit,rollback,在oracle默认dml是不提交数据库的,必须commit,但是在mysql是默认提交的,可以手工打开或者关闭;

dcl:数据控制语言,grant,revoke;  (运维常用)

ddl:数据定义语言,create,drop,alter  ;(运维常用)

ccl:指针控制语言,declare等

7.mysql常见管理应用

7.1字符集

1)创建数据库:create databases 数据库名

mysql> create database oldboy;
Query OK, 1 row affected (0.13 sec)
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| oldboy             |
| performance_schema |
| test               |
| wiki               |
+--------------------+
6 rows in set (0.00 sec)
mysql> show create database oldboy\G
*************************** 1. row ***************************
       Database: oldboy
Create Database: CREATE DATABASE `oldboy` /*!40100 DEFAULT CHARACTER SET latin1 */---表示默认字符集是拉丁1
1 row in set (0.06 sec)
  2)之前讲过三种安装mysql的方式,其实每种方式都需要./configure 进行mysql数据库的编译。如果我们在编译安装的时候,没有指定特定的编译安装,那么默认就是拉丁安装,如果指定了比如utf8,那么以后创建对应的数据库就不需要指定字符集了,默认就是utf8。当然,这里有个前提是,数据库在编译的时候要支持创库的字符集,一般情况下默认不配置这个,也是包含了比如utf8,gbk,拉丁等库字符集了。
 
  3)创建一个名为oldboy_gbk字符集数据库;创建一个名为oldboy_utf字符集的数据库;
      mysql> create database oldboy_gbk DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;  ---字符集就是一套编码,字符校对就是比较编码的方式,按照字符集进行读写。
      mysql> create database oldboy_utf8 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
 
  4)企业如何创建数据库呢?
         是根据开发的程序确定的,编译时指定数据库,然后建库的时候默认创建即可,create database oldboy
 
   7.2 建库命令
       1)展示数据库:show  database like %old%
       2)   建立数据库:use  oldbou_gbk
       3) 查询时间:select now();
       4) 删除用户:drop user 'oldboy'@'localhost'
       5)    grant 命令在创建用户,授权:
               grant all on  db1.* to 'user'@'localhost'  identified by  'xxx' 
               show grants for oldgirl@localhost;
        6)允许其他机器机器访问:              
            mysql> create user  test @'192.168.0.%'  identified by 'test';
           [root@djw1 ~]# mysql -utest -ptest -h 192.168.0.102
       7)all privileges都有哪些权限?(企业的安全50%来自内部,运维要控制最小原则)
            REVOKE INSERT ON test.* FROM 'oldboy'@'localhost';
           show grants for oldboy@localhost;
          GRANT SELECT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `test`.* TO 'oldboy'@'localhost'
   7.3 表和表语句
     1) 建表语句:
create table student(
 id int(4)  not null,
 name char(20) not null,
 age tinyint(2) not null default '0',
 dept varchar(16)  default null
);
查看:
  | student | CREATE TABLE `student` (
  `id` int(4) NOT NULL,
  `name` char(20) NOT NULL,
  `age` tinyint(2) NOT NULL DEFAULT '0',
  `dept` varchar(16) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
默认情况下,数据库是什么字符集,那么表就是什么字符集,引擎是InnoDB。mysql5.5和5.1的默认引擎是不一样的,mysql5.1及以前默认引擎为MyISAM,现在5.5的引擎是InnoDB.
     2)查看表结构:
       

3)为表的字段创建索引

索引就像书的目录一样,如果在字段上建立索引,那么以索引列为查询条件时,就可以加快速度,很重要。

主键索引查询是最快的。无论建立什么索引,最终都是在表对应的列上创建,可以是单列或者多列上创建索引。

索引分为:主键索引和普通索引,普通索引为唯一索引和不唯一索引。(所谓唯一索引,就是因为有了主键,但是还想区分此列为唯一)

创建索引:

       drop table student;

create table student(

id int(4)  not null AUTO_INCREMENT,
 name char(20) not null,
 age tinyint(2) not null default '0',
 dept varchar(16)  default null,
 PRIMARY KEY (id),
 KEY index_name(name)
);

展示索引:show index from student\G;

创建联合索引:create index ind_name_dept on student(name,dept);

index(a,b,c)仅a,ab,abc三个查询条件列可以走索引,b,bc,ac,c等无法使用索引,这叫做联合索引是有前缀生效特性的。

创建唯一索引:

drop  index index_name on student;
   create unique  index uni_ind_name on student(name);

7.4 索引可以加快查询速度,那么就给所有的列建立索引?

因为索引不但占用系统空间,更新数据库时还需要维护索引重建,因此,索引是一把双刃剑,并不是越多越好,所以数十到百行的小表无需索引,写频繁读少少建立索引。索引 一定要建立在where后的条件上的列,且是唯一值多的大表上创建。

四、linux-mysql 下MySQL的管理(一)的更多相关文章

  1. Linux系统环境下MySQL数据库源代码的安装

    Linux系统环境下MySQL数据库源代码的安装 基本环境:CentOS Linux release 7.8.2003 (Core).MySQL5.6 一.      安装环境准备 若要在Linux系 ...

  2. 解决Linux系统下Mysql数据库中文显示成问号的问题

    当我们将开发好的javaWEB项目部署到linux系统上,操作数据库的时候,会出现中文乱码问题,比如做插入操作,发现添加到数据库的数据中文出现论码,下面就将解决linux下mysql中文乱码问题! 打 ...

  3. linux系统下MySQL表名区分大小写问题

    linux系统下MySQL表名区分大小写问题 https://www.cnblogs.com/jun1019/p/7073227.html [mysqld] lower_case_table_name ...

  4. LINUX系统下MySQL 压力测试工具super smack

    摘要:1.源文件下载地址:http://vegan.net/tony/supersmack/2.安装:注意在编译时,可以先把对应的libmysqlclient.so.*拷贝到/usr/lib3.测试: ...

  5. Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 (需暂停服务的方式)

    Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 本机采用Ubuntu16.04系统,tar方式安装MySQL5.7.21 数据库安装文件夹为    /home/devil/mysql 现 ...

  6. Linux - centos7 下 MySQL(mariadb) 和 主从复制

    目录 Linux - centos7 下 MySQL(mariadb) 和 主从复制 MySQL(mariadb) 安装MySQL(mariadb) 配置数据库的中文支持 在远程用 mysql客户端去 ...

  7. 第一次项目上Linux服务器(四:CentOS6下Mysql数据库的安装与配置(转))

    一.mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库,咱 ...

  8. linux(raspbian)下mysql的安装,权限设置和用户管理

    一 MySQL安装:(1) 使用apt-get安装, 由于raspbian是基于Debian的自由操作系统,debian默认自带apt-get指令安装应用因此可以使用来安装 sudo apt-get ...

  9. 【数据库】4.0 MySQL入门学习(四)——linux系统环境下MySQL安装

    1.0 我的操作系统是CentOS Linux release 7.6.1810  (Core) 系统详细信息如下: Linux version 3.10.0-957.1.3.el7.x86_64 ( ...

  10. Linux(Ubuntu)下MySQL的安装与配置

    转自:http://www.2cto.com/database/201401/273423.html 在Linux下MySQL的安装,我一直觉得挺麻烦的,因为之前安装时就是由于复杂的配置导致有点晕.今 ...

随机推荐

  1. WOJ 1543 Array

    还是聪哥给我讲的思路才知道的,起初我利用两两互质去求发现有问题,互质只是必要条件而非充分条件,后来还是用的标准思路 即其实最终只要保留最大的素数的幂即可,其他包含该素数幂但指数低的都不用了,这样就能保 ...

  2. 吴裕雄--天生自然MySQL学习笔记:MySQL 复制表

    如果需要完全的复制MySQL的数据表,包括表的结构,索引,默认值等. 如果仅仅使用CREATE TABLE ... SELECT 命令,是无法实现的. 如何完整的复制MySQL数据表,步骤如下: 使用 ...

  3. PAT Advanced 1147 Heaps (30) [堆,树的遍历]

    题目 In computer science, a heap is a specialized tree-based data structure that satisfies the heap pr ...

  4. bzoj4311向量(线段树分治+斜率优化)

    第二道线段树分治. 首先设当前向量是(x,y),剩余有两个不同的向量(u1,v1)(u2,v2),假设u1>u2,则移项可得,若(u1,v1)优于(u2,v2),则-x/y>(v1-v2) ...

  5. POJ 1201 Intervals【差分约束】

    传送门:http://poj.org/problem?id=1201 题意: 有n个如下形式的条件:,表示在区间[, ]内至少要选择个整数点.问你满足以上所有条件,最少需要选多少个点? 思路:第一道差 ...

  6. 中小规模集群----Centos6部署wordpress及java程序

      1    概述 1.1   业务需求 公司共有两个业务,网上图书馆和一个电商网站.现要求运维设计一个安全架构,本着高可用.廉价的原则. 具体情况如下: 网上图书馆是基于jsp开发: 电商系统是基于 ...

  7. python thrift demo

    简介Thrift最初由Facebook研发,主要用于各个服务之间的RPC通信,支持跨语言,常用的语言比如C++, Java, Python, PHP, Ruby, Erlang, Perl, Hask ...

  8. 用数组来实现Stack

    1:Stack特点 stack:栈,是一种特殊的数据结构,有着先入后出的特点(first in last out).stack中栈底始终不变,只有一端能变化.栈顶在有数据push的时候增大,有数据po ...

  9. Java线程——线程习题(二)生成者消费者

    生产者消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段内共用同一存储空间,生产者向空间里生产数据,而消费者取走数据. 这里实现如下情况的生产--消费模型: 生产者不断交替地生产两组数据“姓 ...

  10. NFS 文件共享

    备注:NFS 文件共享需设置两部分:服务端和客户端 一.服务端设置 1.1.查看nfs包是否安装,未安装则重新安装 [root@localhost ~]# rpm -qa|grep rpcbind r ...