mysql安装及预置数据

作者: suxin1932 | 来源:发表于2019-01-06 23:12 被阅读0次

1.mysql安装与卸载

1.1docker下安装并启动mysql

#1.下载并启动容器(一行命令执行, 莫换行)
docker run --rm --name mysql5.7 -p 3306:3306 -v /my/mysql/datadir:/var/lib/mysql -v /my/mysql/conf.d:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

#命令解析:
docker run时, 若docker中没有该资源, 会自动去下载pull, 然后run
--rm: 当容器退出时(如docker stop mysql5.7), 自动移除容器及其数据, "危险"
--name:容器名
--p:映射宿主主机端口
-v:挂载宿主目录到容器目录
-e:设置环境变量,此处指定root密码
-d:后台运行容器
(可采用docker run --help查看可用命令)

#2.进入mysql命令行
docker exec -it mysql5.7 mysql -uroot -p

#3.进入mysql所在宿主机
docker exec -it mysql5.7 /bin/bash

#4.此时可用navicat获sqlyog来连接该库即可

1.2 用户管理

#root用户进入
mysql -u root -p
#给用户分配权限        
grant usage on *.* to 'zhangyu'@'%' identified by 'zhangyu' with grant option;
#创建数据库
create database springboot;
#赋予该用户数据库权限
grant all privileges on springboot.* to zhangyu@'%' identified by 'zhangyu';

2.数据预置

2.1.方法1(原生jdbc):

package com.zy.demo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Date;
import java.util.concurrent.locks.ReentrantLock;

public class BatchInsert extends Thread {

    //定义锁对象
    private final ReentrantLock lock=new ReentrantLock();

    public void run() {
        String url = "jdbc:mysql://192.168.0.199/batch_insert";
        String name = "com.mysql.jdbc.Driver";
        String user = "root";
        String password = "123456";
        Connection conn = null;
        try {
            Class.forName(name);
            conn = DriverManager.getConnection(url, user, password);//获取连接
            conn.setAutoCommit(false);//关闭自动提交,不然conn.commit()运行到这句会报错
        } catch (ClassNotFoundException e1) {
            e1.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        // 开始时间
        Long begin = new Date().getTime();
        // sql前缀
        String prefix = "INSERT INTO stu (id,name,lang) VALUES ";
        try {
            // 保存sql后缀
            StringBuffer suffix = new StringBuffer();
            // 设置事务为非自动提交
            conn.setAutoCommit(false);
            // 比起st,pst会更好些
            PreparedStatement pst = (PreparedStatement) conn.prepareStatement("");//准备执行语句
            // 外层循环,总提交事务次数
            suffix = new StringBuffer();
            for (int i = 1; i <= 10; i++) {
                // 第j次提交步长
                for (int j = 1; j <= 100; j++) {
                    // 构建SQL后缀
                    for (int k = 1; k <= 100; k++) {
                        suffix.append("('a" + i + "','b" + j + "','c" + k + "'),");
                    }
                }
            }
            // 构建完整SQL
            String sql = prefix + suffix.substring(0, suffix.length() - 1);
            // 添加执行SQL
            pst.addBatch(sql);
            // 执行操作
            pst.executeBatch();
            // 提交事务
            conn.commit();
            // 清空上一次添加的数据
            suffix = new StringBuffer();
            // 头等连接
            pst.close();
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        // 结束时间
        Long end = new Date().getTime();
        // 耗时
        System.out.println("100万条数据插入花费时间 : " + (end - begin) / 1000 + " s"+"  插入完成");
    }
}

package com.zy.demo;

public class BatchInsertTest {

    public static void main(String[] args) {
        for (int i = 1; i <=10; i++) {
            new BatchInsert().start();
        }
    }
}

2.2.方法2(利用Mybatis的批量插入)

2.3.利用存储过程

相关文章

  • mysql安装及预置数据

    1.mysql安装与卸载 1.1docker下安装并启动mysql 1.2 用户管理 2.数据预置 2.1.方法1...

  • Linux下部署Sonarqube

    SonarQube安装 预置条件 1、已安装JAVA环境(JDK1.8) 2、已安装有MySQL数据库 3、下载S...

  • 1.2postman连接数据库xmysql和omysql的连接

    预置条件:完成nodejs和npm的安装,想要postman连接mysql,需要安装xmysql或者omysql,...

  • Mysql5.7 安装

    安装依赖 创建 Mysql 用户及组 下载 mysql-boost 安装包 解压 mysql-boost 创建数据...

  • DataWhale MySql Task1_2019-03-31

    DataWhale MySql Task1 1.1 - MySQL 软件安装及数据库基础 软件安装及服务器设置 数...

  • MySql笔记

    Mac安装并运行MySql MySql数据库、数据表的操作 MySql数据类型及常见约束 MySql表操作 MyS...

  • 000MySQL的window安装

    MySQL 数据库的安装及配置 先下载MySQL数据库的安装包,下载地址: 链接:https://pan.baid...

  • 数据库安装

    一,数据库简介 二,yum源安装mysql 三,源码安装mysql 四,mysql自带连接命令及更改密码 五,my...

  • MySQL基础之数据类型与表的管理

    MySQL数据库简介及安装 mysql.com 官网下载 数据库系统(Database System DBS)包括...

  • SQL,从零基础到入门

    本章目录 如何安装MySQL数据库及MySQL Workbench 启动MySQL的3种方式 获取样本数据库 创建...

网友评论

    本文标题:mysql安装及预置数据

    本文链接:https://www.haomeiwen.com/subject/fgoerqtx.html