|
|
��� �������� �������� �� ��������� ������: English Castellano ChineseGB Deutsch Francais Nederlands Portugues Russian Turkce Arabic |
����� Georges Tarbouriech <georges.t(at)linuxfocus.org> �� ������: Georges ����� ���������� Unix. ��� ��������, ����� �������� ���������������� ����������� ����������� ������� ���������� � ���������������� ������������. ������� �� �������: �������� ������ <kirill(at)linuxfocus.org> ����������:
|
������:
MySQL � Perl ��� ���������� ������ ����� ��������� �� ����� ��������
����������������� ������������ �����������. �� ��� �� ����� ��� ��� ��
������ ������������, �������� �� ������ "����". � ������� ��������������
� ���������� ������������� ���� ������������ ��� � ��������, ��� � �
��������� ����. ��������������� � ������� ������ �������� Unix ������,
�� ����� �������� ������������ ��� ��� ���, �� �� ����� ����� ����
����������� � � ������ ���������������������� "��������".
� ������� ����� �������� - ����� ������ ����� ������ � ������� ����
����������, �������� �� �������������, �������� �� ������, �������
������������...
� ������ ������� � ������� ��� ���� ���� ��������� �� MySQL ��� Perl,
��� ���� ����������� ��� � ����� ������������.
����, ���� ���� - ���������� �������������� ���� ����������, �� �� �����
��������, ��� "���������� ����� ������ ������� ������� ���".
MySQL - ������� ���������� ������������ ������ ������(RDBMS) -
�� ���� - http://www.mysql.com.
��� ���������� ���������������� �� GNU GPL � ����������� �� ����
�������������. �������� �������� �� ������� �������������� �� ����� MySQL.
MySQL �������� �� ������ ���������� � ��� ������ � ��� ������. ������� ��
����� �������� ���������������� ���������� ���� � ������ RDBMS, �� ��
�� ����� ���������� �� � MySQL, ������, ��� ����� ������� ��� ������� ���
������������. ����� �� ����� ���������� � � "������� �����������"
������������ ���������� - ������ ��������� ��� Informix, Oracle, Sybase...
���������� ����� �������, ��� MySQL �������� ���������� ������� ���
��������. ��� ������� ����� ������������ ������ 3.23.36(����� �� -
������� �����������). � ������ ��������� ������� ���������� ������ 3.23.46
� �����������������, ����� ���������, ������ 4.0. �� ����� ����� ����� ���
������� ��� � �������� �����, ��� � �������� ��������.
��� ������������� MySQL � Perl ���������� ������ Perl DBI, � ���� ����
����� ������ DBI, Msql-Mysql-modules, Data-Dumper � Data-ShowTable.
�� ����� ������������ �� �� ��������� - ��� �������� � ����� ���� ��� ������
�������� ��� ����������� ����������.
Perl - "���� ��� ���������� � ������������� ������". �������
�������������� ������������ ��� ��� ��������� ����������, �� ����� �����
������� ��� ���������� ����������� ����������� - �� ������� ��������
����������������� ������ �� ��������� cgi �������� � �������� �����������
� ����� ������.
Perl ������ � ������ ������(���� �� ����) ������������� Unix, ����� ��
�������� �� �� - ���������� ��� ��� ���. ������� ���������� ������ 5.6.1,
����������������� - 5.7.2. ��� ����� ������� ����� ������������ ������
5.005_03. ���� �� ����� ���������� �� ���������� Perl(��������� - ��� �����
����� ��������� ?), ������ ������� ��� � ����� http://www.perl.com. ��� �� �� �������
��������� �������, ������� ��������� � ������ CPAN ����� ��������.
� �������, �������������� ���� ���������� ����� ������������ ����� �
������� ���������� Apache! ����� Apache ������ ������, ��� ���� ���������
����� ������ � �������� ������ ������������� Unix, ���� � ��� ��� ���(���
�� ������ ����� ���� ����������� ?) - �������� ��� � http://www.apache.org.
�������� �� ��������, ��� LinuxFocus ������� �� ������ ������. ��� ������,
��� �������� ������� ������ ����� ����������� ����������� ��������� ������� -
����� ���������, ����� ���������� � �.�. � ��������� ����� ������ ��������
����� �� �������� 200 �������, ������� � ���� ������� ������ ������� ��
5 ������ - ��� ���������� �������� 1000 �������. � ���� ����� ��������� ����
�������� - ������������ ��, ����������� � �.�. � ��� �� ������� ��� ����
����������? ������� �� Perl.
��� ������� �������� - Guido Socher ������ ��������� Perl ��������, �����
��� ���� ����� ��������, ����� �� ������� ��� ������� � ����� Perl � �����
����� �� ���������������� �� Perl(��� ������ � ����� �������).
Javi, �������� ��������� ������, ������ Perl ������ ��� ���������� ���������
�������� �������.
Atif, ���� �� ������ ����� ������� - �� ����������� Perl - ��� ������ ���
������ ���� Perl. ����� �� �������� ������� MySQL - �������� ��� �����������
���������� ����� ���.
� ������� ����� �� ����������� ���������� LinuxFocus, � ����� � �������
������ ���� ����������� ���� ������ LinuxFocus - ������� �� � ������� MySQL �
Perl!
�� ������� �� ���������� ��� MySQL, ������ ������������� � �������� ���
��������. ������������ �������� ��������� �� ������ � ����� ���� �������,
��� �����, ��� ������������, ������������ � MySQL - �������������.
��������� ������ MySQL � ������� ������� mysql.server.
����� ���������� ���������� � �������� � ������� �������
mysql -h host -u user -p.
���� ������ ������� ��
��������� ���������� - ����� �� ������������ ����� -h host.
����� ����� ������ �� ������������� � �������(�� ������� ���� ������
������������!) � ������ ����� �������� ������� �������� ����� ����.
� ����������� mysql �������
CREATE DATABASE lf;
��� ��� ��� ��� ���� ������ - � ������ �� lf(LinuxFocus), �� �����������
������ ���� �� ����� ������ ���. ����� ��������� ����� �������������, �����
��� ������� �� ���� ������ �������� ������� ��������������. ���� �� ������
����� ������������ ��� ��������� ����� ������ - ��������� ���������
�������:
GRANT ALL ON lf.* TO username;
������, ����� ���� ������ �������, ��������� ������� USE lf, �����
���������� � ���. �������� �������, �� �������� ��������� � ������� ��
trissue
:
CREATE TABLE trissue
(num INTEGER UNSIGNED, category VARCHAR(25), title VARCHAR(40), author
VARCHAR(20), en VARCHAR(20), es VARCHAR(20), fr VARCHAR(20),de VARCHAR(20),
nl VARCHAR(20), ru VARCHAR(20), tk VARCHAR(20), issue
VARCHAR(20));.
������ ��������� ��� �� ������� ���������� ��������� :
USE lf
SHOW TABLES;
DESCRIBE trissue;
��� � ���.
������ ������� �� �� ���-������ ��������� - ����� ������� ���� �������
��������� ���� � ������������� 'tab' � ��������� ��� � ���� ��������:
LOAD DATA LOCAL INFILE "maindb.txt" INTO TABLE trissue;
���� ��������� ���� ��� ������ ��������� - ������ � ���� � ��� �����
��������� �������� :
SELECT * FROM trissue;
������ ������ �� ����� ���� ����� �������� SQL ���������.
�� ��� ��� �� ������������ MySQL � ����� ����� ���� ���������� - ������ ��
������ Perl �������� ��?
Perl ������� ��� ���������������� �������, ���������� ���������� � ��������
� �.�. ���� ��� ��� ��������� - �� ������ ���������� ������ ���
�������������� Perl � MySQL.
������ �� �������� Perl-�������, ������� ����� ������������ � ��������
cgi-�������� - ��� ����� ��������� ���������, ��������� �� Perl � HTML,
����� ����� ���� ������������ � ������ ������� � ���������� ������.
��� ������ ����� �������� �������� �������, ���������� ����� ������� -
���������� �� ����� ���������� ����� �������, �� ���������, ��������,
����� ������������(������ ��� ��������� �������������� ������) � ������,
� ������� ��� �����.
������ ������������ ���� ������ ��� ������ ��� ����� ����������� ��������,
�� ������������ - ���� ������ ����� ����� �������� ������������, �����
���������������� ������� ������� �����.
# First, we say this is a "Tainted" Perl script. #!/usr/bin/perl -Tw # # This is a comment # db consult # # We use the Perl DBI module use DBI; # As cgi : use CGI qw(param()); print <<END_of_start; Content-type: text/html <html> <title>LFAuthors main db</title> <center><TABLE> <TR VALIGN=TOP> <TD><form action="/cgi-bin/lf.cgi" method="get"> # Here comes the button's title for the launching page <input type="submit" value=" LFAuth "> </form> </TD> </TR> </TABLE>
<center><H2>Search by author</H2></center> <form action=\"/cgi-bin/lf.cgi\" method=\"get\">Author name : <input type=\"text\" size=\"30\" name=\"author\"><input type=\"submit\" value=\"Search...\"></form></center> END_of_start if (param("author") ne '') { $author = param("author"); $autsrch.='"'; $autsrch.=$author; $autsrch.='"'; # We connect to the database named lf as user doe $dbh = DBI->connect("DBI:mysql:lf","doe",''); $sth = $dbh->prepare(" select * from trissue where author = $autsrch "); $sth->execute;
print <<END_suite; <center> <TABLE BORDER=> <tr bgcolor=#A1C4EE> <th width=60 align=CENTER><font color=#000000> Num </font></th> <th width=110 align=CENTER><font color=#000000> Category </font></th> <th width=110 align=CENTER><font color=#000000> Title </font></th> <th width=110 align=CENTER><font color=#000000> Author </font></th> <th width=110 align=CENTER><font color=#000000> En </font></th> <th width=110 align=CENTER><font color=#000000> Es </font></th> <th width=110 align=CENTER><font color=#000000> Fr </font></th> <th width=110 align=CENTER><font color=#000000> De </font></th> <th width=110 align=CENTER><font color=#000000> Nl </font></th> <th width=110 align=CENTER><font color=#000000> Ru </font></th> <th width=110 align=CENTER><font color=#000000> Tk </font></th> <th width=110 align=CENTER><font color=#000000> Issue </font></th> </tr> END_suite while( ($num,$category,$title,$author,$en,$es,$fr,$de,$nl,$ru,$tk,$issue) =$sth->fetchrow() ) { print "<tr>"; print "<td width=60 bgcolor=#FFFFE8 align=center> $num</td>"; print "<td width=110 bgcolor=#FFFFE8 align=left> $category</td>"; print "<td width=110 bgcolor=#FFFFE8 align=left> $title</td>"; print "<td width=110 bgcolor=#FFFFE8 align=left> $author</td>"; print "<td width=110 bgcolor=#FFFFE8 align=left> $en</td>"; print "<td width=110 bgcolor=#FFFFE8 align=left> $es</td>"; print "<td width=110 bgcolor=#FFFFE8 align=left> $fr</td>"; print "<td width=110 bgcolor=#FFFFE8 align=left> $de</td>"; print "<td width=110 bgcolor=#FFFFE8 align=left> $nl</td>"; print "<td width=110 bgcolor=#FFFFE8 align=left> $ru</td>"; print "<td width=110 bgcolor=#FFFFE8 align=left> $tk</td>"; print "<td width=110 bgcolor=#FFFFE8 align=left> $issue</td>"; print "</tr>"; } print "</TABLE>"; print "<BR>"; print "<BR>"; print "<br>"; } else { # DB Connect $dbh = DBI->connect("DBI:mysql:lf","doe",''); # Search $sth = $dbh->prepare(" select * from trissue "); $sth->execute; # Display result print <<SUITE; <center> <TABLE BORDER=> <tr bgcolor=#A1C4EE> <th width=60 align=CENTER><font color=#000000> Num </font></th> <th width=110 align=CENTER><font color=#000000> Category </font></th> <th width=110 align=CENTER><font color=#000000> Title </font></th> <th width=110 align=CENTER><font color=#000000> Author </font></th> <th width=110 align=CENTER><font color=#000000> En </font></th> <th width=110 align=CENTER><font color=#000000> Es </font></th> <th width=110 align=CENTER><font color=#000000> Fr </font></th> <th width=110 align=CENTER><font color=#000000> De </font></th> <th width=110 align=CENTER><font color=#000000> Nl </font></th> <th width=110 align=CENTER><font color=#000000> Ru </font></th> <th width=110 align=CENTER><font color=#000000> Tk </font></th> <th width=110 align=CENTER><font color=#000000> Issue </font></th> </tr> SUITE while( ($num,$category,$title,$author,$en,$es,$fr,$de,$nl,$ru,$tk,$issue) =$sth->fetchrow() ) { print "<tr>"; print "<td width=60 bgcolor=#FFFFE8 align=center> $num</td>"; print "<td width=110 bgcolor=#FFFFE8 align=left> $category</td>"; print "<td width=110 bgcolor=#FFFFE8 align=left> $title</td>"; print "<td width=110 bgcolor=#FFFFE8 align=left> $author</td>"; print "<td width=110 bgcolor=#FFFFE8 align=left> $en</td>"; print "<td width=110 bgcolor=#FFFFE8 align=left> $es</td>"; print "<td width=110 bgcolor=#FFFFE8 align=left> $fr</td>"; print "<td width=110 bgcolor=#FFFFE8 align=left> $de</td>"; print "<td width=110 bgcolor=#FFFFE8 align=left> $nl</td>"; print "<td width=110 bgcolor=#FFFFE8 align=left> $ru</td>"; print "<td width=110 bgcolor=#FFFFE8 align=left> $tk</td>"; print "<td width=110 bgcolor=#FFFFE8 align=left> $issue</td>"; print "</tr>"; } print "</TABLE>"; print "<BR>"; } print end_html; $sth->finish; # Disconnect $dbh->disconnect; exit;
���� �� ������ ������������ ������ � ���� ������ �� ����� ����� - ������������
� ������������. ����������� �� �� ����� ���� ��������� ���������� �� ������������
����� ��� ������� ��� ������. ��� �� ����� ����� ���� �� ��������� �� ������.
������ ������, ������������ ������ � ��� ������ ����� �������� ���� ���-������.
��� ���� �� ��������� ������ �������, ���� ������ ������� ������������� �
���� �������� - ������������� �� the Linux Documentation Project - ��������
����� ��� ������.
��������� ������ - ������������ ������� ��� ������. ����� ������
������������� MySQL �� ���������� ������, ����������� ������������ �
����������� �� MySQL. ������, �� ��� ������� �������� �������� - ������
������������� - ������� �� ������� ������������ �������������, ��������
root'�� ��� ������(����� ���������� �� root'� ����� �������). ���������
������ ����� - ����� ������������� - ������� �� ������� ��� ����. �����
���������� ��������� ����, �� ������ �������� ���� � ���!
���� ������� ���������� - ������ �� �� ������� chroot ���� ������? ��������
�������� �� ������� "Chrooting all services"
� ���� �������. � ��� �������������� � ������ ���� ������, �� ���������
����� � � MySQL.
��������� ������ - �������� ������. ������� �� ������� ��� ������
����� �������. ��������� ������� �����.
� ������� - ���������� ���������������� ��� ������ ������������ �������.
Perl - ������ ���� ����������������, �� ������������ �� ��� ����������
����� ������� ������ - ������� ����������� ��� ������� - ��� ���������
���������������� ���������� cgi-��������. ����������� ��� ���������!
� ������������ �����, ��� ���� ������� �� ����� ������������� ��� �
������, �� ��� ����������� ��� ����� � ����� ���������� NIDS (Network
Intrusion Detection System) ����� ��� snort (http://www.snort.org), ����������, ��������
(nmap, nessus), � �.�.
������� ������������ ������ ����� ���������. ��������� ��������� �����
������ ���������, �� ������ ���� ������ ��������������� ���������� ���
���������� � ����������. ��� ������������.
��� ��� ���������� ����� ������ ������� ������� ��� - �� ������ ������� ����.
�� ����� ���� ����� RDBMS � ������ ���������������� ���������� �����. ����
����� ������� - �������� �������������� MySQL � Perl.
������� ����� ��� ������� ������������: ��� �������� MySQL �� ���� ���������
������, ������� �������� ������ � ��������������������. ����� � ����� ������
������ ������� MySQL � ���, ��� �� ��������. � ��� ��� �������� ������ ����� -
��� �� ���������� ������.
��� �������� Perl - ��� ������� ��� ������� ���������� � ���, ��� � ���� ���
��������? ������� �� �� ������ �������� ��� ���� ��� �� �� �� ���� -
���������������, ������������� � �.�. ���� ������ Perl Journal, ������� ������
�������� � SysAdmin magazine ��� � ��� �������. ������ �����������? ��������
http://www.samag.com.
��� �� �� ���������� � ������� ������ - ����������� ������� ��� ������� ������
��������� �� ����� �������. �� �������� �� ��, �������� ������� LinuxFocus,
��� ���� ������� �� ��� �� ������, �� �������� �� ��� �� ������ ������
������� �� ������ ������. �������� �� ��, ��� ��������� ������ ����� ���� ���
��� �������� � ������ ��� ������? ��� � ���������� � ����������� � �.�.
���������� �� ������� ��� �������� ������ - ����������� ������� ��������
������ � Erdal. �������� �������� �� ������, ����������� � ������ �������� -
������������� � �������� - �� �� ��������! ��� ����� ������� ���������� ��
� ���� ���������� �������. ������� ��� ���� - ���������� ��������
����������������� ������������ ����������� ���������� ���.
�������� �� ���������� �� ����, �� � ������, ��� ��� �� ����� ���� �� �������.
� ����� ������ ��� ���� ���� � �������� ���������������� ����������� �����������.
������� MySQL � Perl ����������� �������� �������������. ��� ����������
���������� ����������� � ����������� ������� ���������. ��� �����������
����� ��� �� ������ ��� � ������������(���� �� �����), ��� ���������
����������, ������ �������������� � ������������� � ������������� �� ������
Unix ��������.
��� ������� �� ���� ��������� - �� ������ ������� ��� ���������� � �����
������������� � ������ ��������� ��� �������.
�� ����� � ������� ������� - �� ������ ��?
Perl mongers
������� Guido � Perl :
Perl I
Perl II
Perl III
����� ����� �� ���������������� �� Perl :
Perl Programming
������� Atif
� ������� MySQL.
������ ������� �� LinuxFocus � MySQL :
MySQL
������� �� LinuxFocus � SQL :
SQL Part I
SQL Part II
|
Webpages maintained by the LinuxFocus Editor team
© Georges Tarbouriech, FDL LinuxFocus.org Click here to report a fault or send a comment to LinuxFocus |
Translation information:
|
2002-01-02, generated by lfparser version 2.19