Navicat 可以使用 ntunnel_mysql.php 当作代理来连接 MySQL服务器.
http://www.navicat.com/manual/online_manual/en/navicat/rv_manual/HTTPS...
有没有开源的替代方案, 可以让mysql命令行通过http来连接MySQL服务器
注:
1. 感谢各位的回答, 题主需要的是使用PHP来做代理转发MySQL请求.
2. 题目的情况是这样的,
Web Server(只能通过HTTP协议连接外部网络)----外部Web Server(通过PHP转发MySQL)----外部MySQL server
Navicat 可以使用 ntunnel_mysql.php 当作代理来连接 MySQL服务器.
http://www.navicat.com/manual/online_manual/en/navicat/rv_manual/HTTPS...
有没有开源的替代方案, 可以让mysql命令行通过http来连接MySQL服务器
注:
1. 感谢各位的回答, 题主需要的是使用PHP来做代理转发MySQL请求.
2. 题目的情况是这样的,
Web Server(只能通过HTTP协议连接外部网络)----外部Web Server(通过PHP转发MySQL)----外部MySQL server
我觉得个人使用没有必要用http协议来做隧道,Navicat这个方案主要是考虑到它方便部署。如果你只是想穿透内网的话,其实你可以用qtunnel这类隧道搭建,还可以加密传输更加安全。而且实际上是把服务器上的mysql映射到了本地,你可以用任何mysql客户端去连接这个端口
http 本身用的是http
的协议, mysql 连接mysql server 用的时mysql
的协议, 两个协议怎么能直接互换呢, 就像你说的, 只能使用代理实现, 而不能直接使用http协议去连接mysql. 假如真的这样了, 通过http就能连接数据库, 那所有人只要拿到了接口, 就能操作数据库, 得多可怕
先谢邀。
我帮你贴出来了。
捡你看得懂的看。
<code>shell</code><code>[root /]# mysql --help mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (i386) using readline 5.1 Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Usage: mysql [OPTIONS] [database] -?, --help Display this help and exit. -I, --help Synonym for -? --auto-rehash Enable automatic rehashing. One doesn't need to use 'rehash' to get table and field completion, but startup and reconnecting may take a longer time. Disable with --disable-auto-rehash. -A, --no-auto-rehash No automatic rehashing. One has to use 'rehash' to get table and field completion. This gives a quicker start of mysql and disables rehashing on reconnect. -B, --batch Don't use history file. Disable interactive behavior. (Enables --silent.) --character-sets-dir=name Directory for character set files. --column-type-info Display column type information. -c, --comments Preserve comments. Send comments to the server. The default is --skip-comments (discard comments), enable with --comments. -C, --compress Use compression in server/client protocol. -#, --debug[=#] This is a non-debug version. Catch this and exit. --debug-check Check memory and open file usage at exit. -T, --debug-info Print some debug info at exit. -D, --database=name Database to use. --default-character-set=name Set the default character set. --delimiter=name Delimiter to be used. -e, --execute=name Execute command and quit. (Disables --force and history file.) -E, --vertical Print the output of a query (rows) vertically. -f, --force Continue even if we get an SQL error. -G, --named-commands Enable named commands. Named commands mean this program's internal commands; see mysql> help . When enabled, the named commands can be used from any line of the query, otherwise only from the first line, before an enter. Disable with --disable-named-commands. This option is disabled by default. -g, --no-named-commands Named commands are disabled. Use \* form only, or use named commands only in the beginning of a line ending with a semicolon (;). Since version 10.9, the client now starts with this option ENABLED by default. Disable with '-G'. Long format commands still work from the first line. WARNING: option deprecated; use --disable-named-commands instead. -i, --ignore-spaces Ignore space after function names. --local-infile Enable/disable LOAD DATA LOCAL INFILE. -b, --no-beep Turn off beep on error. -h, --host=name Connect to host. -H, --html Produce HTML output. -X, --xml Produce XML output. --line-numbers Write line numbers for errors. -L, --skip-line-numbers Don't write line number for errors. -n, --unbuffered Flush buffer after each query. --column-names Write column names in results. -N, --skip-column-names Don't write column names in results. -O, --set-variable=name Change the value of a variable. Please note that this option is deprecated; you can set variables directly with --variable-name=value. --sigint-ignore Ignore SIGINT (CTRL-C). -o, --one-database Ignore statements except those that occur while the default database is the one named at the command line. --pager[=name] Pager to use to display results. If you don't supply an option, the default pager is taken from your ENV variable PAGER. Valid pagers are less, more, cat [> filename], etc. See interactive help (\h) also. This option does not work in batch mode. Disable with --disable-pager. This option is disabled by default. --no-pager Disable pager and print to stdout. See interactive help (\h) also. WARNING: option deprecated; use --disable-pager instead. -p, --password[=name] Password to use when connecting to server. If password is not given it's asked from the tty. -P, --port=# Port number to use for connection or 0 for default to, in order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/services, built-in default (3306). --prompt=name Set the mysql prompt to this value. --protocol=name The protocol to use for connection (tcp, socket, pipe, memory). -q, --quick Don't cache result, print it row by row. This may slow down the server if the output is suspended. Doesn't use history file. -r, --raw Write fields without conversion. Used with --batch. --reconnect Reconnect if the connection is lost. Disable with --disable-reconnect. This option is enabled by default. -s, --silent Be more silent. Print results with a tab as separator, each row on new line. -S, --socket=name The socket file to use for connection. --ssl Enable SSL for connection (automatically enabled with other flags).Disable with --skip-ssl. --ssl-ca=name CA file in PEM format (check OpenSSL docs, implies --ssl). --ssl-capath=name CA directory (check OpenSSL docs, implies --ssl). --ssl-cert=name X509 cert in PEM format (implies --ssl). --ssl-cipher=name SSL cipher to use (implies --ssl). --ssl-key=name X509 key in PEM format (implies --ssl). --ssl-verify-server-cert Verify server's "Common Name" in its cert against hostname used when connecting. This option is disabled by default. -t, --table Output in table format. --tee=name Append everything into outfile. See interactive help (\h) also. Does not work in batch mode. Disable with --disable-tee. This option is disabled by default. --no-tee Disable outfile. See interactive help (\h) also. WARNING: Option deprecated; use --disable-tee instead. -u, --user=name User for login if not current user. -U, --safe-updates Only allow UPDATE and DELETE that uses keys. -U, --i-am-a-dummy Synonym for option --safe-updates, -U. -v, --verbose Write more. (-v -v -v gives the table output format). -V, --version Output version information and exit. -w, --wait Wait and retry if connection is down. --connect_timeout=# Number of seconds before connection timeout. --max_allowed_packet=# The maximum packet length to send to or receive from server. --net_buffer_length=# The buffer size for TCP/IP and socket communication. --select_limit=# Automatic limit for SELECT when using --safe-updates. --max_join_size=# Automatic limit for rows in a join when using --safe-updates. --secure-auth Refuse client connecting to server if it uses old (pre-4.1.1) protocol. --server-arg=name Send embedded server this as a parameter. --show-warnings Show warnings after every statement. Default options are read from the following files in the given order: /etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf The following groups are read: mysql client The following options may be given as the first argument: --print-defaults Print the program argument list and exit. --no-defaults Don't read default options from any option file. --defaults-file=# Only read default options from the given file #. --defaults-extra-file=# Read this file after the global files are read. Variables (--variable-name=value) and boolean options {FALSE|TRUE} Value (after reading options) --------------------------------- ----------------------------- auto-rehash TRUE character-sets-dir (No default value) column-type-info FALSE comments FALSE compress FALSE debug-check FALSE debug-info FALSE database (No default value) default-character-set latin1 delimiter ; vertical FALSE force FALSE named-commands FALSE ignore-spaces FALSE local-infile FALSE no-beep FALSE host (No default value) html FALSE xml FALSE line-numbers TRUE unbuffered FALSE column-names TRUE sigint-ignore FALSE port 0 prompt mysql> quick FALSE raw FALSE reconnect TRUE socket (No default value) ssl FALSE ssl-ca (No default value) ssl-capath (No default value) ssl-cert (No default value) ssl-cipher (No default value) ssl-key (No default value) ssl-verify-server-cert FALSE table FALSE user (No default value) safe-updates FALSE i-am-a-dummy FALSE connect_timeout 0 max_allowed_packet 16777216 net_buffer_length 16384 select_limit 1000 max_join_size 1000000 secure-auth FALSE show-warnings FALSE </code>