sqlserver中int转nvarchar_OIerDb在WAMP环境中部署记录

这篇博客详细记录了在WAMP环境下部署OIerDb的过程,包括修改MySQL登录密码,将result.csv和school_data.csv导入数据库,以及调整PHP文件中的数据库连接信息。此外,还提到了在遇到MySQL root密码忘记的问题时的解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

  • 文档历史

  • OIerDb作者(nocrizwang)的在线部署

  • 安装WAMP

    • 操作记录

    • 修改Mysql登录密码

    • WAMP info

    • 配置MySQL server 登录信息

  • 复制web服务器需要的文件到WAMP的WWW文件夹中

  • result.csv 导入到数据库的OIers表中

    • result.csv 字段名

    • 从 new_merger.py 中可以找到字段定义,如下所示:

    • 使用到的网站后台文件:on_server/search.php

    • 将result.csv导入到MySQL数据库的表OIers

  • 将school_data.csv导入到MySQL数据库OI_school表中

    • 后台使用文件:on_server/school.php

    • 后台使用文件:on_server/rank.php

    • 将school_data.csv导入到MySQL数据库OI_school表中

  • 更改PHP文件中的MySQL登录信息(数据库,用户名,密码,服务器地址)

  • FAQ(遇到过的问题)

    • 解决方法:

    • MySQL root密码忘记

OIerDb在WAMP环境中部署记录

文档历史

日期作者版本简要说明
2020.12.12SamXIAOv1.0初始版本

OIerDb作者(nocrizwang)的在线部署

点此跳转到OIerDb作者的在线网站 : https://bytew.net/OIer/
作者开源于:github 上

安装WAMP

WAMP info

  WampServer Version 3.1.9 64bit
Created by Romain Bourdon (2005)
Maintainer / Upgrade to 2.5 by Herve Leclerc
Upgrade to 3 by Otomatic (wampserver@otomatic.net)
Multi styles for homepage by Jojaba
Installer by Inno Setup: http://www.jrsoftware.org/isinfo.php
Forum Wampserver: http://forum.wampserver.com/index.php
______________________ Versions used ______________________
Apache 2.4.39 Port 80- PHP 7.2.18
MySQL 5.7.26 Port 3308
MariaDB 10.3.14 Port 3307
PHP 5.6.40 for CLI (Command-Line Interface)

配置MySQL server 登录信息

MySQL 5.7 相比Mysql 5.6有较大变化
在MySQL 5.7 password字段已从mysql.user表中删除,新的字段名是“authenticalion_string”. 有以下3步:

  • 选择数据库:use mysql;

  • 更新root的密码:update user set authentication_string=password('新密码') where user='root' and Host='localhost';

  • 刷新权限:flush privileges;

操作记录

修改Mysql登录密码
P:\wamp64-3.1.9-201212\bin\mysql\mysql5.7.26\bin>mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.7.26 MySQL Community Server (GPL)
Copyright (c) 2000, 2019, 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.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use mysql
Database changed
mysql> update user set authentication_string=password('sx123456') where user='root' and Host='localhost';
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 0 Changed: 0 Warnings: 1
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql>

复制web服务器需要的文件到WAMP的WWW文件夹中

  • OIerDb\OIer-master\on_server\文件夹中的所有文件复制到 P:\wamp64-3.1.9-201212\www\OIerDb\ 文件夹中

  • 浏览器中输入 http://127.0.0.1/OIerDb/ 可以显示首页了。

result.csv 导入到数据库的OIers表中

result.csv 字段名

共有11列,第3-4列为空
最后一列是学生小学六年级上学期年份(也是NOIP举行时的年份),应该是以此来计算现在的年级(初[高]一、二、三)

从 new_merger.py 中可以找到字段定义,如下所示:

def output():
result = open("result.csv","w",encoding='utf-8')
result.write("id,name,re1,re2,pinyin,level,score,awards,sex,smth,year\n")id = 0
  • id:顺序编号

  • name: 姓名

  • re1: 保留

  • re2: 保留

  • pinyin: 姓名拼音首字母缩写

  • level: 评级
    3-10

  • score: 积分

  • awards: 所有获奖记录. JSON格式

  • sex: 性别。

    • 1:男;

    • -1:女;

    • 0:未知

  • smth: 综合评分(实力评分)

  • year:小学六年级入学年份。
    这样便于计算现在的年级(初[高]一、二、三)或毕业

使用到的网站后台文件:on_server/search.php

