mysql数据库

mysql架构详解

匆匆过客 提交于 2020-01-03 09:19:16
一、mysql组件 1.mysql对外提供的交互接口(connectors): 编程语言通过connectors组件,比如php,pymysql,JDBC来操作sql 2.管理服务和工具组件(Management Service & Utilities): 提供对mysql的集成管理,比如备份,恢复,等 3.连接池组件(Connection Pool): 负责监听客户端向server的各种请求,每个成功连接的客户端都会分配一个线程负责与server通信 4.sql接口组件(SQL Interface): 接收客户端sql命令,并将结果返回给客户端 5.查询分析器(Parser): 解析sql语法是否正确,不合理则报错 6.优化器组件(Optimizer): 对sql语句按照标准优化分析 7.缓存组件(Caches & Buffers): 缓存缓冲数据 8.插件式存储引擎(Pluggable Storage Engines): mysql是关系型数据库,数据是以表的形式存储的,对于表的创建,数据的存储,更新都是由存储引擎完成的 9.物理文件系统: 真实存储数据表,数据,日志的地方 二、查询流程 1.客户端服务端通信协议: 在任一时刻,要么是服务器向客户端发送数据,要么是客户端向服务器发送数据,这两个动作不能同时发生。一旦一端开始发送消息,另一端要接收完整个消息才能响应它

IDEA中连接数据库失败

送分小仙女□ 提交于 2020-01-03 05:08:46
处理IDEA中连接数据库报错: 报错提示: [08001] Could not create connection to database server. Attempted reconnect 3 times. Giving up. 出现这种问题的原因有两种 1.安装数据库是选择的位置区域不在中国有时差 处理方法: jdbc:mysql://localhost:3306/数据库名称?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC 2.电脑中安装的mysql和IDEA中导入的mysal以及连接是使用的IDEA版本不一样 处理方法: 1.修改pom.xml中的版本 2、修改DataBase中数据库的版本 再次连接就可以了 来源: CSDN 作者: XI·无缘 链接: https://blog.csdn.net/weixin_46015643/article/details/103793921

mysql数据导出

本小妞迷上赌 提交于 2020-01-03 03:48:33
首先,我们查看自己的数据结构: 导出数据到某一固定文件夹,当然,你最后可以选择保存为CSV或者txt格式都是可以的 mysql> select * from student3 -> into outfile 'C://Users/SHNU/desktop/s3.csv' -> ; 导出数据库: 此时,我们发现,表格之间数据之间黏在了一起,没有分开 fields terminated by ','表示字段分隔符为“,”,enclosed by''''表示每个字段用双引号引用起来, 记录结束符为回车符(默认如此,可以不写) mysql> select * from student3 -> into outfile 'C://Users/SHNU/desktop/s4.csv' -> fields terminated by ',' enclosed by''''; 此时表中的数据便分割开来: 如果不希望字段两边用引号,则语句改为如下: mysql> select * from student3 -> into outfile 'C://Users/SHNU/desktop/s4.csv' -> fields terminated by ',' optionally enclosed by''''; 但问题来了,我们发现表头不见了, 此时比如我们选择想要出现name,Weight列的表头

mysql load data

為{幸葍}努か 提交于 2020-01-03 03:41:22
转自: http://leepiao.blog.163.com/blog/static/48503130200961305629218/ LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE] INTO TABLE tbl_name [FIELDS [TERMINATED BY '\t'] [OPTIONALLY] ENCLOSED BY ''] [ESCAPED BY '\\' ]] [LINES TERMINATED BY '\n'] [IGNORE number LINES] [(col_name,...)] LOAD DATA INFILE语句从一个文本文件中以很高的速度读入一个表中。 如果指定LOCAL关键词,从客户主机读文件。如果LOCAL没指定,文件必须位于服务器上 。(LOCAL在MySQL3.22.6或以后版本中可用。) 为了 安全 原因,当读取位于服务器上的文本文件时,文件必须处于数据库目录或可被所有人读取。另外,为了对服务器上文件使用LOAD DATA INFILE,在服务器主机上你必须有file的权限。见6.5 由MySQL提供的权限。 如果你指定关键词LOW_PRIORITY,LOAD DATA语句的执行被推迟到没有其他客户读取表后。

php数据库连接及简单操作

梦想与她 提交于 2020-01-03 00:34:38
数据库改密码:mysql的控制台mysql console 中文乱码解决方法:原因编码格式不一致 1.建立数据库的时候,字符集选择utf-8 2.修改mysql的配置:在[mysqld]模块下面添加character_set_server=utf8 3.修改页面的编码格式为uft-8,header("content-type:text/html;charset=utf-8"); 数据库连接方法1 //造一个连接,需要@ 错误控制运算符 屏蔽错误,这个连接方式将来会被取消 $connect = @mysql_connect("localhost","root","123"); //选择要操作的数据库 mysql_select_db("z-stu",$connect); //写SQL语句 $sql = "select * from Nation"; //执行SQL语句,返回结果集 $result = mysql_query($sql); //从结果集中读取数据 while($attr = mysql_fetch_row($result)) { var_dump($attr); } 数据库连接方法2 //造一个连接 $con = new MySQLi("localhost","root","","z-stu"); //判断是否有错误 if(mysqli_connect_error()){

