mysql导入sql文件

# IT明星不是梦 # MySQL高可用集群之MMM

▼魔方 西西 提交于 2020-02-26 01:21:32
MySQL高可用集群之MMM 一、MMM简介 MMM即Multi-Master Replication Manager for MySQL(mysql多主复制管理器) ,基于perl实现,关于mysql主主复制配置的监控、故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写入),MMM也能对从服务器进行读负载均衡,所以可以用它来在一组用于复制的服务器启动虚拟IP,除此之外,它还有实现数据备份、节点之间重新同步功能的脚本。MySQL本身没有提供replication failover的解决方案,通过MMM方案能实现服务器的故障转移,从而实现mysql的高可用。MMM不仅能提供浮动IP的功能,如果当前的主服务器挂掉后,会将你后端的从服务器自动转向新的主服务器进行同步复制,不用手工更改同步配置。这个方案是目前比较成熟的解决方案。详情请看官网: http://mysql-mmm.org 优点: 高可用性,扩展性好,出现故障自动切换。 对于主主同步,在同一时间只提供一台数据库写操作,保证的数据的一致性。 当主服务器挂掉以后,另一个主立即接管,其他的从服务器能自动切换,不用人工干预。 缺点: monitor节点是单点,不过这个也可以结合keepalived或者haertbeat做成高可用; 至少三个节点,对主机的数量有要求,需要实现读写分离,还需要在前端编写读写分离程序。

Mysql 备份恢复与 xtrabackup备份

笑着哭i 提交于 2020-02-26 00:00:12
Mysql 备份恢复与 xtrabackup备份 1.1 备份的原因   备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低。衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(RTO),前者重点关注能恢复到什么程度,而后者则重点关注恢复需要多长时间。 1.1.1 备份的目录   做灾难恢复:对损坏的数据进行恢复和还原   需求改变:因需求改变而需要把数据还原到改变以前   测试:测试新功能是否可用 1.1.2 备份中需要考虑的问题   可以容忍丢失多长时间的数据;   恢复数据要在多长时间内完;   恢复的时候是否需要持续提供服务;   恢复的对象,是整个库,多个表,还是单个库,单个表。 1.1.3 备份的类型 热备份:   这些动态备份在读取或修改数据的过程中进行,很少中断或者不中断传输或处理数据的功能。使用热备份时,系统仍可供读取和修改数据的操作访问。 冷备份:   这些备份在用户不能访问数据时进行,因此无法读取或修改数据。这些脱机备份会阻止执行任何使用数据的活动。这些类型的备份不会干扰正常运行的系统的性能。但是,对于某些应用程序,会无法接受必须在一段较长的时间里锁定或完全阻止用户访问数据。 温备份:   这些备份在读取数据时进行,但在多数情况下,在进行备份时不能修改数据本身

MySQL备份之mysqldump

假如想象 提交于 2020-02-25 02:30:46
mysqldump 是 mysql自带的数据库备份工具 ,属于 单线程 ,大部分生产环境的mysql数据库备份都是使用该工具,mysqldump可以将数据导出为原生sql语句,在将其数据导入至数据库时,相当于是执行一遍备份文件中的所有sql语句, mysqldump 提供了 丰富的options选项 ,可以在 导出或者导入数据 的时候, 添加需要的options ,以便达到用户预期的效果 mysql常用参数 // 导出全部数据库。 // --all-databases , -A mysqldump -uroot -p --all-databases // 导出全部表空间。 // --all-tablespaces , -Y mysqldump -uroot -p --all-databases --all-tablespaces // 不导出任何表空间。 // --no-tablespaces , -y mysqldump -uroot -p --all-databases --no-tablespaces // 导出几个数据库。参数后面所有名字参量都被看作数据库名。 // --databases, -B mysqldump -uroot -p --databases [数据库名1] [数据库名2] // 每个数据库创建之前先添加drop数据库语句

uct框架数据库sql文件导入错误之 sql_mode

