mysql创建数据库

MySQL家族"新"成员——MySQL Shell

我怕爱的太早我们不能终老 提交于 2020-02-27 07:22:31
本文转载自“MySQL解决方案工程师”公众号,由徐轶韬翻译 标题虽然叫做MySQL家族新成员,但如果从发布时间上来看,MySQL Shell已经不能算做新成员了,它的正式版与MySQL8.0同一天诞生,2018年4月19日,但还有很多人对它比较陌生,所以称之为“新”。在这篇文章里,我将会介绍一下它的部分功能和使用方法。 首选概括一下它的功能,MySQL Shell是一个统一的命令行客户端,使用它可以对MySQL进行管理和操作。它支持多种语言,包括JavaScript,Python和SQL,并且支持编写脚本。此外,它同时支持文档型和关系型数据库模式,并且具有完整的开发和管理API。 看到这里,您可能会发现MySQL Shell与传统的MySQL数据库的客户端mysql的区别了,旧的mysql客户端缺失了脚本功能(可能有人会说可以通过编写SQL命令进行批处理),但是想要通过脚本语言对数据库进行管理的用户会发现,并没有专门适用于合并脚本语言的工具,MySQL Shell的出现弥补了这一点。 使用MySQL Shell除了可以对数据库里的数据进行操作,还可以对数据库进行管理,特别是对Innodb Cluster的支持,使用它可以十分方便的对Innodb Cluster进行管理,配置。您可以理解为MySQL Shell就是为Innodb Cluster 而生的

MySQL的视图、事务和索引

陌路散爱 提交于 2020-02-27 05:02:56
视图 1. 为什么要有视图 对于复杂的查询,往往是有多个数据表进行关联查询而得到,如果数据库因为需求等原因发生了改变,为了保证查询出来的数据与之前相同,则需要在多个地方进行修改,维护起来非常麻烦 解决办法:定义视图 2. 视图是什么 通俗的讲,视图就是一条SELECT语句执行后返回的结果集。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。 视图是对若干张基本表的引用,一张虚表,查询语句执行的结果,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变); 方便操作,特别是查询操作,减少复杂的SQL语句,增强可读性; 3. 定义视图 建议以v_开头 create view 视图名称 as select语句; 4. 查看视图 查看表会将所有的视图也列出来 show tables; 5. 使用视图 视图的用途就是查询 select * from v_stu_score; 6. 删除视图 drop view 视图名称; 例: drop view v_stu_sco; 8. 视图的作用 提高了重用性,就像一个函数 对数据库重构,却不影响程序的运行 提高了安全性能,可以对不同的用户 让数据更加清晰 事务 1. 为什么要有事务 事务广泛的运用于订单系统、银行系统等多种场景 例如: A用户和B用户是银行的储户,现在A要给B转账500元,那么需要做以下几件事: 检查A的账户余额

MySQL之数据库优化

人走茶凉 提交于 2020-02-27 04:39:10
Mysql数据库的优化技术 对mysql优化是一个综合性的技术,主要包括 •表的设计合理化(符合3NF) •添加适当索引(index) [四种: 普通索引、主键索引、唯一索引unique、全文索引] •分表技术(水平分割、垂直分割) •读写[写: update/delete/add]分离 •存储过程 [模块化编程,可以提高速度] •对mysql配置优化 [配置最大并发数my.ini, 调整缓存大小 ] •mysql服务器硬件升级 •定时的去清除不需要的数据,定时进行碎片整理(MyISAM) 数据库优化工作 对于一个以数据为中心的应用,数据库的好坏直接影响到程序的性能,因此数据库性能至关重要。一般来说,要保证数据库的效率,要做好以下四个方面的工作: ① 数据库设计 ② sql语句优化 ③ 数据库参数配置 ④ 恰当的硬件资源和操作系统 此外,使用适当的存储过程,也能提升性能。 这个顺序也表现了这四个工作对性能影响的大小 数据库表设计 通俗地理解三个范式,对于数据库设计大有好处。在数据库设计中,为了更好地应用三个范式,就必须通俗地理解三个范式(通 俗地理解是够用的理解,并不是最科学最准确的理解): 第一范式:1NF是对属性的原子性约束,要求属性(列)具有原子性,不可再分解;(只要是关系型数据库都满足1NF) 第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;

mysql 8.0 用户修改为简单密码

好久不见. 提交于 2020-02-27 03:55:46
os: centos 7.4 db: mysql 8.0.19 版本 # cat /etc/centos-release CentOS Linux release 7.4.1708 (Core) # # mysql -h localhost -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9 Server version: 8.0.19 Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> select version(); +-----------+ | version()

Linux下MySQL忘记密码

不问归期 提交于 2020-02-27 02:56:24
1、前沿 今天在服务器安装 mysql 之后,登录发现密码错误,但是我没有设置密码呀,最后百度之后得知, mysql 在5.7版本之后会自动创建一个初始密码。 报错如下: [root@mytestlnx02 ~]# mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 2、检查MySQL服务是否启动 先检查MySQL服务是否启动,如果启动,先关闭MySQL服务。 //查看mysql服务状态 [root@mytestlnx02 ~]# ps -ef | grep -i mysql root 22972 1 0 14:18 pts/0 00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql mysql 23166 22972 0 14:18 pts/0 00:00:00 /usr/sbin/mysqld --basedir=/usr -

mysql benchmark基准测试