从此文件中可获知:

  • 数据库信息,需要配置

    $conn = mysqli_connect('localhost', 'THE_USERNAME', 'THE_PASSWORD',"THE_DATABASE");
  • 表名:OIers

    $result = mysqli_query($conn,"SELECT * FROM OIers Where name = '$cui'");$result = mysqli_query($conn,"SELECT * FROM OIers Where pinyin = '$curi'");...

将result.csv导入到MySQL数据库的表OIers

使用下面的SQL脚本

CREATE DATABASE IF NOT EXISTS oier DEFAULT CHARSET utf8 COLLATE utf8_general_ci;USE oier;DROP TABLE OIers;CREATE TABLE IF NOT EXISTS `OIers`(`id` INT,`name` NVARCHAR(100),`re1` NVARCHAR(100),`re2` NVARCHAR(100),`pinyin` VARCHAR(20),`level` INT,`score` FLOAT,`awards` NVARCHAR(5000),`sex` INT,`smth` FLOAT,`year` INT--#PRIMARY KEY (`id` ))ENGINE=InnoDB DEFAULT CHARSET=utf8;USE oier;load data local infile 'E:/NOIP-CSPJS-ACM-ICPC-CCSP/OIerDb/OIer-master/model/result.csv'INTO TABLE OIerscharacter SET utf8FIELDS TERMINATED BY ',' -- 字段分隔符,每个字段(列)以什么字符分隔,默认是 \tOPTIONALLY ENCLOSED BY '"' -- 文本限定符,每个字段被什么字符包围,默认是空字符ESCAPED BY '\\' -- 转义符,默认是 \LINES TERMINATED BY '\n' -- 记录分隔符,如字段本身也含\n,那么应先去除,否则load data 会误将其视作另一行记录进行导入;-- TRUNCATE table oier.OIers;

将school_data.csv导入到MySQL数据库OI_school表中

后台使用文件:on_server/school.php

  • school.php:

    $result = mysqli_query($conn,"SELECT * FROM OI_school Where id = '$q'");
  • school_analyzer.py:

    f = open("school_data.csv","w")
    f.write("id,name,awards,rating,division,province,city,rank\n")

有2个文件:OI_school.csv和school_data.csv, 只需导入后一个到数据库?

后台使用文件:on_server/rank.php

  • rank.php:

    $qr = "FROM OI_school WHERE 1=1 ";

将school_data.csv导入到MySQL数据库OI_school表中

使用如下脚本:

USE oier;DROP TABLE OI_school;CREATE TABLE IF NOT EXISTS `OI_school`(`id` INT,`name` NVARCHAR(4000),`awards` NVARCHAR(8000),`rating` INT,`division` NVARCHAR(30),`province` NVARCHAR(50),`city` NVARCHAR(50),`rank` INT-- #PRIMARY KEY (`id`))ENGINE=InnoDB DEFAULT CHARSET=utf8;load data local infile 'E:/NOIP-CSPJS-ACM-ICPC-CCSP/OIerDb/OIer-master/model/school_data.csv'INTO TABLE OI_schoolcharacter SET utf8FIELDS TERMINATED BY ',' -- 字段分隔符,每个字段(列)以什么字符分隔,默认是 \tOPTIONALLY ENCLOSED BY '"' -- 文本限定符,每个字段被什么字符包围,默认是空字符ESCAPED BY '\\' -- 转义符,默认是 \LINES TERMINATED BY '\n' -- 记录分隔符,如字段本身也含\n,那么应先去除,否则load data 会误将其视作另一行记录进行导入;

更改PHP文件中的MySQL登录信息(数据库,用户名,密码,服务器地址)

有3个文件:school.php, search.php, rank.php 作如下更改:

$conn = mysqli_connect('localhost', 'THE_USERNAME', 'THE_PASSWORD',"THE_DATABASE");

#改为:

$conn = mysqli_connect('localhost:3308', 'root', 'sx123456',"oier");

FAQ(遇到过的问题)

MySQL root密码忘记

update user set authentication_string=password('sx123456') where user='root' and Host='localhost';

错误地写为

update user set authentication_string=password('sx123456') where user='root' and Host='localhsot';

导致不能登录MySQL

解决方法:

  1. 修改 P:\wamp64-3.1.9-201212\bin\mysql\mysql5.7.26\my.ini

[wampmysqld64];skip-grant-tables

改为:

[wampmysqld64]
skip-grant-tables
  1. 重启WAMP

  2. 修改Mysql登录密码, 参见

  3. 将INI改回

  4. 重启WAMP

首页

b483880faae1af8fbe922eac3c94ba0f.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值