蹲街弑〆低调 提交于 2020-02-20 03:29:04
uct框架在导入sql文件时可能会出现一种错误 ERROR 1101 (42000): BLOB/TEXT column 'brief' can't have a default value 这是由于mysql环境变量sql_mode设置使得对sql语句检查规则和数据校验有不同处理方式。 mysql支持三种sql_mode模式。 ANSI模式: 宽松模式,对插入数据进行校验,如果不符合定义类型或长度,对数据类型调整或截断保存,报warning警告。 TRADITIONAL模式: 严格模式,当向mysql数据库插入数据时,进行数据的严格校验,保证错误数据不能插入,报error错误。用于事物时,会进行事物的回滚。 STRICT_TRANS_TABLES模式: 严格模式,进行数据的严格校验,错误数据不能插入,报error错误。 可以通过以下语句查看当前使用模式 select @@sql_mode; 检查发现当前使用的是严格模式导致sql导入失败。因此解决办法是 修改mysql配置文件/etc/my.cnf 在[mysqld]下面找到sql_mode配置注释掉重启即可 #sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES ps: my.cnf 可能有多个配置文件,因此如果你发现修改了还是没有生效,要检查一下是否有遗漏。 mysql -

mysql之mysqldump工具参数学习

荒凉一梦 提交于 2020-02-19 11:59:23
去年就想把mysql ocp考一下的,但一直没有耐住性子去做题,又总是走马观花式的看些学习资料,总感觉无所得。今年受疫情影响,空闲时间较多,惟愿静下心来,脚踏实地如当初学习oracle一般,从基础知识开始,一点一点积累。 现在的策略是,根据mysql ocp题库,以题目所涉及的知识点入手,以点到面的方式来填充mysql知识图谱。 ------------------------------------------------------------------- 1、 --all-databases, -A //导出全部数据库。 mysqldump -uroot -p --all-databases>outfile.sql mysqldump -uroot -p -A>outfile.sql //等同于上句 2、 --all-tablespaces, -Y //导出全部表空间。 mysqldump -uroot -p --all-databases --all-tablespaces>outfile.sql mysqldump -uroot -p –A -Y>outfile.sql //等同于上句 3、 --no-tablespaces, -y //不导出任何表空间信息。 #mysqldump -uroot -p --all-databases --no-tablespaces

MySQL的binlog日志

放肆的年华 提交于 2020-02-18 06:43:02
binlog 基本认识 MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。 一般来说开启二进制日志大概会有1%的性能损耗(参见MySQL官方中文手册 5.1.24版)。二进制有两个最重要的使用场景: 其一:MySQL Replication在Master端开启binlog,Mster把它的二进制日志传递给slaves来达到master-slave数据一致的目的。 其二:自然就是数据恢复了,通过使用mysqlbinlog工具来使恢复数据。 二进制日志包括两类文件:二进制日志索引文件(文件名后缀为.index)用于记录所有的二进制文件,二进制日志文件(文件名后缀为.00000*)记录数据库所有的DDL和DML(除了数据查询语句)语句事件。 一、开启binlog日志: vi编辑打开mysql配置文件 # vi /usr/local/mysql/etc/my.cnf 在[mysqld] 区块 设置/添加 log-bin=mysql-bin 确认是打开状态(值 mysql-bin 是日志的基本名或前缀名); 重启mysqld服务使配置生效 # pkill mysqld # /usr/local/mysql/bin/mysqld_safe --user

MySQL---二进制日志

