Compare commits
	
		
			2 Commits 
		
	
	
		
			1480fdbf7d
			...
			b23b1590fd
		
	
	| Author | SHA1 | Date | 
|---|---|---|
| 
							
							
								 | 
						b23b1590fd | |
| 
							
							
								 | 
						cd1f225630 | 
| 
						 | 
				
			
			@ -0,0 +1,148 @@
 | 
			
		|||
# Example MySQL config file for medium systems.
 | 
			
		||||
#
 | 
			
		||||
# This is for a system with little memory (32M - 64M) where MySQL plays
 | 
			
		||||
# an important part, or systems up to 128M where MySQL is used together with
 | 
			
		||||
# other programs (such as a web server)
 | 
			
		||||
#
 | 
			
		||||
# You can copy this file to
 | 
			
		||||
# /etc/my.cnf to set global options,
 | 
			
		||||
# mysql-data-dir/my.cnf to set server-specific options (in this
 | 
			
		||||
# installation this directory is /opt/mysql/var) or
 | 
			
		||||
# ~/.my.cnf to set user-specific options.
 | 
			
		||||
#
 | 
			
		||||
# In this file, you can use all long options that a program supports.
 | 
			
		||||
# If you want to know which options a program supports, run the program
 | 
			
		||||
# with the "--help" option.
 | 
			
		||||
 | 
			
		||||
# The following options will be passed to all MySQL clients
 | 
			
		||||
[client]
 | 
			
		||||
#password	= your_password
 | 
			
		||||
port		= 3306
 | 
			
		||||
socket		= /tmp/mysql.sock
 | 
			
		||||
 | 
			
		||||
# Here follows entries for some specific programs
 | 
			
		||||
 | 
			
		||||
# The MySQL server
 | 
			
		||||
[mysqld]
 | 
			
		||||
port		= 3306
 | 
			
		||||
socket		= /tmp/mysql.sock
 | 
			
		||||
skip-locking
 | 
			
		||||
key_buffer_size = 16M
 | 
			
		||||
max_allowed_packet = 1M
 | 
			
		||||
table_open_cache = 64
 | 
			
		||||
sort_buffer_size = 512K
 | 
			
		||||
net_buffer_length = 8K
 | 
			
		||||
read_buffer_size = 256K
 | 
			
		||||
read_rnd_buffer_size = 512K
 | 
			
		||||
myisam_sort_buffer_size = 8M
 | 
			
		||||
 | 
			
		||||
# Don't listen on a TCP/IP port at all. This can be a security enhancement,
 | 
			
		||||
# if all processes that need to connect to mysqld run on the same host.
 | 
			
		||||
# All interaction with mysqld must be made via Unix sockets or named pipes.
 | 
			
		||||
# Note that using this option without enabling named pipes on Windows
 | 
			
		||||
# (via the "enable-named-pipe" option) will render mysqld useless!
 | 
			
		||||
# 
 | 
			
		||||
#skip-networking
 | 
			
		||||
 | 
			
		||||
# Replication Master Server (default)
 | 
			
		||||
# binary logging is required for replication
 | 
			
		||||
log-bin=mysql-bin
 | 
			
		||||
 | 
			
		||||
# binary logging format - mixed recommended
 | 
			
		||||
binlog_format=mixed
 | 
			
		||||
 | 
			
		||||
# required unique id between 1 and 2^32 - 1
 | 
			
		||||
# defaults to 1 if master-host is not set
 | 
			
		||||
# but will not function as a master if omitted
 | 
			
		||||
server-id	= 1
 | 
			
		||||
 | 
			
		||||
# Replication Slave (comment out master section to use this)
 | 
			
		||||
#
 | 
			
		||||
# To configure this host as a replication slave, you can choose between
 | 
			
		||||
# two methods :
 | 
			
		||||
#
 | 
			
		||||
# 1) Use the CHANGE MASTER TO command (fully described in our manual) -
 | 
			
		||||
#    the syntax is:
 | 
			
		||||
#
 | 
			
		||||
#    CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
 | 
			
		||||
#    MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
 | 
			
		||||
#
 | 
			
		||||
#    where you replace <host>, <user>, <password> by quoted strings and
 | 
			
		||||
#    <port> by the master's port number (3306 by default).
 | 
			
		||||
#
 | 
			
		||||
#    Example:
 | 
			
		||||
#
 | 
			
		||||
#    CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
 | 
			
		||||
#    MASTER_USER='joe', MASTER_PASSWORD='secret';
 | 
			
		||||
#
 | 
			
		||||
# OR
 | 
			
		||||
#
 | 
			
		||||
# 2) Set the variables below. However, in case you choose this method, then
 | 
			
		||||
#    start replication for the first time (even unsuccessfully, for example
 | 
			
		||||
#    if you mistyped the password in master-password and the slave fails to
 | 
			
		||||
#    connect), the slave will create a master.info file, and any later
 | 
			
		||||
#    change in this file to the variables' values below will be ignored and
 | 
			
		||||
#    overridden by the content of the master.info file, unless you shutdown
 | 
			
		||||
#    the slave server, delete master.info and restart the slaver server.
 | 
			
		||||
#    For that reason, you may want to leave the lines below untouched
 | 
			
		||||
#    (commented) and instead use CHANGE MASTER TO (see above)
 | 
			
		||||
#
 | 
			
		||||
# required unique id between 2 and 2^32 - 1
 | 
			
		||||
# (and different from the master)
 | 
			
		||||
# defaults to 2 if master-host is set
 | 
			
		||||
# but will not function as a slave if omitted
 | 
			
		||||
#server-id       = 2
 | 
			
		||||
#
 | 
			
		||||
# The replication master for this slave - required
 | 
			
		||||
#master-host     =   <hostname>
 | 
			
		||||
#
 | 
			
		||||
# The username the slave will use for authentication when connecting
 | 
			
		||||
# to the master - required
 | 
			
		||||
#master-user     =   <username>
 | 
			
		||||
#
 | 
			
		||||
# The password the slave will authenticate with when connecting to
 | 
			
		||||
# the master - required
 | 
			
		||||
#master-password =   <password>
 | 
			
		||||
#
 | 
			
		||||
# The port the master is listening on.
 | 
			
		||||
# optional - defaults to 3306
 | 
			
		||||
#master-port     =  <port>
 | 
			
		||||
#
 | 
			
		||||
# binary logging - not required for slaves, but recommended
 | 
			
		||||
#log-bin=mysql-bin
 | 
			
		||||
 | 
			
		||||
# Point the following paths to different dedicated disks
 | 
			
		||||
#tmpdir		= /tmp/		
 | 
			
		||||
#log-update 	= /path-to-dedicated-directory/hostname
 | 
			
		||||
 | 
			
		||||
# Uncomment the following if you are using InnoDB tables
 | 
			
		||||
#innodb_data_home_dir = /opt/mysql/var/
 | 
			
		||||
#innodb_data_file_path = ibdata1:10M:autoextend
 | 
			
		||||
#innodb_log_group_home_dir = /opt/mysql/var/
 | 
			
		||||
# You can set .._buffer_pool_size up to 50 - 80 %
 | 
			
		||||
# of RAM but beware of setting memory usage too high
 | 
			
		||||
#innodb_buffer_pool_size = 16M
 | 
			
		||||
#innodb_additional_mem_pool_size = 2M
 | 
			
		||||
# Set .._log_file_size to 25 % of buffer pool size
 | 
			
		||||
#innodb_log_file_size = 5M
 | 
			
		||||
#innodb_log_buffer_size = 8M
 | 
			
		||||
