四、linux-mysql 下MySQL的管理(一)
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 数据库名
Query OK, 1 row affected (0.13 sec)
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| oldboy |
| performance_schema |
| test |
| wiki |
+--------------------+
6 rows in set (0.00 sec)
*************************** 1. row ***************************
Database: oldboy
Create Database: CREATE DATABASE `oldboy` /*!40100 DEFAULT CHARACTER SET latin1 */---表示默认字符集是拉丁1
1 row in set (0.06 sec)
id int(4) not null,
name char(20) not null,
age tinyint(2) not null default '0',
dept varchar(16) default null
);
`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 |
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的管理(一)的更多相关文章
- Linux系统环境下MySQL数据库源代码的安装
Linux系统环境下MySQL数据库源代码的安装 基本环境:CentOS Linux release 7.8.2003 (Core).MySQL5.6 一. 安装环境准备 若要在Linux系 ...
- 解决Linux系统下Mysql数据库中文显示成问号的问题
当我们将开发好的javaWEB项目部署到linux系统上,操作数据库的时候,会出现中文乱码问题,比如做插入操作,发现添加到数据库的数据中文出现论码,下面就将解决linux下mysql中文乱码问题! 打 ...
- linux系统下MySQL表名区分大小写问题
linux系统下MySQL表名区分大小写问题 https://www.cnblogs.com/jun1019/p/7073227.html [mysqld] lower_case_table_name ...
- LINUX系统下MySQL 压力测试工具super smack
摘要:1.源文件下载地址:http://vegan.net/tony/supersmack/2.安装:注意在编译时,可以先把对应的libmysqlclient.so.*拷贝到/usr/lib3.测试: ...
- Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 (需暂停服务的方式)
Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 本机采用Ubuntu16.04系统,tar方式安装MySQL5.7.21 数据库安装文件夹为 /home/devil/mysql 现 ...
- Linux - centos7 下 MySQL(mariadb) 和 主从复制
目录 Linux - centos7 下 MySQL(mariadb) 和 主从复制 MySQL(mariadb) 安装MySQL(mariadb) 配置数据库的中文支持 在远程用 mysql客户端去 ...
- 第一次项目上Linux服务器(四:CentOS6下Mysql数据库的安装与配置(转))
一.mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库,咱 ...
- linux(raspbian)下mysql的安装,权限设置和用户管理
一 MySQL安装:(1) 使用apt-get安装, 由于raspbian是基于Debian的自由操作系统,debian默认自带apt-get指令安装应用因此可以使用来安装 sudo apt-get ...
- 【数据库】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 ( ...
- Linux(Ubuntu)下MySQL的安装与配置
转自:http://www.2cto.com/database/201401/273423.html 在Linux下MySQL的安装,我一直觉得挺麻烦的,因为之前安装时就是由于复杂的配置导致有点晕.今 ...
随机推荐
- CPU的成本构成
1)设计成本: 工程师的工资,EDA等开发工具的费用.设备费用.场地费用等等. 2)硬件成本: 硬件成本=(晶片成本+掩膜成本+封装.测试成本)/成品率 1.晶片成本 一片硅晶圆 晶片成本=晶圆成本/ ...
- 初识MyBatis-Generator
详细请见: http://www.mybatis.org/generator/quickstart.html 使用mybatis-generator-core-x.x.x.jar加上配置文件来生成 1 ...
- SpringMVC:提交参数名与接收参数名问题
1.提交的域名称和处理方法的参数名一致 提交数据 : http://localhost:8080/hello?name=111 处理方法 : @RequestMapping("/hello& ...
- [XNUCA2019Qualifier]EasyPHP
0x00 知识点 预期解中知识点: htaccess生效 如果尝试上传htaccess文件会发现出现响应500的问题,因为文件尾有Just one chance 这里采用# \的方式将换行符转义成普通 ...
- Python时间问题
获取当前的时间,time只能精确到秒,而datetime可以精确到毫秒,所以使用格式化的时候要注意. nowTime=time.localtime((time.time())) t=time.strf ...
- virtualbox 共享文件夹 操作过程
1.在本地主机上找到 VBoxGuestAdditions.iso,我的位置就在E:\Oracle\VirtualBox\VBoxGuestAdditions.iso 2 复制到虚拟机中,我用的是 x ...
- HDU 1588 矩阵快速幂 嵌套矩阵
这个题目搞了我差不多一个下午,之前自己推出一个公式,即 f[n+k]=k*f[n]+f[n-1]结果发现根本不能用,无法降低复杂度. 后来又个博客的做法相当叼,就按他的做法来了 即 最终求得是 S(n ...
- UML-架构分析-架构原则
1.高内聚 2.低耦合 3.防止变异(间接性等) 4.关注点分离 方法1: 事物模块化,封装到单独的子系统中 方法2: 装饰者模式 方法3: 面向方面(AOP)
- idea创建远程分支
1.先从远程拉取一个完整的分支,master或dev 2.新建一个分支,new,新建的同时checkout 出来 3.把新建的分支push到远程 4.如果新建完分支后写代码了,需要先把代码提交然后一起 ...
- python刷LeetCode:1.两数之和
难度等级:简单 题目描述: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不 ...