diff --git a/scripts/bench_run.sh b/scripts/bench_run.sh
index 0118afd..66d628a 100755
--- a/scripts/bench_run.sh
+++ b/scripts/bench_run.sh
@@ -315,30 +315,34 @@ build_mysql()
   exec_command ${CD} ${SRC_INSTALL_DIR}/${MYSQL_VERSION}
   exec_command mkdir -p ${SRC_INSTALL_DIR}/${MYSQL_VERSION}/BUILD
   if test "x$DEBUG_FLAG" = "xyes" ; then
-    DEBUG_FLAG="1"
+    DEBUG_FLAG="--debug"
   else
-    DEBUG_FLAG="0"
-  fi
-  if test "x$ERROR_INSERT_FLAG" = "xyes" ; then
-    ERROR_INSERT_FLAG="1"
-  else
-    ERROR_INSERT_FLAG="0"
-  fi
-  BUILD_COMMAND="cmake"
-  BUILD_COMMAND="$BUILD_COMMAND -DWITH_DEBUG=$DEBUG_FLAG"
-  BUILD_COMMAND="$BUILD_COMMAND -DWITH_ERROR_INSERT=$ERROR_INSERT_FLAG"
-  BUILD_COMMAND="$BUILD_COMMAND -DWITH_SSL=off"
-  BUILD_COMMAND="$BUILD_COMMAND -DWITH_SASL=off"
-  BUILD_COMMAND="$BUILD_COMMAND -DWITH_NDBCLUSTER=1"
-  BUILD_COMMAND="$BUILD_COMMAND -DWITH_ROUTER=0"
-  BUILD_COMMAND="$BUILD_COMMAND -DWITH_MEB=0"
-  BUILD_COMMAND="$BUILD_COMMAND -DWITH_BOOST=$BOOST_ROOT"
-  BUILD_COMMAND="$BUILD_COMMAND -DBUILD_CONFIG=mysql_release"
-  BUILD_COMMAND="$BUILD_COMMAND -DCPACK_MONOLITHIC_INSTALL=true"
-  BUILD_COMMAND="$BUILD_COMMAND -DCMAKE_INSTALL_PREFIX=$MYSQL_INSTALL_DIR"
+    DEBUG_FLAG=
+  fi
+  if test "x$USE_DBT2_BUILD" = "xyes" ||
+     ! test -f BUILD/build_mccge.sh || \
+     ! test -f BUILD/check-cpu ; then
+    exec_command $CP $SRC_INSTALL_DIR/$DBT2_VERSION/scripts/build_mccge.sh BUILD/.
+    exec_command $CP $SRC_INSTALL_DIR/$DBT2_VERSION/scripts/check-cpu BUILD/.
+  fi
+  if test "x$MYSQL_BASE" = "x8.0" ; then
+    exec_command $CP $SRC_INSTALL_DIR/$DBT2_VERSION/scripts/cmake_configure.sh BUILD/.
+    exec_command $CP $SRC_INSTALL_DIR/$DBT2_VERSION/scripts/configure.pl cmake/.
+  fi
+  exec_command BUILD/build_mccge.sh --prefix=${MYSQL_INSTALL_DIR} \
+                                  ${WITH_DEBUG} \
+                                  ${COMPILER_PARALLELISM} \
+                                  ${DEBUG_FLAG} \
+                                  ${PACKAGE} \
+                                  ${FAST_FLAG} \
+                                  ${COMPILER_FLAG} \
+                                  ${LINK_TIME_OPTIMIZER_FLAG} \
+                                  ${MSO_FLAG} \
+                                  ${COMPILE_SIZE_FLAG} \
+                                  ${WITH_PERFSCHEMA_FLAG} \
+                                  ${FEEDBACK_FLAG} \
+                                  ${WITH_NDB_TEST_FLAG}
   exec_command cd BUILD
-  exec_command $BUILD_COMMAND ..
-  exec_command ${MAKE} -j ${COMPILER_PARALLELISM}
   exec_command ${MAKE} install
   exec_command cd ..
   exec_command $CP $SRC_INSTALL_DIR/$DBT2_VERSION/scripts/init_file.sql $MYSQL_INSTALL_DIR/bin/.
