mysql创建数据库

MySQL备份与恢复

≡放荡痞女 提交于 2020-01-31 19:32:19
作者: roverliang 原文链接: MySQL备份与恢复 MySQL备份与恢复 上篇博客讲了MySQL的日志系统,这篇博客将系统的讲解MySQL备份与恢复。按照常理说这些内容都是属于DBA的职责,那么作为后端开发人员为什么要学习这些内容呢?是否与专业深度的思想相违背呢?其实作为WEB开发人员,一定要系统的了解从服务发起到服务终结之间所有的内容,这样才算是专精,提升自己的职业深度。MySQL就如同技术人员的粮仓,怎么储存粮食,失火的时候怎么确保粮食颗粒归仓,这是一个必须引起充分重视的问题。下面我们来系统的了解下MySQL的备份与恢复。 MySQL服务实例运行期间,意外的停电,硬盘损坏,还有一些误操作、服务器宕机等情况。这个时候如何确保数据库能够最大程度地恢复到'正确'的状态呢? 对于数据库管理人员来说,防止数据丢失最简单的方法就是:对原始数据定期进行备份,创建数据副本。但数据与预期发生不一致情况,然后使用备份的数据恢复数据。对于MySQL来说,创建数据副本的常用方法有三种 创建数据副本的方法 1、数据备份: 由 MySQL日志系统 前一篇博客我们知道数据库的全部数据都以文件的形式,存储在硬盘上,那我们就可以直接备份MySQL的所有数据目录下的文件就能够达到目的。因此在开启MySQL服务的时候要设计好各种数据文件以及日志文件的存放位置,以方便能够快速备份

MySQL主

梦想与她 提交于 2020-01-31 17:42:26
1)、什么是MySQL主从复制 MySQL主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个MySQL数据库从节点。MySQL默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,数据的更新可以在远程连接上进行,从节点可以复制主数据库中的所有数据库或者特定的数据库。 2)、MySQL主从复制作用 一、数据热备 作为备数据库,当主数据库服务器发生故障后,可切换到从数据库继续工作,避免数据丢失。 二、读写分离 可支持MySQL数据库服务器支持更大的并发。数据读写操作可分配在不同的服务器间进行。如操作报表中尤其重要,由于部分报表SQL语句非常的慢,会导致锁表,影响前台服务。使用主从复制,前台使用master,负责写,报表使用slave,负责读,那么报表SQL将不会造成前台锁表,保证了前台正常运行。 三、架构扩展 随着业务量越来越大,I/O访问频率过高,单机可能无法满足。此时做多库的存储,如一主多从方式,以降低磁盘I/O访问,提高单个机器的I/O性能。 MySQL主从复制原理 MySQL数据复制的基础是二进制日志文件(binary log file)。一台MySQL数据库一旦启用二进制日志后,其作为master节点,数据库中所有操作都会以“事件”的方式记录在二进制日志中,其他数据库作为slave通过一个I/O线程与主服务器保持通信

centos7 安装zabbix4监控系统

久未见 提交于 2020-01-31 15:43:21
centos7 安装zabbix4监控系统 一、安装zabbix环境: 安装Apache yum install -y httpd 开机启动Apache systemctl enable httpd systemctl start httpd 防火墙打开80端口 firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload 安装mariadb数据库 yum install -y mariadb mariadb-server systemctl enable mariadb systemctl start mariadb 设置MYSQL root密码 mysqladmin -uroot password "zhgc@2012" 登录 mysql -uroot -p 安装PHP yum install -y php php-mysql 下载地址: https://www.zabbix.com/download?zabbix=4.0&os_distribution=centos&os_version=7&db=mysql 安装zabbix 4 rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0

Mysql 5.7.29 手动安装

落爺英雄遲暮 提交于 2020-01-31 13:36:34
在win10下MySQL安装: 1)下载MySQL,再解压到D盘下, 注意不要放在C盘下哦! 配置环境变量: 2)在D:\mysql-5.7.29-winx64目录下新建my.ini文件,复制如下内容 [mysqld] #设置3306端 port = 3306 # 设置mysql的安装目录 basedir=D:\mysql-5.7.29-winx64 # 设置mysql数据库的数据的存放目录 datadir=D:\mysql-5.7.29-winx64\data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 3)必须以管理员身份运行cmd 如图所示操作: a) 进入mysql目录下的bin mysqld --install b) 用命令创建data目录 mysqld --initialize-insecure 注意:如果运行mysqld --install

【MySQL必知必会】学习笔记Day4

与世无争的帅哥 提交于 2020-01-31 12:25:52
【MySQL必知必会】学习笔记Day4&1.24&D10章&P62-67页 基本概念 拼接 :将值联结到一起构成单个值。 Concat() :在MySQL的SELECT语句中,可使用 Concat()函数来拼接两个列。 Concat()拼接串,即把多个串连接起来形成一个较长的串 Concat()需要一个或多个指定的串,各个串之间用逗号分隔 RTrim() :通过删除数据右侧多余的空格来整理数据 别名 :一个字段或值的替换名,别名用AS关键字赋予 导出列 : 别名有时也称为导出列 8、创建计算字段 (1)计算字段 只有数据库知道SELECT语句中哪些列是实际的表列,哪些列是计算字段。从客户机的角度来看,计算字段的数据是以与其他列的数据相同的方式返回的 (2)拼接字段 eg:vendors表包含供应商名和位置信息。假如要生成一个供应商报表, 需要在供应商的名字中按照name(location)这样的格式列出供应商的位置。 下面的SELECT语句连接以下4个元素: 存储在vend_name列中的名字; 包含一个空格和一个左圆括号的串; 存储在vend_country列中的国家; 包含一个右圆括号的串 SELECT Concat (vend_name, ' (' , vend_country ,')' ) FROM vendors ORDER BY vend_name; 注:

jdbc mysql写入中文乱码解决

爷,独闯天下 提交于 2020-01-31 10:07:04
一. 问题 数据库编码:utf8 mysql> create database dbnameDEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 表编码:utf8 drop table if exists `test`; create table `test` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `name` varchar(50) default '', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`id`) )ENGINE=InnoDB DEFAULT CHARSET=utf8; jdbc url: url: jdbc:mysql://host:port/dbname 数据库和数据库表都已经使用了utf8编码,但是插入中文数据时仍然乱码。 二. 原因 在jdbc中连接mysql时,jdbc url参数中有一个属性characterEncoding控制字符串编码,该值默认为:autodetect。 需要明确设置为 utf8 ,可解决问题。 MySQL文档解释如下,详见: https://dev.mysql.com/doc

mysql练习

谁说我不能喝 提交于 2020-01-31 08:35:36
mysql练习 随机生成100个人名和对应的密码; 人名由三个汉字或者2个汉字组成, 姓 = [许, 张, 赵, 钱, 孙, 李, 朱, 杨] 名 = [彬, 群, 宁, 盼, 龙, 欢, 丹] 密码统一6位, 由字母和字符组成; 存储上述用户信息到数据库中,保存在数据库users中的userinfo表中; import random from random import choice as choice import string import pymysql # 生成指定位数密码, 前 n-1 位为数字, 最后一位为字符; def create_passwd(count=6): nums = random.sample(string.digits, count - 1) letters = random.sample(string.ascii_letters, 1) return "".join(nums + letters) # a = create_passwd() # print(a,type(a)) # 生成随机的姓名, 有两个或三个汉字组成 ; def create_name(): first = ['许', '张', '赵', '钱', '孙', '李', '朱', '杨'] second = ['彬', '群', '宁', '盼', '龙', '欢', '丹']

SpringBoot启动出现java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required

早过忘川 提交于 2020-01-31 06:17:53
今天刚学SpringBoot,然后搭建了一个SpringBoot+MyBatis的环境,但是在运行的时候出现了 java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required 这个错误 百度了很多,都说是jdbc数据库驱动版本太高,降低就好了,后来自己排查,发现问题确实出在版本,下面是我这边问题的解决办法,不一定能保证都能解决大家相同的异常,同时写下来记录一下自己的学习过程。 首先打开pom.xml,找到mysql连接驱动的依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> 我的项目依赖是在创建项目时选择的依赖,然后在项目创建后由IDEA自动添加的依赖,如上代码就是自动添加的依赖,不过自动添加的依赖是没有版本号<version></version>的,可能是默认版本比较高,所以我这边一直出错,连接不了。然后我添加上版本号,变成如下 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId>

windows下 mysql 转移data目录

谁说我不能喝 提交于 2020-01-31 05:23:11
昨天遇到一个现场问题,实施人员把mysql的data放在C盘,用过一阵以后C盘快满了。 于是准备做数据迁移,想到如下几种方案(均需要先把mysql服务停掉): 1.转储SQL文件 但是问题是,想要迁移的库占了1.5T,是T啊,不是G,光生成SQL文件就需要N多天了,还不说这种方式对于大容量库容易出问题,果断放弃 2.使用软链接 还想到一个方式是软链接:把data复制到别的盘,C盘的data注释掉(原文件最好先别删),然后C盘原路径下使用一个名为data的软链接mklink到刚才转移到其他盘符的data上,mysql.ini配置里的路径保持不变(就是用了一个名字和原名称data一样的影子指到了别的盘,数据存储在其他盘,但是路径仍在C盘,点开C盘的data,上方的路径显示为C盘路径,不像快捷方式那样:点击快捷方式后跳转到目标位置,路径也变成别的盘符)。 理论上再启动mysql就ok了,然鹅呢,重启数据库失败,error1067,查了N多个1067的解决方案,均无果。放弃! (此方式其实可以使用,后文再说) 3.迁移data文件夹,更改mysql.ini路径 步骤:1)拷贝data文件夹到其他盘符 2)更改my.ini中datadir的路径为新data路径(不用将路径中的\改成/) 3)重启mysql 咦???还是error1067!!! 后来发现一个帖子说道

MySQL存储引擎

ぐ巨炮叔叔 提交于 2020-01-31 04:45:50
MySQL存储引擎 存储引擎 MySQL存储引擎 存储引擎   MySQL数据库在实际的工作中分为了语句分析层和存储引擎层,其中语句分析层主要负责与客户端完成连接并且事先分析出SQL语句的内容和功能,存储引擎层则主要负责接收来自语句分析层的分析结果,完成相应的数据输入输出和文件操作,即如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型)。 MySQL存储引擎 (1)MyISAM存储引擎   不支持事务、也不支持外键,优势是访问速度快,对事务完整性没有要求或者以SELECT、INSERT为主的应用基本上可以用这个引擎来创建表。支持3种不同的存储格式,分别是:静态表、动态表、压缩表 静态表:表中的字段都是非变长字段,每个记录都是固定长度的,优点存储非常迅速,容易缓存,出现故障容易恢复;缺点是占用的空间通常比动态表多(因为存储时会按照列的宽度定义补足空格) 动态表:记录不是固定长度的,这样存储的优点是占用的空间相对较少;缺点:频繁的更新、删除数据容易产生碎片,需要定期执行OPTIMIZE TABLE或者myisamchk -r命令来改善性能 压缩表:因为每个记录是被单独压缩的,所以只有非常小的访问开支 (2)InnoDB存储引擎   该存储引擎提供了具有提交