#innodb_flush_log_at_trx_commit = 1
 | 
			
		||||
#innodb_lock_wait_timeout = 50
 | 
			
		||||
 | 
			
		||||
[mysqldump]
 | 
			
		||||
quick
 | 
			
		||||
max_allowed_packet = 16M
 | 
			
		||||
 | 
			
		||||
[mysql]
 | 
			
		||||
no-auto-rehash
 | 
			
		||||
# Remove the next comment character if you are not familiar with SQL
 | 
			
		||||
#safe-updates
 | 
			
		||||
 | 
			
		||||
[myisamchk]
 | 
			
		||||
key_buffer_size = 20M
 | 
			
		||||
sort_buffer_size = 20M
 | 
			
		||||
read_buffer = 2M
 | 
			
		||||
write_buffer = 2M
 | 
			
		||||
 | 
			
		||||
[mysqlhotcopy]
 | 
			
		||||
interactive-timeout
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,444 @@
 | 
			
		|||
#!/bin/sh
 | 
			
		||||
# Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
 | 
			
		||||
# This file is public domain and comes with NO WARRANTY of any kind
 | 
			
		||||
 | 
			
		||||
# MySQL daemon start/stop script.
 | 
			
		||||
 | 
			
		||||
# Usually this is put in /etc/init.d (at least on machines SYSV R4 based
 | 
			
		||||
# systems) and linked to /etc/rc3.d/S99mysql and /etc/rc0.d/K01mysql.
 | 
			
		||||
# When this is done the mysql server will be started when the machine is
 | 
			
		||||
# started and shut down when the systems goes down.
 | 
			
		||||
 | 
			
		||||
# Comments to support chkconfig on RedHat Linux
 | 
			
		||||
# chkconfig: 2345 64 36
 | 
			
		||||
# description: A very fast and reliable SQL database engine.
 | 
			
		||||
 | 
			
		||||
# Comments to support LSB init script conventions
 | 
			
		||||
### BEGIN INIT INFO
 | 
			
		||||
# Provides: mysql
 | 
			
		||||
# Required-Start: $local_fs $network $remote_fs
 | 
			
		||||
# Should-Start: ypbind nscd ldap ntpd xntpd
 | 
			
		||||
# Required-Stop: $local_fs $network $remote_fs
 | 
			
		||||
# Default-Start:  2 3 4 5
 | 
			
		||||
# Default-Stop: 0 1 6
 | 
			
		||||
# Short-Description: start and stop MySQL
 | 
			
		||||
# Description: MySQL is a very fast and reliable SQL database engine.
 | 
			
		||||
### END INIT INFO
 | 
			
		||||
 
 | 
			
		||||
# If you install MySQL on some other places than /opt/mysql, then you
 | 
			
		||||
# have to do one of the following things for this script to work:
 | 
			
		||||
#
 | 
			
		||||
# - Run this script from within the MySQL installation directory
 | 
			
		||||
# - Create a /etc/my.cnf file with the following information:
 | 
			
		||||
#   [mysqld]
 | 
			
		||||
#   basedir=<path-to-mysql-installation-directory>
 | 
			
		||||
# - Add the above to any other configuration file (for example ~/.my.ini)
 | 
			
		||||
#   and copy my_print_defaults to /usr/bin
 | 
			
		||||
# - Add the path to the mysql-installation-directory to the basedir variable
 | 
			
		||||
#   below.
 | 
			
		||||
#
 | 
			
		||||
# If you want to affect other MySQL variables, you should make your changes
 | 
			
		||||
# in the /etc/my.cnf, ~/.my.cnf or other MySQL configuration files.
 | 
			
		||||
 | 
			
		||||
# If you change base dir, you must also change datadir. These may get
 | 
			
		||||
# overwritten by settings in the MySQL configuration files.
 | 
			
		||||
 | 
			
		||||
basedir=/usr/local/mysql
 | 
			
		||||
datadir=/opt/mysql/data
 | 
			
		||||
 | 
			
		||||
# Default value, in seconds, afterwhich the script should timeout waiting
 | 
			
		||||
# for server start. 
 | 
			
		||||
# Value here is overriden by value in my.cnf. 
 | 
			
		||||
# 0 means don't wait at all
 | 
			
		||||
# Negative numbers mean to wait indefinitely
 | 
			
		||||
service_startup_timeout=900
 | 
			
		||||
 | 
			
		||||
# The following variables are only set for letting mysql.server find things.
 | 
			
		||||
 | 
			
		||||
# Set some defaults
 | 
			
		||||
pid_file=/tmp/mysqld.pid
 | 
			
		||||
server_pid_file=/tmp/mysqld.pid
 | 
			
		||||
use_mysqld_safe=1
 | 
			
		||||
user=mysql
 | 
			
		||||
if test -z "$basedir"
 | 
			
		||||
then
 | 
			
		||||
  basedir=/opt/mysql
 | 
			
		||||
  bindir=/opt/mysql/bin
 | 
			
		||||
  if test -z "$datadir"
 | 
			
		||||
  then
 | 
			
		||||
    datadir=/opt/mysql/var
 | 
			
		||||
  fi
 | 
			
		||||
  sbindir=/opt/mysql/sbin
 | 
			
		||||
  libexecdir=/opt/mysql/libexec
 | 
			
		||||
else
 | 
			
		||||
  bindir="$basedir/bin"
 | 
			
		||||
  if test -z "$datadir"
 | 
			
		||||
  then
 | 
			
		||||
    datadir="$basedir/data"
 | 
			
		||||
  fi
 | 
			
		||||
  sbindir="$basedir/sbin"
 | 
			
		||||
  libexecdir="$basedir/libexec"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# datadir_set is used to determine if datadir was set (and so should be
 | 
			
		||||
# *not* set inside of the --basedir= handler.)
 | 
			
		||||
datadir_set=
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Use LSB init script functions for printing messages, if possible
 | 
			
		||||
#
 | 
			
		||||
lsb_functions="/lib/lsb/init-functions"
 | 
			
		||||
if test -f $lsb_functions ; then
 | 
			
		||||
  . $lsb_functions
 | 
			
		||||
else
 | 
			
		||||
  log_success_msg()
 | 
			
		||||
  {
 | 
			
		||||
    echo " SUCCESS! $@"
 | 
			
		||||
  }
 | 
			
		||||
  log_failure_msg()
 | 
			
		||||
  {
 | 
			
		||||
    echo " ERROR! $@"
 | 
			
		||||
  }
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
PATH=/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin
 | 
			
		||||
export PATH
 | 
			
		||||
 | 
			
		||||
mode=$1    # start or stop
 | 
			
		||||
shift
 | 
			
		||||
other_args="$*"   # uncommon, but needed when called from an RPM upgrade action
 | 
			
		||||
           # Expected: "--skip-networking --skip-grant-tables"
 | 
			
		||||
           # They are not checked here, intentionally, as it is the resposibility
 | 
			
		||||
           # of the "spec" file author to give correct arguments only.
 | 
			
		||||
 | 
			
		||||
case `echo "testing\c"`,`echo -n testing` in
 | 
			
		||||
    *c*,-n*) echo_n=   echo_c=     ;;
 | 
			
		||||
    *c*,*)   echo_n=-n echo_c=     ;;
 | 
			
		||||
    *)       echo_n=   echo_c='\c' ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
