数据库的关闭方法:

、优雅的关闭数据库的方法:
mysqladmin -uroot -p123456 shutdown 、脚本关闭:
/etc/init.d/mysqld stop 、使用kill信号的方法(最好不用)
kill -USR2 'cat path/pid' history不记录历史命令 HISTCONTROL=ignorespace (敲命令的时候加一个空格,可以不记录) 善于使用mysql的help Mysql设置密码的方法:
mysqladmin -uroot password '' mysqladmin -uroot password '' -S /data//mysql.sock(多实例的密码设置) Mysql修改密码: mysqladmin -uroot -p123456 password 'template' mysqladmin -uroot -p123456 password 'template' -S /data//mysql.sock(多实例修改密码) 使用sql语句修改密码: mysql>UPDATE mysql.user SET password=PASSWORD("") WHERE user='root'; set方法:
set password=password('') Mysql密码忘记找回步骤: 、先停止数据库
/etc/init.d/mysqld stop 、使用--skip-grant-tables启动mysql,忽略授权登录验证 [root@localhost ~]# mysqld_safe --skip-grant-tables --user=mysql & 空密码登录:
[root@localhost ~]# mysql 修改密码:
mysql>update mysql.user set password=password("") where user='root' and host='localhost'; 刷新权限:
mysql>flush privileges; 关闭mysql
[root@localhost ~]# mysqladmin -uroot -p123456 shutdown 重新启动mysql
[root@localhost ~]# /etc/init.d/mysqld start [root@localhost ~]# mysql -uroot -p123456 SQL Structured Query Language SQL结构化查询语言 数据库简单操作: 创建数据库时指定字符集:
mysql> create database template_gbk default character set gbk mysql> show create database template_gbk mysql> show databases; mysql> select database(); 查看当前连接的数据库 mysql> select now(); 查看当前时间 mysql> select user(); 查看当前用户 mysql> select version(); 查看当前版本 mysql> show tables;查看表 删除Mysql系统多余账号 drop user 'template'@'localhost'; 删除用户
如果drop删除不了(一般是特殊字符或大写)可以使用下面的方式删除
mysql> delete from mysql.user where user='root' and host='localhost';
mysql> flush privileges; 创建Mysql用户及赋予用户授权
mysql> grant all on test.* to 'template'@'localhost' identified by ''; mysql> flush privileges; mysql> show grants for 'template'@'localhost'; 查看权限 create 和grant 配合方法 mysql> create user 'template'@'localhost' identefied by ''; mysql> grant all on dbname.* to 'username'@'localhost'; #赋予权限 #授权局域网内主机远程连接数据库 %匹配法
mysql> grant all on *.* to 'someuser'@'%' identified by ''; 子网掩码匹配法
mysql> grant all on *.* to 'someuser'@'10.0.0.0/255.255.255.0' identified by ''; mysql -uroot -p123456 -h 10.0.0.7 -P 远程连接 revoke insert on test.* from 'template'@'localhost'; 收回权限 mysql> show grants for oldboy@'localhost'; 查看权限 SELECT
INSERT
UPDATE
DELETE
CREATE
DROP
REFERENCES
INDEX
ALTER
CREATE TEMPORARY TABLES
LOCK TABLES
EXECUTE
CREATE VIEW
SHOW VIEW
CREATE ROUTINE
ALTER ROUTINE
EVENT
TRIGGER mysql> select * from mysql.user; insert(增),delete(删),update(改),select(查) 生成数据库表后,要收回create 和drop授权 mysql> create database template; 创建数据库 mysql> show create database template;查看建库信息
+----------+-------------------------------------------------------------------+
| Database | Create Database |
+----------+-------------------------------------------------------------------+
| template | CREATE DATABASE `template` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+-------------------------------------------------------------------+
row in set (0.00 sec) 建表:
create table <表名>(
<字段名 ><类型 >,
...
<字段名 n><类型 n>); 建表语句: create table student( id int() not null, name char() not null, age tinyint() not null default '', dept varchar() default null ); mysql> show create table student\G
*************************** . row ***************************
Table: student
Create Table: CREATE TABLE `student` (
`id` int() NOT NULL,
`name` char() NOT NULL,
`age` tinyint() NOT NULL DEFAULT '',
`dept` varchar() DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
row in set (0.00 sec) mysql> desc student; 查看表结构
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int() | NO | | NULL | |
| name | char() | NO | | NULL | |
| age | tinyint() | NO | | | |
| dept | varchar() | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+ mysql> show columns from student; 查看表结构 索引就像是书的目录,如果在字段上建立了索引,那么以索引列为查询条件时可以加快查询数据的速度。 创建主键索引 查询数据库,按主键索引是最快的,每个表只能有一个主键列,但是可以有多个普通索引列。主键列要求列的所有内容必须唯一,而索引列不要求内容必须唯一 mysql> create table student(
id int() not null AUTO_INCREMENT, #自增
name char() not null,
age tinyint() not null default '',
dept varchar() default null,
primary key(id),
KEY index_name(name) #创建索引
); 建表后通过alter命令增加主键索引(不建议这样干)
mysql> alter table student change id id int primary key auto_increment; mysql> alter table student drop index index_name; 删除索引 mysql> drop index index_dept on student; 删除索引 mysql> alter table student add index index_name(name); 添加普通索引 mysql> create index index_dept on student(dept()); 指定前n个字符创建索引 mysql> show index from student\G 查看索引 mysql> create index idn_name_dept on student(name,dept); 创建联合索引,允许列上有自己的索引 mysql> create index ind_name_dept on student(name(),dept()); 根据多个列前n个字符创建联合索引 mysql> create unique index uni_ind_name on student(name); 创建唯一索引 问题1:既然索引可以加快查询速度,那么就给所有的列建立索引吧? 解答:因为索引不但占用空间,更新数据库时还需要维护索引数据,因此,索引试一把双刃剑,并不是越多越好,例如:数十到几百行的小表上无需建立索引,写频繁,读少的业务要少建立索引 问题2:到底在哪些列上创建索引呢? 解答:select user,host from mysql.user where host=...,索引一定要创建在where后的条件列,而不是select后的选择数据的列,另外,要尽量选择在唯一值多的大表上建立索引。 基本条件: 、要在表的列上创建索引 、索引会加快查询速度,但是会影响更新的速度,因为要维护索引 、索引不是越多越好,要在频繁查询的where后的条件列上创建索引 、小表或唯一值极少的列上不建索引,要在大表以及不同的内容多的列上创建索引 help alter table

Mysql数据库的权限、索引基本操作的更多相关文章

  1. Mariadb/MySQL数据库单表查询基本操作及DML语句

    Mariadb/MySQL数据库单表查询基本操作及DML语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一数据库及表相关概述 1>.数据库操作 创建数据库: CREATE ...

  2. MySQL数据库授权与索引

    MySQL数据库授权与索引 目录 MySQL数据库授权与索引 一.数据库用户授权 1. 授予权限 2. 查看权限 3. 删除权限 4. 全部权限(all privileges) 二.MySQL索引 1 ...

  3. mysql数据库的权限体系介绍

    一.权限体系简介: MySQL的权限体系在实现上比较简单,相关权限信息主要存储在mysql.User.mysql.db.mysql.Host.mysql_table_priv和mysql.column ...

  4. MySQL<数据库和表的基本操作>

    数据库和表的基本操作 数据库基础知识 创建数据库 就是在数据库系统中划分一块存储数据的空间 CREATE DATABASE itcast; 查看数据库 SHOW CREATE DATABASE 数据库 ...

  5. mysql 数据库常见的一些基本操作 !详不详细你说了算!

    在日常应用中可能一时想不起来,所以有必要整理一份 指令相关的笔记,以是个人比较满意,也比较全面的一份笔记,希望能帮到你,适用初级小白,大神可略过! MYSQL常用命令: 数据备份与还原·注意:不要打分 ...

  6. MYSQL数据库学习六 索引的操作

    6.1 索引 由于数据存储在数据库表中,所以索引是创建在数据库表对象上的,由表中的一个或多个字段生成的键组成,这些键存储在数据结构(B-树或哈希表)中,通过索引可以快速有效地查找与键值相关联的字段.根 ...

  7. Mysql数据库账户权限设置

    1.修改mysql数据库的root密码: 修改 数据库.表名 SET password=加密(‘密码’) where user=’root’; UPDATE mysql.user SET passwo ...

  8. mysql数据库 事务和索引

    1.MySQL数据库特性:  原子性(atomidity) 一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一 ...

  9. MySQL数据库远程访问权限如何打开(两种方法)

    在我们使用mysql数据库时,有时我们的程序与数据库不在同一机器上,这时我们需要远程访问数据库.缺省状态下,mysql的用户没有远程访问的权限. 下面介绍两种方法,解决这一问题. 1.改表法 可能是你 ...

随机推荐

  1. java——super关键字、final关键字、throws关键字、访问控制

    super关键字: 当父类被重写之后,子类对象无法访问父类被重写的方法,super就是为了解决这个问题: 1.使用super关键字访问父类的成员变量和成员方法: super.成员变量 super.成员 ...

  2. 011 Container With Most Water 盛最多水的容器

    给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) .画 n 条垂直线,使得垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0).找出其中的两条线,使得它们 ...

  3. eslint规则 中文备注

    { "ecmaFeatures": {}, "rules": { "no-alert": 0,//禁止使用alert confirm pro ...

  4. (转)认识 Linux 文件系统

    7.1 认识 Linux 文件系统 原文:https://wizardforcel.gitbooks.io/vbird-linux-basic-4e/content/59.html Linux 最传统 ...

  5. JavaScript 浮点数处理

    众所周知,JavaScript 浮点数运算时经常遇到会 0.000000001 和 0.999999999 这样奇怪的结果,如 0.1+0.2=0.30000000000000004.1-0.9=0. ...

  6. PHP面试题基础问题

    1.对于大流量的网站,您采用什么样的方法来解决访问量问题? 首先,确认服务器硬件是否足够支持当前的流量 其次,优化数据库访问. 第三,禁止外部的盗链. 第四,控制大文件的下载. 第五,使用不同主机分流 ...

  7. Fiddler 抓包工具总结(转)

    Fiddler 抓包工具总结   阅读目录 1. Fiddler 抓包简介 1). 字段说明 2). Statistics 请求的性能数据分析 3). Inspectors 查看数据内容 4). Au ...

  8. oracle最高账号sys的密码认证模式

    CONNECT USERNAME/PASSWORD@SERVERNAME AS SYSDBAconnect 是指连接到username是指用户名password是指密码servername是指服务名a ...

  9. NEO

    平台: Windows 类型: 虚拟机镜像 软件包: .net core neo application server basic software blockchain neo open sourc ...

  10. 二、C++复数的实现

    C++复数的实现 在数字图像处理领域,复数这一类型会被经常使用到.但是在C++和Qt中都没有可以使用的复数类.为了今后的方便,我们可以自己定义一个C++复数类,以便将来使用. 一.复数的属性 复数包含 ...