MySQL分库分表之MyCat实现(五)

半世苍凉 提交于 2020-01-02 21:40:50
一 . 分库分表 什么是分库分表 ? 分库分表就是为了解决由于数据量过大而导致数据库性能降低的问题,将原来独立的数据库拆分成若干数据库组成,将数据大表分成若干数据表组成,使得单一数据库、单一数据表的数据量变小,从而达到提升数据库性能的目的。 2.分库分表的方式 2.1 分库 : 1. 垂直分库 : 是指按照业务将表进行分类,分布到不同的数据库上面,每个库可以放不同的服务器上,它的核心理念是专库专用。 2 水平分库 : 把同一个表的数据按一定规则拆分到不同的数据库中,每个库可以放不同的服务器上 2.2 分表 : 1. 垂直分表 : 将一个表按照字段分成多表,每个表存储其中一部分字段 2. 水平分 表 : 在同一个数据库内,把同一个表的数据按一定规则拆到多个表中。 二. MyCat 实现 2.1 什么是 MyCat? MyCat 是目前最流行的基于 java 语言编写的数据库中间件,是一个实现了 MySQL 协议的服务器,前端用户可以把它看作是一个数据库代理,用 MySQL 客户端工具和命令行访问,而其后端可以用 MySQL 原生协议与多个 MySQL 服务器通信,也可以用 JDBC 协议与大多数主流数据库服务器通信,其核心功能是分库分表。配合数据库的主从模式还可实现读写分离。 MyCat 是基于阿里开源的 Cobar 产品而研发, Cobar 的稳定性、可靠性

前后端分离部署

你离开我真会死。 提交于 2020-01-02 21:37:00
部署总体: vue +uwsgi+django+mysql+redis 创建luffy文件夹: [root@localhost opt]# cd luffy 路飞学城django代码下载后端:wget https://files.cnblogs.com/files/pyyu/luffy_boy.zip解压 unzip luffy_boy.zipvue代码下载前端:wget https://files.cnblogs.com/files/pyyu/07-luffy_project_01.zip 创建新的虚拟环境: mkvirtualenv luffy 1.前端vue部署* * vue代码下载:wget https://files.cnblogs.com/files/pyyu/07-luffy_project_01.zip解析:unzip 2.下载node.js wget https://nodejs.org/download/release/v8.6.0/node-v8.6.0-linux-x64.tar.gz 解压:tar -zxvf node-v8.6.0-linux-x64.tar.gz 配置node的环境变量即可 luffy) [root@localhost node-v8.6.0-linux-x64]# cd bin 1.(luffy) [root@localhost

PHP全栈学习笔记11

人盡茶涼 提交于 2020-01-02 20:24:14
连接MySQL mysql_connect(servername,username,password); 面向对象: <?php $servername = "localhost"; $username = "username"; $password = "password"; // 创建连接 $conn = new mysqli($servername, $username, $password); // 检测连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } echo "连接成功"; ?> 面向过程: <?php $servername = "localhost"; $username = "username"; $password = "password"; // 创建连接 $conn = mysqli_connect($servername, $username, $password); // 检测连接 if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } echo "连接成功"; ?> PDO: <?php $servername = "localhost"; $username =

sysbench压测工具 压测 mysql

孤街浪徒 提交于 2020-01-02 19:18:11
Sysbench的测试主要包括以下几个方面: 1、磁盘io性能 2、cpu性能 3、内存分配及传输速度 4、POSIX线程性能 5、调度程序性能 6、数据库性能(OLTP基准测试). sysbench 安装 注:我这里选择源码包安装sysbench0.5版本 下载软件 http://repo.percona.com/apt/pool/main/s/sysbench/ wget http://repo.percona.com/apt/pool/main/s/sysbench/sysbench_0.5.orig.tar.gz 依赖包安装 yum install m4 autoconf automake libtool mariadb-devel(centos7) cd /usr/local/src/ tar xf sysbench_0.5.orig.tar.gz mv sysbench-0.5 /usr/local/ cd /usr/local/sysbench-0.5/ ./autogen.sh ./configure --prefix=/usr/local/sysbench-0.5 --with-mysql-includes=/usr/local/mysql/include --with-mysql-libs=/usr/local/mysql/lib make && make

Sysbench 1.0.15安装及使用

巧了我就是萌 提交于 2020-01-02 19:17:57
Sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试,数据库目前支持MySQL/Oracle/PostgreSQL。 一、安装: Github地址: https://github.com/akopytov/sysbench RHEL/CentOS: curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash sudo yum -y install sysbench Sysbench可以测试如下: • oltp_*.lua: a collection of OLTP-like database benchmarks(脚本默认放在/usr/share/sysbench/) • fileio: a filesystem-level benchmark • cpu: a simple CPU benchmark • memory: a memory access benchmark • threads: a thread-based scheduler benchmark • mutex: a POSIX mutex benchmark 二、相关信息: 1、通用选项: General options: #