parse_server_arguments() {
 | 
			
		||||
  for arg do
 | 
			
		||||
    case "$arg" in
 | 
			
		||||
      --basedir=*)  basedir=`echo "$arg" | sed -e 's/^[^=]*=//'`
 | 
			
		||||
                    bindir="$basedir/bin"
 | 
			
		||||
		    if test -z "$datadir_set"; then
 | 
			
		||||
		      datadir="$basedir/data"
 | 
			
		||||
		    fi
 | 
			
		||||
		    sbindir="$basedir/sbin"
 | 
			
		||||
		    libexecdir="$basedir/libexec"
 | 
			
		||||
        ;;
 | 
			
		||||
      --datadir=*)  datadir=`echo "$arg" | sed -e 's/^[^=]*=//'`
 | 
			
		||||
		    datadir_set=1
 | 
			
		||||
	;;
 | 
			
		||||
      --user=*)  user=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
 | 
			
		||||
      --pid-file=*) server_pid_file=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
 | 
			
		||||
      --service-startup-timeout=*) service_startup_timeout=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
 | 
			
		||||
      --use-mysqld_safe) use_mysqld_safe=1;;
 | 
			
		||||
      --use-manager)     use_mysqld_safe=0;;
 | 
			
		||||
    esac
 | 
			
		||||
  done
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
parse_manager_arguments() {
 | 
			
		||||
  for arg do
 | 
			
		||||
    case "$arg" in
 | 
			
		||||
      --pid-file=*) pid_file=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
 | 
			
		||||
      --user=*)  user=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
 | 
			
		||||
    esac
 | 
			
		||||
  done
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
wait_for_pid () {
 | 
			
		||||
  verb="$1"
 | 
			
		||||
  manager_pid="$2"  # process ID of the program operating on the pid-file
 | 
			
		||||
  i=0
 | 
			
		||||
  avoid_race_condition="by checking again"
 | 
			
		||||
  while test $i -ne $service_startup_timeout ; do
 | 
			
		||||
 | 
			
		||||
    case "$verb" in
 | 
			
		||||
      'created')
 | 
			
		||||
        # wait for a PID-file to pop into existence.
 | 
			
		||||
        test -s $pid_file && i='' && break
 | 
			
		||||
        ;;
 | 
			
		||||
      'removed')
 | 
			
		||||
        # wait for this PID-file to disappear
 | 
			
		||||
        test ! -s $pid_file && i='' && break
 | 
			
		||||
        ;;
 | 
			
		||||
      *)
 | 
			
		||||
        echo "wait_for_pid () usage: wait_for_pid created|removed manager_pid"
 | 
			
		||||
        exit 1
 | 
			
		||||
        ;;
 | 
			
		||||
    esac
 | 
			
		||||
 | 
			
		||||
    # if manager isn't running, then pid-file will never be updated
 | 
			
		||||
    if test -n "$manager_pid"; then
 | 
			
		||||
      if kill -0 "$manager_pid" 2>/dev/null; then
 | 
			
		||||
        :  # the manager still runs
 | 
			
		||||
      else
 | 
			
		||||
        # The manager may have exited between the last pid-file check and now.  
 | 
			
		||||
        if test -n "$avoid_race_condition"; then
 | 
			
		||||
          avoid_race_condition=""
 | 
			
		||||
          continue  # Check again.
 | 
			
		||||
        fi
 | 
			
		||||
 | 
			
		||||
        # there's nothing that will affect the file.
 | 
			
		||||
        log_failure_msg "Manager of pid-file quit without updating file."
 | 
			
		||||
        return 1  # not waiting any more.
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    echo $echo_n ".$echo_c"
 | 
			
		||||
    i=`expr $i + 1`
 | 
			
		||||
    sleep 1
 | 
			
		||||
  done
 | 
			
		||||
 | 
			
		||||
  if test -z "$i" ; then
 | 
			
		||||
    log_success_msg
 | 
			
		||||
    return 0
 | 
			
		||||
  else
 | 
			
		||||
    log_failure_msg
 | 
			
		||||
    return 1
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Get arguments from the my.cnf file,
 | 
			
		||||
# the only group, which is read from now on is [mysqld]
 | 
			
		||||
if test -x ./bin/my_print_defaults
 | 
			
		||||
then
 | 
			
		||||
  print_defaults="./bin/my_print_defaults"
 | 
			
		||||
elif test -x $bindir/my_print_defaults
 | 
			
		||||
then
 | 
			
		||||
  print_defaults="$bindir/my_print_defaults"
 | 
			
		||||
elif test -x $bindir/mysql_print_defaults
 | 
			
		||||
then
 | 
			
		||||
  print_defaults="$bindir/mysql_print_defaults"
 | 
			
		||||
else
 | 
			
		||||
  # Try to find basedir in /etc/my.cnf
 | 
			
		||||
  conf=/etc/my.cnf
 | 
			
		||||
  print_defaults=
 | 
			
		||||
  if test -r $conf
 | 
			
		||||
  then
 | 
			
		||||
    subpat='^[^=]*basedir[^=]*=\(.*\)$'
 | 
			
		||||
    dirs=`sed -e "/$subpat/!d" -e 's//\1/' $conf`
 | 
			
		||||
    for d in $dirs
 | 
			
		||||
    do
 | 
			
		||||
      d=`echo $d | sed -e 's/[ 	]//g'`
 | 
			
		||||
      if test -x "$d/bin/my_print_defaults"
 | 
			
		||||
      then
 | 
			
		||||
        print_defaults="$d/bin/my_print_defaults"
 | 
			
		||||
        break
 | 
			
		||||
      fi
 | 
			
		||||
      if test -x "$d/bin/mysql_print_defaults"
 | 
			
		||||
      then
 | 
			
		||||
        print_defaults="$d/bin/mysql_print_defaults"
 | 
			
		||||
        break
 | 
			
		||||
      fi
 | 
			
		||||
    done
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  # Hope it's in the PATH ... but I doubt it
 | 
			
		||||
  test -z "$print_defaults" && print_defaults="my_print_defaults"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Read defaults file from 'basedir'.   If there is no defaults file there
 | 
			
		||||
# check if it's in the old (depricated) place (datadir) and read it from there
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
extra_args=""
 | 
			
		||||
if test -r "$basedir/my.cnf"
 | 
			
		||||
then
 | 
			
		||||
  extra_args="-e $basedir/my.cnf"
 | 
			
		||||
else
 | 
			
		||||
  if test -r "$datadir/my.cnf"
 | 
			
		||||
  then
 | 
			
		||||
    extra_args="-e $datadir/my.cnf"
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
parse_server_arguments `$print_defaults $extra_args mysqld server mysql_server mysql.server`
 | 
			
		||||
 | 
			
		||||
# Look for the pidfile 
 | 
			
		||||
parse_manager_arguments `$print_defaults $extra_args manager`
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Set pid file if not given
 | 
			
		||||
#
 | 
			
		||||
if test -z "$pid_file"
 | 
			
		||||
then
 | 
			
		||||
  pid_file=$datadir/mysqlmanager-`/bin/hostname`.pid
 | 
			
		||||
