mysql导入sql文件

MySQL进阶

吃可爱长大的小学妹 提交于 2019-11-28 19:27:46
回顾基础命令语句 修改数据表 添加字段: alter table 表名 add 字段名 列类型 [not null|null][primary key][unique][auto_increment][default value] alter table 表名 add 字段定义 after ar_id; 删除字段: alter table 表名 drop 字段名 修改字段: alter table 表名 modify 字段名 字段新类型 完整修改字段: alter table 表名 change 旧字段名称 新字段定义 修改表名称 alter table 表名 rename 新名字 删除表 drop table [if (not) exists] 表名; 表中行的操作 insert insert [into] 数据表名称 [(字段列表)] values|value (表达式|null|default,...),(表达式|null|default,...) insert [into] 数据表名称 set 字段名称=值,... insert 与insert...set的区别是后者可以带有子查询。 update -- 单表 update 表名 set 字段名称=值,... [where 条件] 如果省略WHERE条件将更新全部记录。 删除记录 -- 单表 delete from

linux下的mysql数据库以及mysql主从复制

孤人 提交于 2019-11-28 19:08:14
参考博客 1.mysql数据库的安装 centos7如何安装mysql 1.yum安装 1.1首先配置yum源,然后再用yum进行安装 2. 源代码编译安装 3.rpm包安装 yum安装的前提条件,是准备好yum源,可以选择163源,清华源,阿里云源,等等等 1.安装mariadb的yum源有俩 一个是阿里云的yum源,可能版本较低,并且软件包很小,功能很少 二个是mariadb官方的yum源 yum源的配置方式是什么?就是如何定制yum源? 方法:在/etc/yum.repos.d目录下,建立一个repo文件就是yum仓库 创建一个 mariadb.repo文件,写入如下内容 [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 配置好yum源后进行安装 yum install mariadb-server mariadb -y 2.安装mariadb,查看官方的版本号,和软件包信息,启动数据库 systemctl start mariadb #启动mariadb数据库 3.在启动好mysql之后,进行初始化 mysql_secure_installation

MySQL升级

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-28 19:04:04
一、概述 Linux MySQL 5.7二进制 小版本升级,升级前需要备份数据和mysql主配置文件my.cnf 对数据字典的升级数据字典有:mysql、information_schema、performance_schema、sys schema。 MySQL升级的两种方式: in-place upgrade: 适合小版本的升级。 即 关闭当前的MySQL,替换当前的二进制文件或包,在现有的数据目录上重启MySQL,并运行mysql_upgrade. 特点:不改变数据文件,升级速度快;但,不可以跨操作系统,不可以跨大版本(5.5—>5.7). logical upgrade: 适合不同操作系统的MySQL升级,大版本之间的升级。 即:使用mysqldump 或 mydumper 导入导出数据,实现版本的升级。 特点:可以跨操作系统,跨大版本;但,升级速度慢,容易出现乱码等问题。 二、小版本升级 in-place upgrade方式 in-place upgrade包括关闭旧的MySQL服务器,用新的MySQL服务器替换旧的MySQL二进制文件或软件包,在现有数据目录上重新启动MySQL,以及运行mysql_upgrade。 2.1 XA事务InnoDB 如果您使用XA事务InnoDB,请XA RECOVER在升级之前运行以检查未提交的XA事务。如果返回结果,则通过发出XA

IDEA链接mySQL问题 : You have an error in your SQL syntax : 'OPTION SQL_SELECT_LIMIT=1000' (or 'OPTION SQL_SELECT_LIMIT=DEFAULT')

无人久伴 提交于 2019-11-28 18:50:36
IDEA控制台错误信息: check the manual that corresponds to your MySQL server version for the right Code: 1064, SQL State: 42000] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=1000' (也有'OPTION SQL_SELECT_LIMIT=DEFAULT'的情况)at line 1 问题解决过程: 根据“You have an error in your SQL syntax”、“your MySQL server version”更新mysql版本,无果; 查看pom.xml <!-- 导入Mysql数据库链接jar包 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql-connector.version}</version> <scope

python测试开发django-58.MySQL server has gone away错误的解决办法

回眸只為那壹抹淺笑 提交于 2019-11-28 18:47:54
前言 使用django执行sql相关操作的时候,出现一个“MySQL server has gone away”错误,后来查了下是sql执行过程中,导入的文件较大时候,会出现这个异常。 检查了下sql语句,确实有插入图片,图片较大导致出现MySQL server has gone away。 该问题是max_allowed_packet配置的默认值设置太小,只需要相应调大该项的值之后再次导入便能成功。 该项的作用是限制mysql服务端接收到的包的大小,因此如果导入的文件过大则可能会超过该项设置的值从而导致导入不成功! 环境: CentOS7.4 mysql5.6 max_allowed_packet 首先连接数据库,查看max_allowed_packet的值。 以linux系统为例,输入mysql -uroot -p进入mysql,输入root用户密码进入mysql mysql -uroot -p [root@yoyo ~]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 33700 Server version: 5.6.42 MySQL Community Server (GPL)

C3p0连接池配置

