mysql创建数据库

Windows10下安装MySQL8.0.19

◇◆丶佛笑我妖孽 提交于 2020-02-06 00:23:02
下学期就要学习MySQL了,没事先在家搞一搞,没想到光安装就费了半天劲,所以我决定整理下,供大家参考。 第一步下载安装包 : 官网:https://dev.mysql.com/downloads/mysql/ 毕竟是甲骨文公司的产品,去官网下真的慢! 这里有两个供选择的,我建议选第一个(因为我先下了第二个,结果失败了,不知道为什么总是出错。。。) 下载完自行选择路径解压就可以了。 第二步配置my.ini: 在根目录下新建文本文件,将下面的复制上,注意修改后缀为.ini [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=C:\Program Files\mysql-8.0.18-winx64 # 设置mysql数据库的数据的存放目录 datadir=C:\Program Files\mysql-8.0.18-winx64\data # 允许最大连接数 max_connections=200 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=10 # 服务端使用的字符集默认为UTF8 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native

mysql事务隔离界别与锁机制

你说的曾经没有我的故事 提交于 2020-02-05 22:58:43
数据库锁 共享锁(Shared lock) 例1: ---------------------------------------- T1: select * from table (请想象它需要执行1个小时之久,后面的sql语句请都这么想象) T2: update table set column1='hello' 过程:T1运行 (加共享锁) T2运行等待T1运行完之后再运行T2 之所以要等,是因为T2在执行update前,试图对table表加一个排他锁,而数据库规定同一资源上不能同时共存共享锁和排他锁。所以T2必须等T1执行完,释放了共享锁,才能加上排他锁,然后才能开始执行update语句。 例2: ---------------------------------------- T1: select * from table T2: select * from table 这里T2不用等待T1执行完,而是可以马上执行。 分析: T1运行,则table被加锁,比如叫lockA T2运行,再对table加一个共享锁,比如叫lockB。 两个锁是可以同时存在于同一资源上的(比如同一个表上)。这被称为共享锁与共享锁兼容。这意味着共享锁不阻止其它session同时读资源,但阻止其它session update 例3: ---------------------------------

mysql(2)

爷,独闯天下 提交于 2020-02-05 21:27:11
1、DQL查询数据 1.1、DQL (Data Query LANGUAGE : 数据查询语言) 所有的查询操作都用它 Select 简单的查询,复杂的查询它都能做~ 数据库中最核心的语言,最重要的语句 使用频率最高的语句 1.2、指定查询字段 SELECT * FROM student SELECT * FROM result -- 查询指定字段 SELECT ` studentNo ` , ` studentname ` FROM student -- 别名 给结果起一个名字 SELECT ` studentNo ` AS 学号 , ` studentname ` AS 姓名 FROM student -- 函数 Concat(a,b) SELECT CONCAT ( '姓名:' , studentname ) AS 新名字 FROM student 语法: SELECT 字段,... FROM 表 去重 作用:去除SELECT 查询出来的结果中重复的数据,重复的数据只显示一条 -- 去重 SELECT * FROM result SELECT ` studentno ` FROM student SELECT DISTINCT ` studentno ` FROM student 数据库的列 SELECT VERSION ( ) -- 查询系统版本 SELECT 90 - 2

MySQL基础