青春壹個敷衍的年華 提交于 2020-02-27 01:26:17
git项目地址: https://github.com/akopytov/sysbench 利用sysbench很容易对mysql做性能基准测试(当然这个工具很强大,除了测试主流数据库性能,还能测试其它方面,详情自己看官网项目文档) mac上的用法: 一、安装 brew install sysbench 二、先在mysql上创建一个专门的测试数据库,比如test 三、利用sysbench先生成测试数据 sysbench --test=oltp --oltp-table-size=5000000 --oltp-table-name=t_test \ --mysql-table-engine=innodb \ --mysql-host=localhost \ --mysql-db=test \ --mysql-user=root \ --mysql-password=*** \ prepare 上面这一堆的意思,是在本机localhost的test数据库的t_test中创建500万条测试数据,表的数据库引擎为innodb. tips: 如果想知道还有哪些参数可用,可输入命令 sysbench --test=oltp help centos上如果用yum install sysbench安装的话,运行时可能会出现 FATAL: no database driver specified

SQL进阶(1)——MySQL元数据与索引

混江龙づ霸主 提交于 2020-02-26 23:11:09
文章目录 1.mysql元数据 获取服务器元数据 2.mysql函数 2.1 常用的字符串函数 2.2 数字函数 2.3 日期函数 2.4 高级函数 3.MySQL索引 3.1 普通索引 3.1.1 创建索引 3.1.2 修改表结构(添加索引) 3.1.3 创建表的时候直接指定 3.1.3 删除索引的语法 3.2 唯一索引 3.2.1 创建索引 3.2.2 修改表结构 3.2.3 创建表的时候直接指定 3.3 使用ALTER 命令添加和删除索引 3.4 使用 ALTER 命令添加和删除主键 3.5 显示索引信息 4.MySQL 事务 4.1、事务控制语句: 4.2、MYSQL 事务处理主要有两种方法: 1.mysql元数据 你可能想知道MySQL以下三种信息: 查询结果信息: SELECT, UPDATE 或 DELETE语句影响的记录数。 数据库和数据表的信息: 包含了数据库及数据表的结构信息。 MySQL服务器信息: 包含了数据库服务器的当前状态,版本号等。 在MySQL的命令提示符中,我们可以很容易的获取以上服务器信息。 获取服务器元数据 以下命令语句可以在 MySQL 的命令提示符使用,也可以在脚本中 使用,如PHP脚本。 命令 描述 SELECT VERSION( ) 服务器版本信息 SELECT DATABASE( ) 当前数据库名 (或者返回空) SELECT

MYSQL 数据库基本操作

心已入冬 提交于 2020-02-26 22:18:17
插入数据 在建立一个空的数据库和数据表时,首先需要考虑的是如何向数据表中添加数据,该操作可以使用INSERT语句来完成。使用INSERT语句可以向一个已有数据表插一个新行,也就插入一行新记录。 在MySQL中,INSERT语句有3种语法格式,分别是INSERT... VALUES语句、INSERT... SET语句和INSERT... SELECT语句。 使用INSERT... VALUES语句插入数据 使用INSERT... VALUES语句插入数据,是INSERT语句的最常用的语法格式。 语法格式如下: INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] 数据表名 [(字段名,...)] VALUES ({值 | DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATE 字段名=表达式, ... ] 例子: create database test; #创建库 use test; #进入库 create table info (id int not null,name char(16),score decimal(5,2),age int(8)); #创建表 插入测试数据 insert into info (id,name,score,age)values(1,

Walle实现自动发布

谁说胖子不能爱 提交于 2020-02-26 22:17:26
Walle实现自动发布 walle是啥?能干啥?有啥用?这些我都不会去一一道来,如果你还没有明白前面提出的三个问题就不用往下看了,这里这回将walle安装了怎么去使用.如果都要面面俱到不是一两篇博客可以解决的问题,如果希望将walle部署到生产环境中,这篇博客或许能给你点启发,下面给出的网站完全可以解决前面的几个问题了.直接开始吧. walle官方网站 http://www.walle-web.io/ walle1.x官方安装教程 https://walle-web.io/docs/1/installation.html centos7安装walle https://www.jianshu.com/p/9ee126684641?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=weixin gitlab安装 https://www.jianshu.com/p/1502aaed3ee6?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=weixin ###前期准备 系统centos6.5 walle机器必须先部署LNMP/LAMP环境,这里使用LNMP gitlab非必须

Walle实现自动发布

a 夏天 提交于 2020-02-26 22:13:29
walle是啥?能干啥?有啥用?这些我都不会去一一道来,如果你还没有明白前面提出的三个问题就不用往下看了,这里这回将walle安装了怎么去使用.如果都要面面俱到不是一两篇博客可以解决的问题,如果希望将walle部署到生产环境中,这篇博客或许能给你点启发,下面给出的网站完全可以解决前面的几个问题了.直接开始吧. walle官方网站 http://www.walle-web.io/ walle1.x官方安装教程 https://walle-web.io/docs/1/installation.html centos7安装walle https://www.jianshu.com/p/9ee126684641?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=weixin gitlab安装 https://www.jianshu.com/p/1502aaed3ee6?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=weixin ###前期准备 系统centos6.5 walle机器必须先部署LNMP/LAMP环境,这里使用LNMP gitlab非必须,不会安装嫌麻烦的可以直接使用git或者github