孤街浪徒 提交于 2019-11-28 18:10:36
在Java开发中,使用JDBC操作数据库的四个步骤如下:     ①加载数据库驱动程序(Class.forName("数据库驱动类");)     ②连接数据库(Connection con = DriverManager.getConnection();)     ③操作数据库(PreparedStatement stat = con.prepareStatement(sql);stat.executeQuery();)     ④关闭数据库,释放连接(con.close();)   也就是说,所有的用户都需要经过此四步进行操作,但是这四步之中有三步(①加载数据库驱动程序、②连接数据库、④关闭数据库,释放连接)对所有人都是一样的,而所有人只有在操作数据库上是不一样,那么这就造成了性能的损耗。   那么最好的做法是,准备出一个空间,此空间里专门保存着全部的数据库连接,以后用户用数据库操作的时候不用再重新加载驱动、连接数据库之类的,而直接从此空间中取走连接,关闭的时候直接把连接放回到此空间之中。 那么此空间就可以称为连接池(保存所有的数据库连接) C3P0相关认识 C3P0是一个开源的JDBC 连接池 ,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的 开源项目 有 Hibernate,Spring 等。 什么是连接池:

控制mysqldump导出的SQL文件的事务大小

放肆的年华 提交于 2019-11-28 17:41:42
背景 今天群里有人问mysqldump出来的insert语句,是否可以按每 10 row 一条insert语句的形式组织。 思考1: 参数--extended-insert 回忆过去所学: 我只知道有一对参数 --extended-insert(默认值) 表示使用长 INSERT ,多 row 在合并一起批量 INSERT,提高导入效率 --skip-extended-insert 一行一个的短INSERT 均不满足群友需求,无法控制按每 10 row 一条 insert 语句的形式组织。 思考2: “避免大事务” 之前一直没有考虑过这个问题。这个问题的提出,相信主要是为了“避免大事务”。所以满足 insert 均为小事务即可。 下面,我们来探讨一下以下问题: 什么是大事务? 那么 mysqldump 出来的 insert 语句可能是大事务吗? 什么是大事务? 定义:运行时间比较长,操作的数据比较多的事务我们称之为大事务。 大事务风险: 锁定太多的数据,造成大量的阻塞和锁超时,回滚所需要的时间比较长。 执行时间长,容易造成主从延迟。 undo log膨胀 避免大事务:我这里按公司实际场景,规定了,每次操作/获取数据量应该少于5000条,结果集应该小于2M mysqldump出来的SQL文件有大事务吗? 前提,MySQL 默认是自提交的,所以如果没有明确地开启事务,一条 SQL

【04】MySQL:存储引擎

南笙酒味 提交于 2019-11-28 17:28:46
写在前面的话 在使用 Linux 的时候,可以经常听到有关文件系统 FS(File System)的东西,MySQL 也有属于自己类似的东西,那就是存储引擎。之前在创建数据表的时候,在 Create table 后面一般都加了 engine=innodb。这就是指定存储引擎。 关于存储引擎 可以将存储引擎就当作 Linux 而言的文件系统,其主要功能在于:数据读写 / 安全 / 一致性,提升读写性能,提供热备份,自动故障恢复,高可用等。 需要知道的存储引擎大致有: InnoDB , MyISAM , MEMORY ,ARCHIVE, CSV , BLACKHOLE ,MERGE,NDBCLUSTER,EXAMPLE 等 查看数据库支持的存储引擎: show engines; 结果: 值得注意的是,存储引擎针对的对象是表,这意味着一个库中,可能存在多种存储引擎,例如: select TABLE_NAME,ENGINE from information_schema.tables where TABLE_SCHEMA="mysql"; 结果: 对于 MySQL 的两大分支 Percona 和 MariaDB 的存储引擎: Percona:默认 XtraDB MariaDB:默认 InnoDB 同样也有其它的存储引擎:TokuDB,RocksDB,MyRocks 等。

记录一下aliyunu上安装mysql5.7及驱动过程

折月煮酒 提交于 2019-11-28 17:27:38
# mysql 安装 cd ~ cd Downloads mkdir mysql sudo tar -xvf ~/Downloads/mysql-server_5.7.21-1ubuntu14.04_amd64.deb-bundle.tar -C ~/Downloads/mysql cd ~/Downloads/mysql sudo apt-get install libaio1 sudo dpkg -i mysql-common_5.7.21-1ubuntu14.04_amd64.deb sudo dpkg -i libmysqlclient20_5.7.21-1ubuntu14.04_amd64.deb sudo dpkg -i libmysqlclient-dev_5.7.21-1ubuntu14.04_amd64.deb sudo dpkg -i libmysqld-dev_5.7.21-1ubuntu14.04_amd64.deb sudo dpkg -i mysql-community-client_5.7.21-1ubuntu14.04_amd64.deb sudo dpkg -i mysql-client_5.7.21-1ubuntu14.04_amd64.deb sudo dpkg -i mysql-community-server_5.7.21

Mysql读写分离操作

左心房为你撑大大i 提交于 2019-11-28 16:04:19
环境:两台centos环境,安装mysql(mariadb) web网站的优化: 缓存技术 数据库缓存 redis 文件缓存 图片 fastdfs 负载均衡 nginx 数据库主从备份,读写分离 图解: 在工作中,为了防止数据损坏,使用主从备份这种架构(复制集),为了满足mysql的性能要求,为了提高吞吐量使用复制集之后还可搭建读写分离去提高性能。 搭建主从 在master(主机名) 和slave(从机名) 都需要操作安全向导 mysql_secure_installation systemctl restart mariadb 重启服务 mysql -u root -p 使用密码登陆 关闭主从防火墙和安全模式 systemctl stop firewalld setenforce 0 slave 操作 systemctl restart mariadb mysql -uroot -p create database OurBlog charset=utf8; exit 将刚导入的sql文件导入到salve库中 mysql -h localhost -u root -p111111 OurBlog < /opt/OurBlog.sql 修改配置文件 master配置文件 vi /etc/my.cnf 增加代码 server-id=1 log_bin=mysql-bin?