﹥>﹥吖頭↗ 提交于 2020-02-05 21:19:40
1、MySQL的部署结构 服务器端:服务存储/维护数据 要确保3306不被占用 mysqld.exe 客户端:负责向服务端发起增删改差 mysql.exe 2、使用客户端连接服务器端 mysql.exe -h127.0.0.1 -P3306 -uroot -p -h host 主机ip或域名 -P port 端口 -u user 用户 -p password 密码 mysql -uroot 注意:连接的时候不能在结尾加分号 3、MySQL常用管理命令 quit; 退出服务器连接 show databases: 显示服务器上当前所有数据库 use 数据库名; 进入指定的数据库 show tables; 显示当前数据库中所有的数据库表 desc 表名; 描述表中有哪些列 4、SQL命令 SQL:结构化查询语言,用于操作关系型数据库,主要是对数据库进行增删改查等操作 SQL命令的两种执行方式: (1)交互模式:适用于临时性的查看数据 (2)脚本模式:适用于批量操作数据 不能进入MySQL mysql -uroot <脚本路径名 5、SQL语法规范 (1)每条SQL命令可以跨越多行遇到英文分号结束 (2)假如某一条命令出现语法错误,则该语句及后面的语句都不会再执行 (3)SQL命令不区分大小写,习惯上关键字用大写,非关键字用小写 (4)SQL中可以使用单行注释(#),也可以使用多行注释(/

MySQL基本命令整理,java数据库秘籍!

安稳与你 提交于 2020-02-05 19:08:45
MySQL基本命令整理,java数据库秘籍! 一、 mysql服务的启动和停止 net stop mysql net start mysql 二、 登陆mysql 语法如下: mysql -u用户名 -p用户密码 键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是: mysql> 注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP 三、 增加新用户 格式:grant 权限 on 数据库. to 用户名@登录主机 identified by “密码” 如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先用以 root用户连入mysql,然后键入以下命令: grant select,insert,update,delete on . to user1@localhost Identified by “password1″; 如果希望该用户能够在任何机器上登陆mysql,则将localhost改为”%”。 如果你不想user1有密码,可以再打一个命令将密码去掉。 grant select,insert,update,delete on mydb. to user1@localhost identified by “”;

MySQL高可用方案——双主

我的未来我决定 提交于 2020-02-05 18:06:21
MySQL的高可用方案有很多种,双主、MHA、MMM等等,这里只是写下最简单的双主这种高可用方案。 一、配置MySQL互为主从 1、环境准备 系统 IP 主机名 服务 Centos 7.5 192.168.20.2 mysql01 MySQL+keepalived Centos 7.5 192.168.20.3 mysql02 MySQL+keepalived 注:MySQL已部署完成,可参考博文 Centos部署MySQL 5.7 进行部署。 2、开启二进制日志及中继日志 #主机mysql01配置文件如下: [root@mysql01 ~]# cat /etc/my.cnf [mysqld] basedir=/usr/local/mysql datadir=/usr/local/mysql/data port=3306 server_id=1 #server_id必须唯一 socket=/usr/local/mysql/mysql.sock log-error=/usr/local/mysql/data/mysqld.err log-bin=/usr/local/mysql/data/log_bin #指定二进制日志文件 relay-log=/usr/local/mysql/data/relay-bin #指定中继日志 relay-log-index=relay-bin

MySQL - 创建用户和授权

我的未来我决定 提交于 2020-02-05 11:08:27
https://www.cnblogs.com/stfei/p/9184320.html # 创建新用户的步骤: 1,进入到mysql数据库下 mysql > use mysql Database changed 2,对新用户增删改 1. 创建用户: # 指定ip:192.118.1.1的mjj用户登录 create user 'mjj' @' 192.118 .1 .1 ' identified by ' 123 '; # 指定ip:192.118.1.开头的mjj用户登录 create user ' mjj '@' 192.118 .1 . % ' identified by ' 123 '; # 指定任何ip的mjj用户登录 create use ' mjj '@' % ' identified by ' 123 '; 2.删除用户 drop user ' 用户名 '@' IP地址 '; 3.修改用户 rename user ' 用户名 '@' IP地址 ' to ' 新用户名 '@' IP地址 '; 4.修改密码 set password for ' 用户名 '@' IP地址 '=Password(' 新密码' ) ; # 对当前用户授权管理: #查看权限 show grants for '用户' @ 'IP地址' #授权 grant select ,insert

你真的知道如何设置数据库连接池的大小吗

本小妞迷上赌 提交于 2020-02-05 09:02:24
前段时间在一个老项目中经历过一个问题:一个 Dubbo 服务,启动的时候慢的要死,后来看日志查原因整个过程一直在初始化 数据库 连接。一看数据库连接参数,连接池大小:1024。 很多入行晚的同学没有经历过手写 JDBC 连接的日子。那个时候没有数据库连接池的概念,都是原生代码一顿搞,后来有了 iBATIS 之后 Java 开发的繁杂程度才逐渐减轻,也衍生 C3P0 数据库连接池这种基础的东西。罗马不是一天建成的,可是互联网发展太快了,技术压力逼迫下各种中间件被迫研发,大家加班加点搞出来各种高大上的脚手架,也成就很多 伟人 。 数据库连接使用 TCP 的方式,建立连接需要3次握手,释放连接需要4次挥手,当今这种互联网使用频率下,如果每一次访问数据库都重新建立连接,我估计你们公司倒闭800次都不够。 1. 数据库连接的过程是怎样的 Java 鼻祖 Sun 公司是想以一套API统一天下,奈何各个数据库服务器厂商太给力统一不了。无奈之举是创建了一个统一的接口,提出一套统一接入的步骤,各个厂商实现接口,按照步骤加载自己的数据库。所以现在的方案就是4板斧: 注册驱动,为人所知的: Class.forName() ; 获取Connection,成功即与数据库建立连接; 拿到Statement对象,用于操作数据库的CRUD; 获取数据库返回结果ResultSet。

数据库存储引擎

假如想象 提交于 2020-02-05 07:28:21
mysql存储引擎概述 存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方 法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型) SQL 解析器、SQL 优化器、缓冲池、存储引擎等组件在每个数据库中都存在,但不是每 个数据库都有这么多存储引擎。MySQL 的插件式存储引擎可以让存储引擎层的开发人员设 计他们希望的存储层,例如,有的应用需要满足事务的要求,有的应用则不需要对事务有这 么强的要求 ;有的希望数据能持久存储,有的只希望放在内存中,临时并快速地提供对数据 的查询。 一种类型表明的是一种存储方式 存储引擎:就是表的类型,不同的类型就会对应不同的处理机制去处理他 事务:就是要么同时成功,要么同时不成功 mysql支持哪些存储引擎? mysql5.6支持的存储引擎包括InnoDB、MyISAM、MEMORY、CSV、BLACKHOLE、FEDERATED、MRG_MYISAM、ARCHIVE、PERFORMANCE_SCHEMA。 其中NDB和InnoDB提供事务安全表,其他存储引擎都是非事务安全表。 各种存储引擎的特性 InnoDB MySql 5.6 版本默认的存储引擎。InnoDB 是一个事务安全的存储引擎,它具备提交、回滚以及崩溃恢复的功能以保护用户数据。InnoDB