else
 | 
			
		||||
  case "$pid_file" in
 | 
			
		||||
    /* ) ;;
 | 
			
		||||
    * )  pid_file="$datadir/$pid_file" ;;
 | 
			
		||||
  esac
 | 
			
		||||
fi
 | 
			
		||||
if test -z "$server_pid_file"
 | 
			
		||||
then
 | 
			
		||||
  server_pid_file=$datadir/`/bin/hostname`.pid
 | 
			
		||||
else
 | 
			
		||||
  case "$server_pid_file" in
 | 
			
		||||
    /* ) ;;
 | 
			
		||||
    * )  server_pid_file="$datadir/$server_pid_file" ;;
 | 
			
		||||
  esac
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
case "$mode" in
 | 
			
		||||
  'start')
 | 
			
		||||
    # Start daemon
 | 
			
		||||
 | 
			
		||||
    # Safeguard (relative paths, core dumps..)
 | 
			
		||||
    cd $basedir
 | 
			
		||||
 | 
			
		||||
    manager=$bindir/mysqlmanager
 | 
			
		||||
    if test -x $libexecdir/mysqlmanager
 | 
			
		||||
    then
 | 
			
		||||
      manager=$libexecdir/mysqlmanager
 | 
			
		||||
    elif test -x $sbindir/mysqlmanager
 | 
			
		||||
    then
 | 
			
		||||
      manager=$sbindir/mysqlmanager
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    echo $echo_n "Starting MySQL"
 | 
			
		||||
    if test -x $manager -a "$use_mysqld_safe" = "0"
 | 
			
		||||
    then
 | 
			
		||||
      if test -n "$other_args"
 | 
			
		||||
      then
 | 
			
		||||
        log_failure_msg "MySQL manager does not support options '$other_args'"
 | 
			
		||||
        exit 1
 | 
			
		||||
      fi
 | 
			
		||||
      # Give extra arguments to mysqld with the my.cnf file. This script may
 | 
			
		||||
      # be overwritten at next upgrade.
 | 
			
		||||
      "$manager" \
 | 
			
		||||
        --mysqld-safe-compatible \
 | 
			
		||||
        --user="$user" \
 | 
			
		||||
        --pid-file="$pid_file" >/dev/null 2>&1 &
 | 
			
		||||
      wait_for_pid created $!; return_value=$?
 | 
			
		||||
 | 
			
		||||
      # Make lock for RedHat / SuSE
 | 
			
		||||
      if test -w /var/lock/subsys
 | 
			
		||||
      then
 | 
			
		||||
        touch /var/lock/subsys/mysqlmanager
 | 
			
		||||
      fi
 | 
			
		||||
      exit $return_value
 | 
			
		||||
    elif test -x $bindir/mysqld_safe
 | 
			
		||||
    then
 | 
			
		||||
      # Give extra arguments to mysqld with the my.cnf file. This script
 | 
			
		||||
      # may be overwritten at next upgrade.
 | 
			
		||||
      pid_file=$server_pid_file
 | 
			
		||||
      $bindir/mysqld_safe --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 &
 | 
			
		||||
      wait_for_pid created $!; return_value=$?
 | 
			
		||||
 | 
			
		||||
      # Make lock for RedHat / SuSE
 | 
			
		||||
      if test -w /var/lock/subsys
 | 
			
		||||
      then
 | 
			
		||||
        touch /var/lock/subsys/mysql
 | 
			
		||||
      fi
 | 
			
		||||
      exit $return_value
 | 
			
		||||
    else
 | 
			
		||||
      log_failure_msg "Couldn't find MySQL manager ($manager) or server ($bindir/mysqld_safe)"
 | 
			
		||||
    fi
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  'stop')
 | 
			
		||||
    # Stop daemon. We use a signal here to avoid having to know the
 | 
			
		||||
    # root password.
 | 
			
		||||
 | 
			
		||||
    # The RedHat / SuSE lock directory to remove
 | 
			
		||||
    lock_dir=/var/lock/subsys/mysqlmanager
 | 
			
		||||
 | 
			
		||||
    # If the manager pid_file doesn't exist, try the server's
 | 
			
		||||
    if test ! -s "$pid_file"
 | 
			
		||||
    then
 | 
			
		||||
      pid_file=$server_pid_file
 | 
			
		||||
      lock_dir=/var/lock/subsys/mysql
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if test -s "$pid_file"
 | 
			
		||||
    then
 | 
			
		||||
      mysqlmanager_pid=`cat $pid_file`
 | 
			
		||||
      
 | 
			
		||||
      if (kill -0 $mysqlmanager_pid 2>/dev/null)
 | 
			
		||||
      then
 | 
			
		||||
        echo $echo_n "Shutting down MySQL"
 | 
			
		||||
        kill $mysqlmanager_pid
 | 
			
		||||
        # mysqlmanager should remove the pid_file when it exits, so wait for it.
 | 
			
		||||
        wait_for_pid removed "$mysqlmanager_pid"; return_value=$?
 | 
			
		||||
      else
 | 
			
		||||
        log_failure_msg "MySQL manager or server process #$mysqlmanager_pid is not running!"
 | 
			
		||||
        rm $pid_file
 | 
			
		||||
      fi
 | 
			
		||||
      
 | 
			
		||||
      # delete lock for RedHat / SuSE
 | 
			
		||||
      if test -f $lock_dir
 | 
			
		||||
      then
 | 
			
		||||
        rm -f $lock_dir
 | 
			
		||||
      fi
 | 
			
		||||
      exit $return_value
 | 
			
		||||
    else
 | 
			
		||||
      log_failure_msg "MySQL manager or server PID file could not be found!"
 | 
			
		||||
    fi
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  'restart')
 | 
			
		||||
    # Stop the service and regardless of whether it was
 | 
			
		||||
    # running or not, start it again.
 | 
			
		||||
    if $0 stop  $other_args; then
 | 
			
		||||
      $0 start $other_args
 | 
			
		||||
    else
 | 
			
		||||
      log_failure_msg "Failed to stop running server, so refusing to try to start."
 | 
			
		||||
      exit 1
 | 
			
		||||
    fi
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  'reload'|'force-reload')
 | 
			
		||||
    if test -s "$server_pid_file" ; then
 | 
			
		||||
      read mysqld_pid <  $server_pid_file
 | 
			
		||||
      kill -HUP $mysqld_pid && log_success_msg "Reloading service MySQL"
 | 
			
		||||
      touch $server_pid_file
 | 
			
		||||
    else
 | 
			
		||||
      log_failure_msg "MySQL PID file could not be found!"
 | 
			
		||||
      exit 1
 | 
			
		||||
    fi
 | 
			
		||||
    ;;
 | 
			
		||||
  'status')
 | 
			
		||||
    # First, check to see if pid file exists
 | 
			
		||||
    if test -s "$server_pid_file" ; then 
 | 
			
		||||
      read mysqld_pid < $server_pid_file
 | 
			
		||||
      if kill -0 $mysqld_pid 2>/dev/null ; then 
 | 
			
		||||
        log_success_msg "MySQL running ($mysqld_pid)"
 | 
			
		||||
        exit 0
 | 
			
		||||
      else
 | 
			
		||||
        log_failure_msg "MySQL is not running, but PID file exists"
 | 
			
		||||
        exit 1
 | 
			
		||||
      fi
 | 
			
		||||
    else
 | 
			
		||||
      # Try to find appropriate mysqld process
 | 
			
		||||
      mysqld_pid=`pidof $libexecdir/mysqld`
 | 
			
		||||
      if test -z $mysqld_pid ; then 
 | 
			
		||||
        if test "$use_mysqld_safe" = "0" ; then 
 | 
			
		||||
          lockfile=/var/lock/subsys/mysqlmanager
 | 
			
		||||
        else
 | 
			
		||||
          lockfile=/var/lock/subsys/mysql
 | 
			
		||||
        fi 
 | 
			
		||||
        if test -f $lockfile ; then 
 | 
			
		||||
          log_failure_msg "MySQL is not running, but lock exists"
 | 
			
		||||
          exit 2
 | 
			
		||||
        fi 
 | 
			
		||||
        log_failure_msg "MySQL is not running"
 | 
			
		||||
        exit 3
 | 
			
		||||
      else
 | 
			
		||||
        log_failure_msg "MySQL is running but PID file could not be found"
 | 
			
		||||
        exit 4
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
    ;;
 | 
			
		||||
    *)
 | 
			
		||||
      # usage
 | 
			
		||||
      echo "Usage: $0  {start|stop|restart|reload|force-reload|status}  [ MySQL server options ]"
 | 
			
		||||
      exit 1
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
exit 0
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,34 @@
 | 
			
		|||
/*
 | 
			
		||||
 Navicat Premium Data Transfer
 | 
			
		||||
 | 
			
		||||
 Source Server         : vitual-box-mysql-5.1.51
 | 
			
		||||
 Source Server Type    : MySQL
 | 
			
		||||
 Source Server Version : 50151 (5.1.51-log)
 | 
			
		||||
 Source Host           : 192.168.4.254:3306
 | 
			
		||||
 Source Schema         : hjems
 | 
			
		||||
 | 
			
		||||
 Target Server Type    : MySQL
 | 
			
		||||
 Target Server Version : 50151 (5.1.51-log)
 | 
			
		||||
 File Encoding         : 65001
 | 
			
		||||
 | 
			
		||||
 Date: 29/05/2024 17:31:44
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
SET NAMES utf8;
 | 
			
		||||
SET FOREIGN_KEY_CHECKS = 0;
 | 
			
		||||
 | 
			
		||||
-- ----------------------------
 | 
			
		||||
-- Table structure for tbl_data
 | 
			
		||||
-- ----------------------------
 | 
			
		||||
DROP TABLE IF EXISTS `tbl_data`;
 | 
			
		||||
CREATE TABLE `tbl_data`  (
 | 
			
		||||
  `data_timestamp` varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0000-00-00 00:00:00.000',
 | 
			
		||||
  `data_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
 | 
			
		||||
  `FsuCode` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
 | 
			
		||||
  `data_content` blob NULL,
 | 
			
		||||
  `topic` tinyint(4) NULL DEFAULT 0,
 | 
			
		||||
  `device_id` decimal(10, 2) NULL DEFAULT NULL,
 | 
			
		||||
  PRIMARY KEY (`data_timestamp`) USING BTREE
 | 
			
		||||
) ENGINE = MyISAM CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
 | 
			
		||||
 | 
			
		||||
SET FOREIGN_KEY_CHECKS = 1;
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,78 @@
 | 
			
		|||
/*
 | 
			
		||||
 Navicat Premium Data Transfer
 | 
			
		||||
 | 
			
		||||
 Source Server         : vitual-box-mysql-5.1.51
 | 
			
		||||
 Source Server Type    : MySQL
 | 
			
		||||
 Source Server Version : 50151 (5.1.51-log)
 | 
			
		||||
 Source Host           : 192.168.4.254:3306
 | 
			
		||||
 Source Schema         : hjems
 | 
			
		||||
 | 
			
		||||
 Target Server Type    : MySQL
 | 
			
		||||
 Target Server Version : 50151 (5.1.51-log)
 | 
			
		||||
 File Encoding         : 65001
 | 
			
		||||
 | 
			
		||||
 Date: 31/05/2024 15:41:17
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
SET NAMES utf8;
 | 
			
		||||
SET FOREIGN_KEY_CHECKS = 0;
 | 
			
		||||
 | 
			
		||||
-- ----------------------------
 | 
			
		||||
-- Table structure for tbl_device_dict
 | 
			
		||||
-- ----------------------------
 | 
			
		||||
DROP TABLE IF EXISTS `tbl_device_dict`;
 | 
			
		||||
CREATE TABLE `tbl_device_dict_`  (
 | 
			
		||||
  `device_id` int(11) NOT NULL,
 | 
			
		||||
  `device_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
 | 
			
		||||
  PRIMARY KEY (`device_id`) USING BTREE
 | 
			
		||||
) ENGINE = MyISAM CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
 | 
			
		||||
 | 
			
		||||
-- ----------------------------
 | 
			
		||||
-- Records of tbl_device_dict
 | 
			
		||||
-- ----------------------------
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (1, '高压配电');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (2, '低压配电(交流配电箱)');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (3, '交流配电屏');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (4, '直流配电屏');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (5, '柴油发电机组');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (6, '开关电源');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (7, '蓄电池组');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (8, 'UPS设备');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (9, 'UPS配电屏');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (10, 'UPS电池');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (11, '240V直流系统');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (12, '专用空调(风冷)');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (13, '中央空调(水冷)');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (14, '专用空调(通冷冻水型)');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (15, '普通空调');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (16, '智能电表(交流)');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (17, '门禁系统');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (18, '机房/基站环境');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (19, '监控设备');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (20, '新能源供电系统(太阳能、风能)');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (21, '燃气轮机发电机组');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (22, '风力发电设备');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (23, '智能通风系统');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (24, '新风设备');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (25, '热交换设备');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (26, '热管设备');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (27, '蓄电池温控柜');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (28, '防雷设备/防雷箱');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (29, '燃料电池');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (30, '模块化UPS');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (31, '240V电池');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (32, '铁锂电池');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (33, '逆变器');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (34, '280V直流远供系统-局端升压');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (35, '280V直流远供系统-远端降压');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (36, '智能电表(直流)');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (37, '铁塔');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (38, '智能动环监控设备(FSU)');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (39, 'reserved');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (40, 'reserved');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (81, '智能温湿度传感器');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (85, 'HJWL门磁烟感水浸传感器');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (98, 'FSU设备');
 | 
			
		||||
INSERT INTO `tbl_device_dict` VALUES (99, '非智能门禁');
 | 
			
		||||
 | 
			
		||||
SET FOREIGN_KEY_CHECKS = 1;
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,45 @@
 | 
			
		|||
/*
 | 
			
		||||
 Navicat Premium Data Transfer
 | 
			
		||||
 | 
			
		||||
 Source Server         : 172.16.40.64-4#ems_mysql
 | 
			
		||||
 Source Server Type    : MySQL
 | 
			
		||||
 Source Server Version : 50151 (5.1.51-log)
 | 
			
		||||
 Source Host           : 172.16.40.64:3306
 | 
			
		||||
 Source Schema         : hjems
 | 
			
		||||
 | 
			
		||||
 Target Server Type    : MySQL
 | 
			
		||||
 Target Server Version : 50151 (5.1.51-log)
 | 
			
		||||
 File Encoding         : 65001
 | 
			
		||||
 | 
			
		||||
 Date: 04/06/2024 13:40:51
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
SET NAMES utf8;
 | 
			
		||||
SET FOREIGN_KEY_CHECKS = 0;
 | 
			
		||||
 | 
			
		||||
-- ----------------------------
 | 
			
		||||
-- Table structure for tbl_inner_deivce
 | 
			
		||||
-- ----------------------------
 | 
			
		||||
DROP TABLE IF EXISTS `tbl_inner_deivce`;
 | 
			
		||||
CREATE TABLE `tbl_inner_deivce`  (
 | 
			
		||||
  `devid` int(11) NOT NULL COMMENT '设备id',
 | 
			
		||||
  `device_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '设备名称',
 | 
			
		||||
  `device_name_en` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '设备英文名',
 | 
			
		||||
  `device_model` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '型号',
 | 
			
		||||
  `device_port_type` tinyint(4) NULL DEFAULT 0 COMMENT '0:RS485 1:CAN 2:RS323 3:RJ45 4:AI 5:DI 6:Other',
 | 
			
		||||
  `device_port` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '端口号或者IPAddr:Port',
 | 
			
		||||
  `device_addr` tinyint(4) NULL DEFAULT 1 COMMENT '485端口地址',
 | 
			
		||||
  `deivce_protocol` tinyint(4) NULL DEFAULT NULL COMMENT '0:Modbus_RTU 1:Modbus_TCP 2:CAN 3:7E 4:Other',
 | 
			
		||||
  `device_manufacturer` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '制造商',
 | 
			
		||||
  `device_memo` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '其他信息',
 | 
			
		||||
  `device_display_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '在列表中的显示名称',
 | 
			
		||||
  `device_display_name_en` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '在列表中的显示英文名称',
 | 
			
		||||
  PRIMARY KEY (`devid`) USING BTREE
 | 
			
		||||
) ENGINE = MyISAM CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
 | 
			
		||||
 | 
			
		||||
-- ----------------------------
 | 
			
		||||
-- Records of tbl_inner_deivce
 | 
			
		||||
-- ----------------------------
 | 
			
		||||
INSERT INTO `tbl_inner_deivce` VALUES (0, '英维克EC系列机柜空调器', NULL, 'DC3000', 0, '/dev/ttys0', 1, 0, '英维克', 'AirConditioner', 'Invek', '空调');
 | 
			
		||||
 | 
			
		||||
SET FOREIGN_KEY_CHECKS = 1;
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,36 @@
 | 
			
		|||
/*
 | 
			
		||||
 Navicat Premium Data Transfer
 | 
			
		||||
 | 
			
		||||
 Source Server         : vitual-box-mysql-5.1.51
 | 
			
		||||
 Source Server Type    : MySQL
 | 
			
		||||
 Source Server Version : 50151 (5.1.51-log)
 | 
			
		||||
 Source Host           : 192.168.4.254:3306
 | 
			
		||||
 Source Schema         : hjems
 | 
			
		||||
 | 
			
		||||
 Target Server Type    : MySQL
 | 
			
		||||
 Target Server Version : 50151 (5.1.51-log)
 | 
			
		||||
 File Encoding         : 65001
 | 
			
		||||
 | 
			
		||||
 Date: 31/05/2024 15:41:41
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
SET NAMES utf8;
 | 
			
		||||
SET FOREIGN_KEY_CHECKS = 0;
 | 
			
		||||
 | 
			
		||||
-- ----------------------------
 | 
			
		||||
-- Table structure for tbl_topic
 | 
			
		||||
-- ----------------------------
 | 
			
		||||
DROP TABLE IF EXISTS `tbl_topic`;
 | 
			
		||||
CREATE TABLE `tbl_topic`  (
 | 
			
		||||
  `topic_id` int(11) NOT NULL,
 | 
			
		||||
  `topic` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
 | 
			
		||||
  PRIMARY KEY (`topic_id`) USING BTREE
 | 
			
		||||
) ENGINE = MyISAM CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
 | 
			
		||||
 | 
			
		||||
-- ----------------------------
 | 
			
		||||
-- Records of tbl_topic
 | 
			
		||||
-- ----------------------------
 | 
			
		||||
INSERT INTO `tbl_topic` VALUES (0, 'GateWayPublicTopic_Server');
 | 
			
		||||
INSERT INTO `tbl_topic` VALUES (1, 'ServerPublicTopic_GateWay');
 | 
			
		||||
 | 
			
		||||
SET FOREIGN_KEY_CHECKS = 1;
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,48 @@
 | 
			
		|||
/*
 | 
			
		||||
 Navicat Premium Data Transfer
 | 
			
		||||
 | 
			
		||||
 Source Server         : vitual-box-mysql-5.1.51
 | 
			
		||||
 Source Server Type    : MySQL
 | 
			
		||||
 Source Server Version : 50151 (5.1.51-log)
 | 
			
		||||
 Source Host           : 192.168.4.254:3306
 | 
			
		||||
 Source Schema         : hjems
 | 
			
		||||
 | 
			
		||||
 Target Server Type    : MySQL
 | 
			
		||||
 Target Server Version : 50151 (5.1.51-log)
 | 
			
		||||
 File Encoding         : 65001
 | 
			
		||||
 | 
			
		||||
 Date: 31/05/2024 15:42:19
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
SET NAMES utf8;
 | 
			
		||||
SET FOREIGN_KEY_CHECKS = 0;
 | 
			
		||||
 | 
			
		||||
-- ----------------------------
 | 
			
		||||
-- Table structure for tbl_user
 | 
			
		||||
-- ----------------------------
 | 
			
		||||
DROP TABLE IF EXISTS `tbl_user`;
 | 
			
		||||
CREATE TABLE `tbl_user`  (
 | 
			
		||||
  `uid` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
 | 
			
		||||
  `uname` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
 | 
			
		||||
  `upasswd` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
 | 
			
		||||
  `usalt` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
 | 
			
		||||
  `email` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
 | 
			
		||||
  `mobile1` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
 | 
			
		||||
  `mobile2` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
 | 
			
		||||
  `memo` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
 | 
			
		||||
  PRIMARY KEY (`uid`) USING BTREE
 | 
			
		||||
) ENGINE = MyISAM CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
 | 
			
		||||
 | 
			
		||||
-- ----------------------------
 | 
			
		||||
-- Records of tbl_user
 | 
			
		||||
-- ----------------------------
 | 
			
		||||
INSERT INTO `tbl_user` VALUES ('hkc', 'HuangKC', 'CC8A7EE86C468CF8325A4F1377D83EF0', '1C915F2C045EA7628E3CF170BFA59F51', 'hkc@hj-net.com', '13601267890', '13601268888', 'WX# 微信号测试代码');
 | 
			
		||||
INSERT INTO `tbl_user` VALUES ('user42ojwGmS1qfm', 'new_username111', 'CC8A7EE86C468CF8325A4F1377D83EF0', '1C915F2C045EA7628E3CF170BFA59F52', NULL, NULL, NULL, NULL);
 | 
			
		||||
INSERT INTO `tbl_user` VALUES ('user98JnmgAtgd1e', 'new_username222', 'new_password', '1C915F2C045EA7628E3CF170BFA59F53', NULL, NULL, NULL, NULL);
 | 
			
		||||
INSERT INTO `tbl_user` VALUES ('userepTkK9jNcryR', 'new_username333', 'new_password', '1C915F2C045EA7628E3CF170BFA59F54', NULL, NULL, NULL, '新备注信息');
 | 
			
		||||
INSERT INTO `tbl_user` VALUES ('P0o08RwHn2bf', 'new_username', 'new_password', '1C915F2C045EA7628E3CF170BFA59F51', NULL, NULL, NULL, '新备注信息');
 | 
			
		||||
INSERT INTO `tbl_user` VALUES ('lQU5YLhQjqEl', 'new_username', 'new_password', '1C915F2C045EA7628E3CF170BFA59F51', NULL, NULL, NULL, '新备注信息');
 | 
			
		||||
INSERT INTO `tbl_user` VALUES ('HL6yrdokoz8s', 'new_username', 'new_password', '1C915F2C045EA7628E3CF170BFA59F51', NULL, NULL, NULL, '新备注信息');
 | 
			
		||||
INSERT INTO `tbl_user` VALUES ('XzUMi3N31pk2', 'new_username', 'new_password', '1C915F2C045EA7628E3CF170BFA59F51', NULL, NULL, NULL, '新备注信息');
 | 
			
		||||
 | 
			
		||||
SET FOREIGN_KEY_CHECKS = 1;
 | 
			
		||||
| 
						 | 
				
			
			@ -14,6 +14,21 @@ using namespace cgicc;
 | 
			
		|||
// 登录请求处理函数
 | 
			
		||||
void handleLoginRequest(cgicc::Cgicc& cgi) 
 | 
			
		||||
{
 | 
			
		||||
#if 0
 | 
			
		||||
	handleHtmlHeader();
 | 
			
		||||
 | 
			
		||||
	std::cout << std::endl;
 | 
			
		||||
 | 
			
		||||
	// Start the HTML body
 | 
			
		||||
	std::cout << body() << std::endl;
 | 
			
		||||
 | 
			
		||||
	std::cout << h1("Login Successful!") << std::endl;
 | 
			
		||||
 | 
			
		||||
	// Close the document
 | 
			
		||||
	std::cout << body() << html();
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if 1
 | 
			
		||||
	handleHtmlHeader();
 | 
			
		||||
 | 
			
		||||
	// Start the HTML body
 | 
			
		||||
| 
						 | 
				
			
			@ -57,5 +72,5 @@ void handleLoginRequest(cgicc::Cgicc& cgi)
 | 
			
		|||
 | 
			
		||||
	// Close the document
 | 
			
		||||
	std::cout << body() << html();
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,6 +11,36 @@ void handleSignupRequest(cgicc::Cgicc& cgi);
 | 
			
		|||
 | 
			
		||||
// 添加更多处理函数...
 | 
			
		||||
 | 
			
		||||
void handleVersion(cgicc::Cgicc& cgi)
 | 
			
		||||
{
 | 
			
		||||
	using namespace cgicc;
 | 
			
		||||
	using namespace std;
 | 
			
		||||
	// Output the HTTP headers for an HTML document, and the HTML 4.0 DTD info
 | 
			
		||||
	std::cout << HTTPHTMLHeader() << HTMLDoctype(HTMLDoctype::eStrict) << std::endl;
 | 
			
		||||
 | 
			
		||||
	//cout << html().set("lang", "en").set("dir", "ltr") << endl;
 | 
			
		||||
	std::cout << "<meta charset=\"UTF-8\">" << std::endl;
 | 
			
		||||
 | 
			
		||||
	// Set up the page's header and title.
 | 
			
		||||
	std::cout << head() << std::endl;
 | 
			
		||||
	std::cout << title() << "Shanghai Huijue EMS device" << title() << std::endl;
 | 
			
		||||
	std::cout << head() << std::endl << std::endl;
 | 
			
		||||
 | 
			
		||||
	std::cout << body() << std::endl;
 | 
			
		||||
 | 
			
		||||
	//std::cout << h1("Version 1.0.531") << std::endl;
 | 
			
		||||
	#define cgiVersion "1.0.531"
 | 
			
		||||
 | 
			
		||||
	const char* VersionInfo = "Version: " cgiVersion;
 | 
			
		||||
	const char* BuildInfo = "Build Info: " __DATE__ " " __TIME__;
 | 
			
		||||
 | 
			
		||||
	std::cout << h1(VersionInfo) << std::endl;
 | 
			
		||||
	std::cout << h1(BuildInfo) << std::endl;
 | 
			
		||||
 | 
			
		||||
	// Close the document
 | 
			
		||||
	std::cout << body() << html();
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int main()
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -18,13 +48,22 @@ int main()
 | 
			
		|||
	using namespace std;
 | 
			
		||||
 | 
			
		||||
	Cgicc formData;
 | 
			
		||||
#if 0
 | 
			
		||||
	handleLoginRequest(formData);
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if 1
 | 
			
		||||
	//获得api方法
 | 
			
		||||
	form_iterator fi = formData.getElement("do");
 | 
			
		||||
 | 
			
		||||
	if (!fi->isEmpty() && fi != (*formData).end())
 | 
			
		||||
	{
 | 
			
		||||
		//std::cout << "api:" << **fi << std::endl;
 | 
			
		||||
		if (**fi == "version")
 | 
			
		||||
		{
 | 
			
		||||
			handleVersion(formData);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (**fi == "login")
 | 
			
		||||
		{
 | 
			
		||||
| 
						 | 
				
			
			@ -38,4 +77,5 @@ int main()
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -5,10 +5,6 @@ VisualStudioVersion = 16.0.34301.259
 | 
			
		|||
MinimumVisualStudioVersion = 10.0.40219.1
 | 
			
		||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "datahubs", "datahubs.vcxproj", "{E1B36564-B73F-4161-A72D-F6A44B1CE8FD}"
 | 
			
		||||
EndProject
 | 
			
		||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libopdb", "..\libopdb\libopdb.vcxproj", "{E8431BFC-D508-428C-AC1D-A64539C5FC18}"
 | 
			
		||||
EndProject
 | 
			
		||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cgiCommon", "..\cgiCommon\cgiCommon.vcxproj", "{EC275930-0379-4487-8C30-EAFE2C124618}"
 | 
			
		||||
EndProject
 | 
			
		||||
Global
 | 
			
		||||
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 | 
			
		||||
		Debug|ARM = Debug|ARM
 | 
			
		||||
| 
						 | 
				
			
			@ -45,54 +41,6 @@ Global
 | 
			
		|||
		{E1B36564-B73F-4161-A72D-F6A44B1CE8FD}.Release|x86.ActiveCfg = Release|x86
 | 
			
		||||
		{E1B36564-B73F-4161-A72D-F6A44B1CE8FD}.Release|x86.Build.0 = Release|x86
 | 
			
		||||
		{E1B36564-B73F-4161-A72D-F6A44B1CE8FD}.Release|x86.Deploy.0 = Release|x86
 | 
			
		||||
		{E8431BFC-D508-428C-AC1D-A64539C5FC18}.Debug|ARM.ActiveCfg = Debug|ARM
 | 
			
		||||
		{E8431BFC-D508-428C-AC1D-A64539C5FC18}.Debug|ARM.Build.0 = Debug|ARM
 | 
			
		||||
		{E8431BFC-D508-428C-AC1D-A64539C5FC18}.Debug|ARM.Deploy.0 = Debug|ARM
 | 
			
		||||
		{E8431BFC-D508-428C-AC1D-A64539C5FC18}.Debug|ARM64.ActiveCfg = Debug|ARM64
 | 
			
		||||
		{E8431BFC-D508-428C-AC1D-A64539C5FC18}.Debug|ARM64.Build.0 = Debug|ARM64
 | 
			
		||||
		{E8431BFC-D508-428C-AC1D-A64539C5FC18}.Debug|ARM64.Deploy.0 = Debug|ARM64
 | 
			
		||||
		{E8431BFC-D508-428C-AC1D-A64539C5FC18}.Debug|x64.ActiveCfg = Debug|x64
 | 
			
		||||
		{E8431BFC-D508-428C-AC1D-A64539C5FC18}.Debug|x64.Build.0 = Debug|x64
 | 
			
		||||
		{E8431BFC-D508-428C-AC1D-A64539C5FC18}.Debug|x64.Deploy.0 = Debug|x64
 | 
			
		||||
		{E8431BFC-D508-428C-AC1D-A64539C5FC18}.Debug|x86.ActiveCfg = Debug|x86
 | 
			
		||||
		{E8431BFC-D508-428C-AC1D-A64539C5FC18}.Debug|x86.Build.0 = Debug|x86
 | 
			
		||||
		{E8431BFC-D508-428C-AC1D-A64539C5FC18}.Debug|x86.Deploy.0 = Debug|x86
 | 
			
		||||
		{E8431BFC-D508-428C-AC1D-A64539C5FC18}.Release|ARM.ActiveCfg = Release|ARM
 | 
			
		||||
		{E8431BFC-D508-428C-AC1D-A64539C5FC18}.Release|ARM.Build.0 = Release|ARM
 | 
			
		||||
		{E8431BFC-D508-428C-AC1D-A64539C5FC18}.Release|ARM.Deploy.0 = Release|ARM
 | 
			
		||||
		{E8431BFC-D508-428C-AC1D-A64539C5FC18}.Release|ARM64.ActiveCfg = Release|ARM64
 | 
			
		||||
		{E8431BFC-D508-428C-AC1D-A64539C5FC18}.Release|ARM64.Build.0 = Release|ARM64
 | 
			
		||||
		{E8431BFC-D508-428C-AC1D-A64539C5FC18}.Release|ARM64.Deploy.0 = Release|ARM64
 | 
			
		||||
		{E8431BFC-D508-428C-AC1D-A64539C5FC18}.Release|x64.ActiveCfg = Release|x64
 | 
			
		||||
		{E8431BFC-D508-428C-AC1D-A64539C5FC18}.Release|x64.Build.0 = Release|x64
 | 
			
		||||
		{E8431BFC-D508-428C-AC1D-A64539C5FC18}.Release|x64.Deploy.0 = Release|x64
 | 
			
		||||
		{E8431BFC-D508-428C-AC1D-A64539C5FC18}.Release|x86.ActiveCfg = Release|x86
 | 
			
		||||
		{E8431BFC-D508-428C-AC1D-A64539C5FC18}.Release|x86.Build.0 = Release|x86
 | 
			
		||||
		{E8431BFC-D508-428C-AC1D-A64539C5FC18}.Release|x86.Deploy.0 = Release|x86
 | 
			
		||||
		{EC275930-0379-4487-8C30-EAFE2C124618}.Debug|ARM.ActiveCfg = Debug|ARM
 | 
			
		||||
		{EC275930-0379-4487-8C30-EAFE2C124618}.Debug|ARM.Build.0 = Debug|ARM
 | 
			
		||||
		{EC275930-0379-4487-8C30-EAFE2C124618}.Debug|ARM.Deploy.0 = Debug|ARM
 | 
			
		||||
		{EC275930-0379-4487-8C30-EAFE2C124618}.Debug|ARM64.ActiveCfg = Debug|ARM64
 | 
			
		||||
		{EC275930-0379-4487-8C30-EAFE2C124618}.Debug|ARM64.Build.0 = Debug|ARM64
 | 
			
		||||
		{EC275930-0379-4487-8C30-EAFE2C124618}.Debug|ARM64.Deploy.0 = Debug|ARM64
 | 
			
		||||
		{EC275930-0379-4487-8C30-EAFE2C124618}.Debug|x64.ActiveCfg = Debug|x64
 | 
			
		||||
		{EC275930-0379-4487-8C30-EAFE2C124618}.Debug|x64.Build.0 = Debug|x64
 | 
			
		||||
		{EC275930-0379-4487-8C30-EAFE2C124618}.Debug|x64.Deploy.0 = Debug|x64
 | 
			
		||||
		{EC275930-0379-4487-8C30-EAFE2C124618}.Debug|x86.ActiveCfg = Debug|x86
 | 
			
		||||
		{EC275930-0379-4487-8C30-EAFE2C124618}.Debug|x86.Build.0 = Debug|x86
 | 
			
		||||
		{EC275930-0379-4487-8C30-EAFE2C124618}.Debug|x86.Deploy.0 = Debug|x86
 | 
			
		||||
		{EC275930-0379-4487-8C30-EAFE2C124618}.Release|ARM.ActiveCfg = Release|ARM
 | 
			
		||||
		{EC275930-0379-4487-8C30-EAFE2C124618}.Release|ARM.Build.0 = Release|ARM
 | 
			
		||||
		{EC275930-0379-4487-8C30-EAFE2C124618}.Release|ARM.Deploy.0 = Release|ARM
 | 
			
		||||
		{EC275930-0379-4487-8C30-EAFE2C124618}.Release|ARM64.ActiveCfg = Release|ARM64
 | 
			
		||||
		{EC275930-0379-4487-8C30-EAFE2C124618}.Release|ARM64.Build.0 = Release|ARM64
 | 
			
		||||
		{EC275930-0379-4487-8C30-EAFE2C124618}.Release|ARM64.Deploy.0 = Release|ARM64
 | 
			
		||||
		{EC275930-0379-4487-8C30-EAFE2C124618}.Release|x64.ActiveCfg = Release|x64
 | 
			
		||||
		{EC275930-0379-4487-8C30-EAFE2C124618}.Release|x64.Build.0 = Release|x64
 | 
			
		||||
		{EC275930-0379-4487-8C30-EAFE2C124618}.Release|x64.Deploy.0 = Release|x64
 | 
			
		||||
		{EC275930-0379-4487-8C30-EAFE2C124618}.Release|x86.ActiveCfg = Release|x86
 | 
			
		||||
		{EC275930-0379-4487-8C30-EAFE2C124618}.Release|x86.Build.0 = Release|x86
 | 
			
		||||
		{EC275930-0379-4487-8C30-EAFE2C124618}.Release|x86.Deploy.0 = Release|x86
 | 
			
		||||
	EndGlobalSection
 | 
			
		||||
	GlobalSection(SolutionProperties) = preSolution
 | 
			
		||||
		HideSolutionNode = FALSE
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -79,17 +79,25 @@
 | 
			
		|||
    <IncludePath>D:\My Documents\汇珏网络\15. EMS\projects\sdk\include;$(IncludePath)</IncludePath>
 | 
			
		||||
    <ProjectPublicIncludePath>-I/usr/local/include</ProjectPublicIncludePath>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
 | 
			
		||||
    <IncludePath>D:\My Documents\汇珏网络\15. EMS\projects\emsApplication\sdk\include;$(IncludePath)</IncludePath>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <ClCompile Include="iconv-utils.cpp" />
 | 
			
		||||
    <ClCompile Include="main.cpp" />
 | 
			
		||||
    <ClCompile Include="openjson.cpp" />
 | 
			
		||||
    <ClCompile Include="opmysql.cpp" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <ClInclude Include="iconv-utils.h" />
 | 
			
		||||
    <ClInclude Include="mqtt_msg.h" />
 | 
			
		||||
    <ClInclude Include="openjson.h" />
 | 
			
		||||
    <ClInclude Include="opmysql.h" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <None Include="datahubs.conf" />
 | 
			
		||||
    <None Include="Makefile" />
 | 
			
		||||
    <None Include="Makefile.arm" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
 | 
			
		||||
    <Link>
 | 
			
		||||
| 
						 | 
				
			
			@ -97,6 +105,11 @@
 | 
			
		|||
      <LibraryDependencies>hv;sqlite3;dl</LibraryDependencies>
 | 
			
		||||
    </Link>
 | 
			
		||||
  </ItemDefinitionGroup>
 | 
			
		||||
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
 | 
			
		||||
    <ClCompile>
 | 
			
		||||
      <AdditionalIncludeDirectories>D:\My Documents\汇珏网络\15. EMS\projects\emsApplication\sdk\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
			
		||||
    </ClCompile>
 | 
			
		||||
  </ItemDefinitionGroup>
 | 
			
		||||
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
 | 
			
		||||
  <ImportGroup Label="ExtensionTargets" />
 | 
			
		||||
</Project>
 | 
			
		||||
		Loading…
	
		Reference in New Issue