泄露秘密 提交于 2020-02-18 06:42:37
mysql---二进制日志 记录了所有对MySQL数据库的修改事件,包括增删改查事件和对表结构的修改事件 二进制日志的开启 #是否启用了日志 mysql> show variables like 'log_bin'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | log_bin | OFF | +---------------+-------+ [mysqld] log-bin [=DIR \ [filename]] log_bin=mysql-bin 名字可以随便起(mysql-bin) 格式 binlog_format={STATEMENT|ROW|MIXED} 语句(statement):默认的记录格式,基于段 行(row):定义的并非数据本身而是这一行的数据是什么 混合模式(mixed):交替使用行和语句、由mysql服务器自行判断 基于段的日志格式 优点 日志记录量相对较小,节约磁盘及网络IO 只对一条记录修改或者插入,row格式所产生的日志量小于段产生的日志量 缺点 必须要记录上下文信息,保证语句在从服务器上执行结果与主服务器相同 特定函数如UUID(),user()这样非确定性函数还是无法复制;可能造成MySQL复制的主备服务器数据不一致 操作 mysql

在腾讯云上部署vue前后端分离项目

坚强是说给别人听的谎言 提交于 2020-02-18 02:10:34
1、购买云服务器 我使用的腾讯云,通过学生身份认证白嫖了15天的试用。。。 操作系统为Linux的cent OS7 关于如何购买并配置云服务器,可以参照此篇官方文档 快速配置 Linux 云服务器 2、配置云服务器的环境 我的本地项目用到了node,mysql数据库,所以就要在云服务器上也把这些环境给配置好,首先是配置node环境: 1、执行以下命令,下载 Node.js Linux 64位二进制安装包。 wget https://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-x64.tar.xz 2、执行以下命令,解压安装包。 tar xvf node-v10.16.3-linux-x64.tar.xz 3、依次执行以下命令,创建软链接。 ln -s /root/node-v10.16.3-linux-x64/bin/node /usr/local/bin/node ln -s /root/node-v10.16.3-linux-x64/bin/npm /usr/local/bin/npm 成功创建软链接后,即可在云服务器任意目录下使用 node 及 npm 命令。 依次执行以下命令,查看 Node.js 及 npm 版本信息。 node -v npm -v 然后安装mySql数据库: 1、首先

mysqldump备份和恢复

那年仲夏 提交于 2020-02-16 18:57:55
一、备份单个数据库 1、备份命令:mysqldump   MySQL数据库自带的一个很好用的备份命令。是逻辑备份,导出 的是SQL语句。也就是把数据从MySQL库中以逻辑的SQL语句的形式直接输出或生成备份的文件的过程。 单实例语法(Syntax): mysqldump -u <username> -p <dbname> > /path/to/***.sql 多实例的备份语法(Syntax): mysqldump -u <username> -p <dbname> -S <sockPath> > /path/to/***.sql eg: mysqldump -u root -p wordpress > /opt/wordpress_$(date +%F).sql 2、参数解析 -A --all-databases:导出全部数据库 -Y --all-tablespaces:导出全部表空间 -y --no-tablespaces:不导出任何表空间信息 --add-drop-database每个数据库创建之前添加drop数据库语句。 --add-drop-table每个数据表创建之前添加drop数据表语句。(默认为打开状态,使用--skip-add-drop-table取消选项) --add-locks在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。

linux 中的MYSQL命令汇总

為{幸葍}努か 提交于 2020-02-15 22:38:55
linux下mysql命令(2010-04-14 18:09:36)转载标签:杂谈 一、总结一下: 1.linux下启动mysql的命令: mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysql的命令: mysqladmin restart /ect/init.d/mysql restart (前面为mysql的安装路径) 3.linux下关闭mysql的命令: mysqladmin shutdown /ect/init.d/mysql shutdown (前面为mysql的安装路径) 4.连接本机上的mysql: 进入目录mysql\bin,再键入命令mysql -uroot -p, 回车后提示输入密码。 退出mysql命令:exit(回车) 5.修改mysql密码: mysqladmin -u用户名 -p旧密码 password 新密码 或进入mysql命令行SET PASSWORD FOR root=PASSWORD("root"); 6.增加新用户。(注意:mysql环境中的命令后面都带一个分号作为命令结束符) grant select on 数据库.* to 用户名@登录主机 identified by "密码" 如增加一个用户test密码为123,让他可以在任何主机上登录