一、采用Windows MySQL
1.下载MYSQL安装包
可以去官网下载ZIP包http://www.mysql.com/downloads/mysql/
我安装的是mysql-5.5.23-winx64
2.解压到本地目录
D:\mysql
3.添加系统环境变量
添加系统环境变量是为了在命令控制窗口里更方便点。
新建:MYSQL_HOME ==> D:\mysql
追加:PATH==>;%MYSQL_HOME%\bin
4. 修改MySQL5.5的配置文件,把my-small.ini改名为my.ini进行编辑
a)在[mysqld]下追加
------- basedir = "d:\\mysql" datadir = "d:\\mysql\\data" character-set-server = gb2312 -------
b) 在[client]下追加
------- default-character-set = gb2312 -------
5.启动服务
保存my.ini的配置,然后打开命令行(开始菜单==>运行==>cmd )
输入: mysqld --console 然后回车将看到如下类似内容:
------- C:\Windows\system32>mysqld --console 120410 14:25:22 [Note] Plugin 'FEDERATED' is disabled. 120410 14:25:22 InnoDB: The InnoDB memory heap is disabled 120410 14:25:22 InnoDB: Mutexes and rw_locks use Windows interlocked functions 120410 14:25:22 InnoDB: Compressed tables use zlib 1.2.3 120410 14:25:22 InnoDB: Initializing buffer pool, size = 128.0M 120410 14:25:22 InnoDB: Completed initialization of buffer pool 120410 14:25:22 InnoDB: highest supported file format is Barracuda. 120410 14:25:22 InnoDB: Waiting for the background threads to start 120410 14:25:23 InnoDB: 1.1.8 started; log sequence number 1595675 120410 14:25:23 [Note] Event Scheduler: Loaded 0 events 120410 14:25:23 [Note] mysqld: ready for connections. Version: '5.5.22' socket: '' port: 3306 MySQL Community Server (GPL) -------
==> 证明mysql服务已启动
6. 设置登陆mysql root帐号的的密码
打开新的命令行,输入 mysql -uroot 回车
------- Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.5.22 MySQL Community Server (GPL) Copyright (c) 2000, 2011, 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. www.2cto.com Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. -------
==〉看到上面类似内容说明登陆成功,此时的root帐号是没有密码的
执行命令修改密码:
use mysql; update user set password=PASSWORD("这里填写你要设置的密码") where user='root';
执行完成后退出mysql操作,然后关闭mysql服务(ctrl+C 关闭另一个命令窗口),然后重启mysql服务
然后使用你的root帐号登录
mysqladmin -u root password 你的密码
网上是这么写的,但我这样出现了下面的错误
Error: Access denied for user 'root'@'localhost' (using password: YES)
原因是ROOT 的密码没设,或者有错误,网上搜了许多的方法都不行,最后这个成功了,不过必须是主机上执行。
直接运行命令行窗口输入下面的
mysqladmin -u root password 你的密码
这样就行了,然后再使用 mysqladmin -u root password 你的密码就可以正常登录了。
7.安装WINDOWS服务
命令行窗口 CD 进入D:\MySql\bin
执行mysqld.exe --install MySQL5.5 --defaults-file="D:\MySql\my.ini"
net start mysql5.5
到服务器里把 MYSQL5.5改成自动,这样每次开机MYSQL服务就会自动启动了
二,安装XAMPP(我采用的是这种方式)
下载安装以后通过控制面板启动MySQL,在C:\xampp\mysql(XAMPP我是安装在C:\xampp下的)建立文件my.ini,内容如下:
[mysqld] basedir = "C:\xampp\mysql" datadir = "C:\xampp\mysql\data" character-set-server = gb2312 [client] default-character-set = gb2312
进入C:\xampp\mysql\bin目录下,修改文件my.cnf
[client] # password = your_password port = 3306 socket = "C:/xampp/mysql/mysql.sock" default-character-set = gb2312 … # The MySQL server [mysqld] port= 3306 … character-set-server = gb2312
进入MySQL中键入命令:
Showvariables like '%char%';查看字符集是否为gb2312
mysql> Show variables like '%char%';
+--------------------------+--------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------+
| character_set_client | gb2312 |
| character_set_connection | gb2312 |
| character_set_database | gb2312 |
| character_set_filesystem | binary |
| character_set_results | gb2312 |
| character_set_server | gb2312 |
| character_set_system | utf8 |
| character_sets_dir | C:\xampp\mysql\share\charsets\ |
+--------------------------+--------------------------------+
8 rows in set (0.00 sec)
把paper.html与paper.jsp放入对应目录下,运行后,通过命令:
mysql>select * from paper;
来检查数据是否插入导数据库中,并且显示为中文
插入数据库中的工作做完了,然后我们来完成把数据库中的数据通过模板来生成网页文件,为什么要生成HTML格式的网页文件主要是为了能更好地让搜索引擎找到我们。首先我们来定义电脑版本的模板文件:
A1.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>啄木鸟软件测试培训网--软件测试培训-- +++1 </title> <meta name=Keywords content="软件测试,软件测试培训,第三方软件测试,软件本地化,软件培训,软件测试培训"> <meta name=descripton content=" +++3 "> <link rel="stylesheet" type="text/css" href="../images/public.css"/> </head> <body> <iframe src="../include/head.htm" width="100%" height="350" scrolling="no" frameborder="0"></iframe> <div> <div> <div><a href="../index.html">首页</a> > 软件测试</div> <div> <div> <div> <p><b><font size="4"> +++1 </font></b></p> <p> +++2 </p> <p><a href="http://www.3testing.com">软件测试</a></p> <p> </p> <p> </p> <span style="float:right;">【<a href="mailto:shaozz158@126.com">投稿</a>】</span><span style="float:right;">【<a href="javascript:window.close()" style="color:#13A0FF;">关闭窗口</a>】</span><span style="float:right;">【<a href="javascript:window.print()" style="color:#13A0FF;">打印</a>】</span></p> </div> </div> <iframe src="../include/right.html" width="240" height="640" scrolling="no" frameborder="0" style="float:right;"></iframe> </div> </div> </div> <iframe src="../include/button.htm" width="100%" height="120" scrolling="no" frameborder="0"></iframe> </body> </html>
其中:
- +++1:用标题来替换;
- +++2:用内容来替换;
- +++3:用标题的一部分来替换。
手机版本的模板文件也类似:
A2.html
<!doctype html> <html> <head> <meta charset="utf-8"> <meta content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no,minimal-ui" name="viewport"/> <meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-status-bar-style" content="black"/> <meta content="telephone=no" name="format-detection" /> <!-- UC默认竖屏 --> <meta name="browsermode" content="application" /> <!-- QQ强制竖屏 --> <meta name="x5-orientation" content="portrait" /> <meta name="x5-page-mode" content="app" /> <title>+++1</title> <link href="../css/cate.css" rel="stylesheet" type="text/css" /> </head> <body> <div> <div onClick="history.go(-1);"></div> <div>我的文章</div> <div onClick="javascript:window.location.href='../index.html'"></div> </div> <div> <div> <div>+++1</div> <div> <p>+++2</p> </div> </div> </div> <div> <p>啄木鸟软件测试咨询网 版权所有 @2006-2017</p> <p>沪ICP备06048994号</p> </div> <div><a onclick="pageScroll()"><img src="../images/top.png" /></a></div> <script> function pageScroll(){ window.scrollBy(0,-100); scrolldelay = setTimeout('pageScroll()',100); var sTop=document.documentElement.scrollTop+document.body.scrollTop; if(sTop==0) clearTimeout(scrolldelay); } </script> </body> </html>
然后让我们来看看如何让python文件来完成替换:
paper.py
#!/usr/bin/env python #coding=utf8 import MySQLdb import re import time import codecs #把HTML中的特殊字符正则替换成HTML格式,一来防止乱码,二来防止CSS注入 def myrepeat(s): s=re.sub("<","<",s) s=re.sub(">",">",s) s=re.sub("\"",""",s) s=re.sub("\r\n","<br>",s) s=re.sub(" "," ",s) return s def deal(myfile,sig,title,content): f1=codecs.open(myfile,encoding='utf8') #以中文格式打开读文件 myline=f1.read() # 替换模板文件标签 myline=myline.replace('+++1',title) myline=myline.replace('+++2',content) myline=myline.replace('+++3',content[10:40]) f1.close() f2=codecs.open(sig+time+str(i)+".html","w",encoding='utf8')#以中文格式打开写文件 f2.write(myline) f2.close() return f2 if __name__=="__main__": #连接数据库 conn = MySQLdb.connect(host="localhost",user="root",passwd="123456",db="mypaper",charset="gb2312") cur = conn.cursor() cur.execute("select * from paper where sig=1") time=time.strftime('%Y%m%d',time.localtime(time.time())) lines =cur.fetchall() i=0 for line in lines: title=myrepeat(line[1]) content=myrepeat(line[2]) deal("A1.html","",title,content) deal("A2.html","p",title,content) #为防止下次在生成,把标签设置为1 cur.execute("update paper set sig=0 where id="+str(line[0])) i+=1 print "转换成功"
在这里需要指出,由于要连接数据库,引入import MySQLdb,你必须先下载安装MySQL-python-1.2.3.win-amd64-py2.7文件,由于我这里是python2.7版本,所以必须以-py2.7结尾。在安装MySQL-python-1.2.3.win-amd64-py2.7的时候如果发现python2.7没有注册,你必须运行以下文件:
reg.py
# # script to register Python 2.0 or later for use with win32all # and other extensions that require Python registry settings # # written by Joakim Loew for Secret Labs AB / PythonWare # # source: # http://www.pythonware.com/products/works/articles/regpy20.htm # # modified by Valentine Gogichashvili as described in http://www.mail-archive.com/distutils-sig@python.org/msg10512.html import sys from _winreg import * # tweak as necessary version = sys.version[:3] installpath = sys.prefix regpath = "SOFTWARE\\Python\\Pythoncore\\%s\\" % (version) installkey = "InstallPath" pythonkey = "PythonPath" pythonpath = "%s;%s\\Lib\\;%s\\DLLs\\" % ( installpath, installpath, installpath ) def RegisterPy(): try: reg = OpenKey(HKEY_CURRENT_USER, regpath) except EnvironmentError as e: try: reg = CreateKey(HKEY_CURRENT_USER, regpath) SetValue(reg, installkey, REG_SZ, installpath) SetValue(reg, pythonkey, REG_SZ, pythonpath) CloseKey(reg) except: print "*** Unable to register!" return print "--- Python", version, "is now registered!" return if (QueryValue(reg, installkey) == installpath and QueryValue(reg, pythonkey) == pythonpath): CloseKey(reg) print "=== Python", version, "is already registered!" return CloseKey(reg) print "*** Unable to register!" print "*** You probably have another Python installation!" if __name__ == "__main__": RegisterPy()
然后在去安装MySQL-python-1.2.3.win-amd64-py2.7
好了,就到这里了,http://www.3testing.com/test/201701170.html 就是我用这种方法生成的网页
顾翔凡言:
一名优秀的软件测试工程师首先是一名优秀的软件需求分析师或软件架构设计师。