数据库 -- 存储引擎介绍

孤人 提交于 2020-02-05 06:13:48
mysql引擎介绍 1,概念   mysql5.6支持的存储引擎包括InnoDB、MyISAM、MEMORY、CSV、BLACKHOLE、FEDERATED、MRG_MYISAM、ARCHIVE、PERFORMANCE_SCHEMA。其中NDB和InnoDB提供事务安全表,其他存储引擎都是非事务安全表。 mysql支持的存储引擎 MySQL服务器采用了多层设计和独立模块,插件式存储引擎体系结构,允许将存储引擎加载到正在运新的MySQL服务器中,图中的Pluggable Storage Engines部分。采用MySQL服务器体系结构,由于在存储级别上(也就是Pluggable Storage Engines)提供了一致和简单的应用模型和API,应用程序编程人员和DBA可不再考虑所有的底层实施细节。因此,尽管不同的存储引擎具有不同的能力,应用程序是与之分离的。存储引擎就司职与文件系统打交道了。 并发性:某些应用程序比其他应用程序具有很多的颗粒级锁定要求(如行级锁定)。 事务支持:并非所有的应用程序都需要事务,但对的确需要事务的应用程序来说,有着定义良好的需求,如ACID兼容等。 引用完整性:通过DDL定义的外键,服务器需要强制保持关联数据库的引用完整性。 物理存储:它包括各种各样的事项,从表和索引的总的页大小,到存储数据所需的格式,到物理磁盘。 索引支持