@@ -423,6 +427,8 @@ build_local()
       COMMAND="${COMMAND} --prefix=${SYSBENCH_INSTALL_DIR} ${WITH_DEBUG}"
       if test "x$FEEDBACK_COMPILATION" = "xyes" ; then
         COMMAND="$COMMAND --with-extra-ldflags=-lgcov"
+      else
+        COMMAND="$COMMAND --with-extra-ldflags=-all-static"
       fi
       execute_build ${SYSBENCH_VERSION}
     fi
@@ -494,10 +500,6 @@ remove_local_binary_tar_files()
 init_clean_up()
 {
   SSH_NODE="$1"
-  if test "x$DATA_DIR_BASE" = "x" ; then
-    echo "Must set DATA_DIR_BASE in autobench.conf when starting cluster"
-    exit 1
-  fi
   if test "x${USE_DOCKER}" = "xyes" ; then
     exec_ssh_command sudo rm -rf ${DATA_DIR_BASE}/*
   else
@@ -1060,6 +1062,7 @@ write_dbt2_conf()
   export DBT2_DEFAULT_FILE="${DEFAULT_DIR}/dbt2.conf"
   CONF_FILE="${DEFAULT_DIR}/dbt2.conf"
   ${ECHO} "#DBT2 configuration used to drive DBT2 benchmarks" > ${CONF_FILE}
+  write_conf "LOAD_RONDB=\"${LOAD_RONDB}\""
   write_conf "USE_RONDB=\"${USE_RONDB}\""
   write_conf "MYSQL_SERVER_BASE=\"${MYSQL_SERVER_BASE}\""
   write_conf "DBT3_USE_BOTH_NDB_AND_INNODB=\"${DBT3_USE_BOTH_NDB_AND_INNODB}\""
@@ -2582,7 +2585,7 @@ run_sysbench_step()
 set_up_ndb_index_stat()
 {
   if test "x${BENCHMARK_TO_RUN}" = "xsysbench" ; then
-    NDB_INDEX_STAT_ENABLE="1"
+    NDB_INDEX_STAT_ENABLE="0"
   elif test "x${BENCHMARK_TO_RUN}" = "xdbt2" ; then
     NDB_INDEX_STAT_ENABLE="0"
   elif test "x${BENCHMARK_TO_RUN}" = "xdbt3" ; then
@@ -2940,6 +2943,7 @@ NDB_LOCK_PAGES_IN_MAIN_MEMORY=
 NDBD_CPUS=                      # CPU's to bind for NDB Data nodes
 NDBD_BIND=                      # Bind to NUMA nodes when TASKSET=numactl
 NDBD_MEM_POLICY="interleaved"   # Use interleaved/local memory policy with numactl
+USE_MYSQL="no"
 
 #Sysbench parameters
 SYSBENCH_RESULTS=
@@ -3170,7 +3174,6 @@ USE_MYISAM_FOR_ITEM=
 MSG=
 WITH_DEBUG=
 DEBUG_FLAG="no"
-ERROR_INSERT_FLAG="no"
 PACKAGE=
 FAST_FLAG=
 WITH_PERFSCHEMA_FLAG="yes"
@@ -3209,6 +3212,7 @@ SKIP_RUN=
 SYSBENCH_INSTANCES="1"
 PERFORM_INIT="no"
 USE_RONDB="yes"
+LOAD_RONDB="yes"
 MYSQL_USER=
 MYSQL_PASSWORD=
 
@@ -3346,6 +3350,20 @@ else
     MYSQL_USER="mysql"
   fi
 fi
+if test "x$USE_MYSQL" = "yes" ; then
+  CREATE_DBT2_LOAD_FILES="no"
+  LOAD_RONDB="no"
+  if test "x$NDB_DATA_MEMORY" = "x" ; then
+    NDB_DATA_MEMORY="$NDB_TOTAL_MEMORY"
+  fi
+  if test "x$NDB_NO_OF_FRAGMENT_LOG_FILES" = "x" ; then
+    NDB_NO_OF_FRAGMENT_LOG_FILES="16"
+  fi
+  if test "x$NDB_FRAGMENT_LOG_FILE_SIZE" = "x" ; then
+    NDB_FRAGMENT_LOG_FILE_SIZE="1G"
+  fi
+  NDB_TOTAL_MEMORY=
+fi
 set_run_oltp_script
 fix_server_host
 fix_server_port
diff --git a/scripts/dbt2.sh b/scripts/dbt2.sh
index d8da470..bf95a76 100755
--- a/scripts/dbt2.sh
+++ b/scripts/dbt2.sh
@@ -1047,6 +1047,9 @@ DBT2_INTERMEDIATE_TIMER_RESOLUTION="0"
   else
     COMMAND="bash $BASE_DIR/scripts/mysql_load_db.sh"
     COMMAND="${COMMAND} --ndb-connectstring ${NDB_CONNECTSTRING}"
+    if test "x$LOAD_RONDB" = "xno" ; then
+      COMMAND="$COMMAND --load-mysql"
+    fi
   fi
   COMMAND="${COMMAND} --user $MYSQL_USER"
   if test "x$MYSQL_PASSWORD" = "x" ; then
diff --git a/scripts/mysql_load_db.sh b/scripts/mysql_load_db.sh
index ddf188a..173e80b 100755
--- a/scripts/mysql_load_db.sh
+++ b/scripts/mysql_load_db.sh
@@ -92,7 +92,31 @@ command_exec()
   fi
 }
 
-load_tables()
+load_tables_mysql()
+{
+if [ "$LOAD_TABLES" == "0" ]; then
+  TABLES="item"
+else
+  TABLES="customer district history item new_order order_line orders stock warehouse"
+fi
+
+SET_BATCH_SIZE="set ndb_batch_size=2*1024*1024;"
+for TABLE in $TABLES ; do
+  COLUMN_NAMES=
+  if [ "$TABLE" = "history" ]; then
+    COLUMN_NAMES="(h_c_id,h_c_d_id,h_c_w_id,h_d_id,h_w_id,h_date,h_amount,h_data)"
+  fi
+  if [ "$TABLE" != "item" -o "$DB_PARALLEL" != "1" -o "$LOAD_TABLES" == "0" ]; then
+    echo "Loading table $TABLE"
+    FN="$TABLE"
+    command_exec "$MYSQL $DB_NAME -e \"$SET_BATCH_SIZE LOAD DATA $LOCAL INFILE \
+              \\\"$DB_PATH/$FN.data\\\" \
+              INTO TABLE $TABLE $LATIN1 FIELDS TERMINATED BY ',' ${COLUMN_NAMES} \""
+  fi
+done
+}
+
+load_tables_rondb()
 {
 cd ${DB_PATH}
 TABLES=
@@ -340,10 +364,14 @@ EXTRA_CUST_INDEX_FIELDS=""
 ONLY_ITEM=""
 USE_MYISAM_FOR_ITEM=""
 NDB_CONNECTSTRING=
+LOAD_RONDB="yes"
 
 while test $# -gt 0
 do
   case $1 in
+  --load-mysql )
+    LOAD_RONDB="no"
+    ;;
   --only-item )
     ONLY_ITEM="1"
     ;;
@@ -543,4 +571,8 @@ create_tables
 
 # Load tables
 echo ""
-load_tables
+if test "x$LOAD_RONDB" = "xyes" ; then
+  load_tables_rondb
+else
+  load_tables_mysql
+fi
diff --git a/src/datagen.c b/src/datagen.c
index e3d7e51..5b01b14 100644
--- a/src/datagen.c
+++ b/src/datagen.c
@@ -44,6 +44,7 @@
 #define MODE_SAPDB 0
 #define MODE_PGSQL 1
 #define MODE_MYSQL 2
+#define MODE_RONDB 3
 
 void gen_customers();
 void gen_districts();
@@ -62,7 +63,7 @@ int items = ITEM_CARDINALITY;
 int orders = ORDER_CARDINALITY;
 int new_orders = NEW_ORDER_CARDINALITY;
 
-int mode_string = MODE_PGSQL;
+int mode_string = MODE_RONDB;
 char delimiter = ',';
 char null_str[16] = "\"NULL\"";
 
@@ -75,13 +76,13 @@ char null_str[16] = "\"NULL\"";
 #define FPRINTF(a, b, c) \
 	if (mode_string == MODE_SAPDB) { \
 		METAPRINTF((a, "\""b"\"", c)); \
-	} else if (mode_string == MODE_PGSQL || mode_string == MODE_MYSQL) { \
+	} else if (mode_string == MODE_PGSQL || mode_string == MODE_MYSQL || mode_string == MODE_RONDB) { \
 		METAPRINTF((a, b, c)); \
 	}
 #define FPRINTF2(a, b) \
 	if (mode_string == MODE_SAPDB) { \
 		METAPRINTF((a, "\""b"\"")); \
-	} else if (mode_string == MODE_PGSQL || mode_string == MODE_MYSQL) { \
+	} else if (mode_string == MODE_PGSQL || mode_string == MODE_MYSQL || mode_string == MODE_RONDB) { \
 		METAPRINTF((a, b)); \
 	}
 
@@ -94,7 +95,7 @@ void escape_me(char *str)
 	int k = 0;
 
 	/* Don't need to do anything for SAP DB. */
-	if (mode_string == MODE_PGSQL || mode_string == MODE_MYSQL) {
+	if (mode_string == MODE_PGSQL || mode_string == MODE_MYSQL || mode_string == MODE_RONDB) {
 		strcpy(buffer, str);
 		i = strlen(buffer);
 		for (k = 0; k <= i; k++) {
@@ -112,7 +113,7 @@ void print_timestamp(FILE *ofile, struct tm *date)
 		METAPRINTF((ofile, "\"%04d%02d%02d%02d%02d%02d000000\"",
 				date->tm_year + 1900, date->tm_mon + 1, date->tm_mday,
 				date->tm_hour, date->tm_min, date->tm_sec));
-	} else if (mode_string == MODE_PGSQL || mode_string == MODE_MYSQL) {
+	} else if (mode_string == MODE_PGSQL || mode_string == MODE_MYSQL || mode_string == MODE_RONDB) {
 		METAPRINTF((ofile, "%04d-%02d-%02d %02d:%02d:%02d",
 				date->tm_year + 1900, date->tm_mon + 1, date->tm_mday,
 				date->tm_hour, date->tm_min, date->tm_sec));
@@ -388,10 +389,12 @@ void gen_history()
                 unsigned long long h_id = i * DISTRICT_CARDINALITY * customers;
 		for (j = 0; j < DISTRICT_CARDINALITY; j++) {
 			for (k = 0; k < customers; k++) {
-				/* h_id */
-                                h_id++;
-				FPRINTF(output, "%lld", h_id);
-				METAPRINTF((output, "%c", delimiter));
+				if (mode_string == MODE_RONDB) {
+				  /* h_id */
+                                  h_id++;
+				  FPRINTF(output, "%lld", h_id);
+				  METAPRINTF((output, "%c", delimiter));
+				}
 
 				/* h_c_id */
 				FPRINTF(output, "%d", k + 1);
@@ -980,6 +983,8 @@ int main(int argc, char *argv[])
 		printf("\tformat data for PostgreSQL\n");
 		printf("--mysql\n");
 		printf("\tformat data for MySQL\n");
+		printf("--rondb\n");
+		printf("\tformat data for RonDB\n");
 		return 1;
 	}
 
@@ -1006,6 +1011,8 @@ int main(int argc, char *argv[])
             mode_string= MODE_SAPDB;
           else if(!strcmp(argv[argvIndex],"--mysql"))
             mode_string= MODE_MYSQL;
+          else if(!strcmp(argv[argvIndex],"--rondb"))
+            mode_string= MODE_RONDB;
           else
           {
             printf("get param returned character code 0%o ??\n", c);
@@ -1039,7 +1046,8 @@ int main(int argc, char *argv[])
 		delimiter = '\t';
 		strcpy(null_str, "");
 	}
-        else if (mode_string == MODE_MYSQL)
+        else if (mode_string == MODE_MYSQL ||
+                 mode_string == MODE_RONDB)
         {
           delimiter = ',';
           strcpy(null_str, "\\N");
