myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
 
Ответить в данную темуНачать новую тему

> Mysql, Unix | База данных

Jaska
сообщение 17.1.2009, 21:34
Сообщение #1


Освоившийся участник
*****

Группа: Администраторы
Сообщений: 344
Регистрация: 2.6.2008
Из: RB,Ufa
Пользователь №: 8
Спасибо сказали: 106 раз




Установка mysql на PtokaX 0.4.1.1 под unix описана здесь - http://mydc.ru/topic597.html

После установки проверяем работоспособность, пишем скрипт:

CODE

require "luasql.mysql"
mysql = assert(luasql.mysql())

db_name = "" -- имя бд
db_host = "" -- хост
db_user = "" -- пользователь
db_pass = "" -- пароль

con = assert(mysql:connect(db_name, db_user, db_pass, db_host))
cur = assert(con:execute("SELECT version()"))

Core.SendToAll("<mysql> MYSQL driver version is: "..luasql._MYSQLVERSION)
Core.SendToAll("<mysql> "..luasql._COPYRIGHT)
Core.SendToAll("<mysql> "..luasql._DESCRIPTION)
Core.SendToAll("<mysql> "..luasql._VERSION)

con:close()
mysql:close()


Если все ок, то увидите примерно следущее:

Код
<mysql> MYSQL driver version is: 5.0.45
<mysql> Copyright © 2003-2007 Kepler Project
<mysql> LuaSQL is a simple interface from Lua to a DBMS
<mysql> LuaSQL 2.1.1


Небольшой пример работы с mysql в lua.

CODE
require "luasql.mysql"
mysql = assert(luasql.mysql())

db_name = "joomla"
db_host = "localhost"
db_user = "root"
db_pass = "ххххххххххххх"

con = assert(mysql:connect(db_name, db_user, db_pass, db_host))

function ChatArrival(tUser,sData)
local _,_,sCmd = sData:find"%b<>%s+(%S+)|"
if sCmd == "+1" then
for id, name, nick in rows(con, "SELECT * FROM `jos_users`") do
Core.SendToAll("ID -> "..id.."\nNAME -> "..name.."\nNICK -> "..nick)
end
return true
end
end

function rows (connection, sql_statement)
local cursor = assert (connection:execute (sql_statement))
return function ()
return cursor:fetch()
end
end

con:close()
mysql:close()


Выше в примере я подключался к базе данных бесплатной CMS Joomla и выводил Id, Имя пользователя и его Ник.

Вся необходимая информация о проекте LuaSQL - http://www.keplerproject.org/luasql/manual.html#introduction


Спасибо сказали:
Go to the top of the page
+Quote Post
Parad0x
сообщение 23.2.2011, 10:00
Сообщение #2


Участник
**

Группа: Пользователи
Сообщений: 35
Регистрация: 17.1.2009
Из: Свердловская область
Пользователь №: 1 836
Спасибо сказали: 3 раза




Здравствуйте, подскажите как собрать luasql под centos 5.5
Лог консоли
Код
# make
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -ansi -pedantic -I../compat/src -I/opt/local/include -I/usr/local/include    -c -o src/luasql.o src/luasql.c
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -ansi -pedantic -I../compat/src -I/opt/local/include -I/usr/local/include    -c -o src/ls_sqlite3.o src/ls_sqlite3.c
src/ls_sqlite3.c:14:21: error: sqlite3.h: Нет такого файла или каталога
src/ls_sqlite3.c:41: ошибка: expected specifier-qualifier-list before ‘sqlite3’
src/ls_sqlite3.c:51: ошибка: expected specifier-qualifier-list before ‘sqlite3_stmt’
src/ls_sqlite3.c: In function ‘finalize’:
src/ls_sqlite3.c:95: предупреждение: implicit declaration of function ‘sqlite3_finalize’
src/ls_sqlite3.c:95: ошибка: ‘cur_data’ has no member named ‘sql_vm’
src/ls_sqlite3.c:95: ошибка: ‘SQLITE_OK’ undeclared (first use in this function)
src/ls_sqlite3.c:95: ошибка: (Each undeclared identifier is reported only once
src/ls_sqlite3.c:95: ошибка: for each function it appears in.)
src/ls_sqlite3.c:97: предупреждение: implicit declaration of function ‘sqlite3_errmsg’
src/ls_sqlite3.c:97: предупреждение: implicit declaration of function ‘sqlite3_db_handle’
src/ls_sqlite3.c:97: ошибка: ‘cur_data’ has no member named ‘sql_vm’
src/ls_sqlite3.c:97: предупреждение: assignment makes pointer from integer without a cast
src/ls_sqlite3.c:98: ошибка: ‘cur_data’ has no member named ‘sql_vm’
src/ls_sqlite3.c:105: ошибка: ‘cur_data’ has no member named ‘sql_vm’
src/ls_sqlite3.c: In function ‘cur_fetch’:
src/ls_sqlite3.c:116: ошибка: ‘sqlite3_stmt’ undeclared (first use in this function)
src/ls_sqlite3.c:116: ошибка: ‘vm’ undeclared (first use in this function)
src/ls_sqlite3.c:116: ошибка: ‘cur_data’ has no member named ‘sql_vm’
src/ls_sqlite3.c:117: предупреждение: ISO C90 forbids mixed declarations and code
src/ls_sqlite3.c:122: предупреждение: implicit declaration of function ‘sqlite3_step’
src/ls_sqlite3.c:125: ошибка: ‘SQLITE_DONE’ undeclared (first use in this function)
src/ls_sqlite3.c:128: ошибка: ‘SQLITE_ROW’ undeclared (first use in this function)
src/ls_sqlite3.c:141: предупреждение: implicit declaration of function ‘sqlite3_column_text’
src/ls_sqlite3.c:141: предупреждение: приведение к типу указателя от целого другого размера
src/ls_sqlite3.c:153: предупреждение: приведение к типу указателя от целого другого размера
src/ls_sqlite3.c:165: предупреждение: приведение к типу указателя от целого другого размера
src/ls_sqlite3.c: In function ‘cur_close’:
src/ls_sqlite3.c:187: ошибка: ‘cur_data’ has no member named ‘sql_vm’
src/ls_sqlite3.c: На верхнем уровне:
src/ls_sqlite3.c:230: ошибка: expected declaration specifiers or ‘...’ before ‘sqlite3_stmt’
src/ls_sqlite3.c: In function ‘create_cursor’:
src/ls_sqlite3.c:245: ошибка: ‘cur_data’ has no member named ‘sql_vm’
src/ls_sqlite3.c:245: ошибка: ‘sql_vm’ undeclared (first use in this function)
src/ls_sqlite3.c:254: предупреждение: implicit declaration of function ‘sqlite3_column_name’
src/ls_sqlite3.c:254: предупреждение: passing argument 2 of ‘lua_pushstring’ makes pointer from integer without a cast
src/ls_sqlite3.c:263: предупреждение: implicit declaration of function ‘sqlite3_column_decltype’
src/ls_sqlite3.c:263: предупреждение: passing argument 2 of ‘lua_pushstring’ makes pointer from integer without a cast
src/ls_sqlite3.c: In function ‘conn_close’:
src/ls_sqlite3.c:291: предупреждение: implicit declaration of function ‘sqlite3_close’
src/ls_sqlite3.c:291: ошибка: ‘conn_data’ has no member named ‘sql_conn’
src/ls_sqlite3.c: In function ‘conn_escape’:
src/ls_sqlite3.c:299: предупреждение: implicit declaration of function ‘sqlite3_mprintf’
src/ls_sqlite3.c:299: предупреждение: initialization makes pointer from integer without a cast
src/ls_sqlite3.c:307: предупреждение: implicit declaration of function ‘sqlite3_free’
src/ls_sqlite3.c: In function ‘conn_execute’:
src/ls_sqlite3.c:322: ошибка: ‘sqlite3_stmt’ undeclared (first use in this function)
src/ls_sqlite3.c:322: ошибка: ‘vm’ undeclared (first use in this function)
src/ls_sqlite3.c:323: предупреждение: ISO C90 forbids mixed declarations and code
src/ls_sqlite3.c:327: предупреждение: implicit declaration of function ‘sqlite3_prepare’
src/ls_sqlite3.c:327: ошибка: ‘conn_data’ has no member named ‘sql_conn’
src/ls_sqlite3.c:328: ошибка: ‘SQLITE_OK’ undeclared (first use in this function)
src/ls_sqlite3.c:330: ошибка: ‘conn_data’ has no member named ‘sql_conn’
src/ls_sqlite3.c:330: предупреждение: assignment makes pointer from integer without a cast
src/ls_sqlite3.c:340: предупреждение: implicit declaration of function ‘sqlite3_column_count’
src/ls_sqlite3.c:343: ошибка: ‘SQLITE_ROW’ undeclared (first use in this function)
src/ls_sqlite3.c:343: ошибка: ‘SQLITE_DONE’ undeclared (first use in this function)
src/ls_sqlite3.c:345: предупреждение: implicit declaration of function ‘sqlite3_reset’
src/ls_sqlite3.c:346: ошибка: слишком много аргументов в вызове функции ‘create_cursor’
src/ls_sqlite3.c:353: предупреждение: implicit declaration of function ‘sqlite3_changes’
src/ls_sqlite3.c:353: ошибка: ‘conn_data’ has no member named ‘sql_conn’
src/ls_sqlite3.c:358: предупреждение: assignment makes pointer from integer without a cast
src/ls_sqlite3.c: In function ‘conn_commit’:
src/ls_sqlite3.c:380: предупреждение: implicit declaration of function ‘sqlite3_exec’
src/ls_sqlite3.c:380: ошибка: ‘conn_data’ has no member named ‘sql_conn’
src/ls_sqlite3.c:382: ошибка: ‘SQLITE_OK’ undeclared (first use in this function)
src/ls_sqlite3.c: In function ‘conn_rollback’:
src/ls_sqlite3.c:408: ошибка: ‘conn_data’ has no member named ‘sql_conn’
src/ls_sqlite3.c:409: ошибка: ‘SQLITE_OK’ undeclared (first use in this function)
src/ls_sqlite3.c: In function ‘conn_getlastautoid’:
src/ls_sqlite3.c:425: предупреждение: implicit declaration of function ‘sqlite3_last_insert_rowid’
src/ls_sqlite3.c:425: ошибка: ‘conn_data’ has no member named ‘sql_conn’
src/ls_sqlite3.c: In function ‘conn_setautocommit’:
src/ls_sqlite3.c:442: ошибка: ‘conn_data’ has no member named ‘sql_conn’
src/ls_sqlite3.c:449: ошибка: ‘conn_data’ has no member named ‘sql_conn’
src/ls_sqlite3.c:450: ошибка: ‘SQLITE_OK’ undeclared (first use in this function)
src/ls_sqlite3.c: На верхнем уровне:
src/ls_sqlite3.c:467: ошибка: expected declaration specifiers or ‘...’ before ‘sqlite3’
src/ls_sqlite3.c: In function ‘create_connection’:
src/ls_sqlite3.c:476: ошибка: ‘conn_data’ has no member named ‘sql_conn’
src/ls_sqlite3.c:476: ошибка: ‘sql_conn’ undeclared (first use in this function)
src/ls_sqlite3.c: In function ‘env_connect’:
src/ls_sqlite3.c:490: ошибка: ‘sqlite3’ undeclared (first use in this function)
src/ls_sqlite3.c:490: ошибка: ‘conn’ undeclared (first use in this function)
src/ls_sqlite3.c:491: предупреждение: ISO C90 forbids mixed declarations and code
src/ls_sqlite3.c:495: предупреждение: implicit declaration of function ‘sqlite3_open’
src/ls_sqlite3.c:496: ошибка: ‘SQLITE_OK’ undeclared (first use in this function)
src/ls_sqlite3.c:498: предупреждение: assignment makes pointer from integer without a cast
src/ls_sqlite3.c:506: ошибка: слишком много аргументов в вызове функции ‘create_connection’
make: *** [src/ls_sqlite3.o] Ошибка 1
Go to the top of the page
+Quote Post
mariner
сообщение 23.2.2011, 14:04
Сообщение #3


Местная ТехПоддержка
**********

Группа: Администраторы
Сообщений: 1 875
Регистрация: 18.7.2008
Из: Моск. Обл, г. королев, район Болшево
Пользователь №: 221
Спасибо сказали: 220 раз




для начала открыть хотя бы конфиг сборки.


Спасибо сказали:
Go to the top of the page
+Quote Post
Parad0x
сообщение 23.2.2011, 23:01
Сообщение #4


Участник
**

Группа: Пользователи
Сообщений: 35
Регистрация: 17.1.2009
Из: Свердловская область
Пользователь №: 1 836
Спасибо сказали: 3 раза




Поторопился с написанием поста big_smile.gif
Открыл конфиг, подправил, далее make и получаем так:
console
Код
# make
export MACOSX_DEPLOYMENT_TARGET="10.3"; gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -ansi -pedantic -I/root/compat-5.1r5 -I/usr/include/mysql -I/usr/local/include  -o src/mysql.so -shared  src/luasql.o src/ls_mysql.o  -L/usr/lib/mysql -lmysqlclient -lz
/usr/bin/ld: src/luasql.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
src/luasql.o: could not read symbols: Bad value
collect2: выполнение ld завершилось с кодом возврата 1
make: *** [src/mysql.so] Ошибка 1

config
Код
# Driver (leave uncommented ONLY the line with the name of the driver)
T= mysql
#T= oci8
#T= odbc
#T= postgres
#T= sqlite
#T=sqlite3

# Installation directories

# Default prefix
PREFIX = /usr/local

# System's libraries directory (where binary libraries are installed)
LUA_LIBDIR= $(PREFIX)/lib/lua/5.1

# System's lua directory (where Lua libraries are installed)
LUA_DIR= $(PREFIX)/share/lua/5.1

# Lua includes directory
LUA_INC= $(PREFIX)/include

# Lua version number (first and second digits of target version)
LUA_VERSION_NUM= 514

# OS dependent
LIB_OPTION= -shared #for Linux
#LIB_OPTION= -bundle -undefined dynamic_lookup #for MacOS X

LIBNAME= $T.so
COMPAT_DIR= /root/compat-5.1r5

# Compilation parameters
# Driver specific
######## MySQL
DRIVER_LIBS= -L/usr/lib/mysql -lmysqlclient -lz
DRIVER_INCS= -I/usr/include/mysql
######## Oracle OCI8
#DRIVER_LIBS= -L/home/oracle/OraHome1/lib -lz -lclntsh
#DRIVER_INCS= -I/home/oracle/OraHome1/rdbms/demo -I/home/oracle/OraHome1/rdbms/public
######## PostgreSQL
#DRIVER_LIBS= -L/usr/local/pgsql/lib -lpq
#DRIVER_INCS= -I/usr/local/pgsql/include
######## SQLite
#DRIVER_LIBS= -lsqlite
#DRIVER_INCS=
######## SQLite3
#DRIVER_LIBS= -L/opt/local/lib -lsqlite3
#DRIVER_INCS= -I/opt/local/include
######## ODBC
#DRIVER_LIBS= -L/usr/local/lib -lodbc
#DRIVER_INCS= -DUNIXODBC -I/usr/local/include

WARN= -Wall -Wmissing-prototypes -Wmissing-declarations -ansi -pedantic
INCS= -I$(LUA_INC)
CFLAGS= -O2 $(WARN) -I$(COMPAT_DIR) $(DRIVER_INCS) $(INCS) $(DEFS)
CC= gcc
Go to the top of the page
+Quote Post
mariner
сообщение 23.2.2011, 23:13
Сообщение #5


Местная ТехПоддержка
**********

Группа: Администраторы
Сообщений: 1 875
Регистрация: 18.7.2008
Из: Моск. Обл, г. королев, район Болшево
Пользователь №: 221
Спасибо сказали: 220 раз




Цитата
/usr/bin/ld: src/luasql.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC

И опять поторопился.
Допиши в это метсо
Код
# OS dependent
LIB_OPTION= -shared #for Linux

-fPIC


Спасибо сказали:
Go to the top of the page
+Quote Post
Parad0x
сообщение 23.2.2011, 23:17
Сообщение #6


Участник
**

Группа: Пользователи
Сообщений: 35
Регистрация: 17.1.2009
Из: Свердловская область
Пользователь №: 1 836
Спасибо сказали: 3 раза




Спасибо за быстрый ответ, но:
console
Код
# make
export MACOSX_DEPLOYMENT_TARGET="10.3"; gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -ansi -pedantic -I/root/compat-5.1r5 -I/usr/include/mysql -I/usr/local/include  -o src/mysql.so -shared -fPIC  src/luasql.o src/ls_mysql.o  -L/usr/lib/mysql -lmysqlclient -lz
/usr/bin/ld: src/luasql.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
src/luasql.o: could not read symbols: Bad value
collect2: выполнение ld завершилось с кодом возврата 1
make: *** [src/mysql.so] Ошибка 1

т.е. ничего не поменялось
Go to the top of the page
+Quote Post
mariner
сообщение 24.2.2011, 2:03
Сообщение #7


Местная ТехПоддержка
**********

Группа: Администраторы
Сообщений: 1 875
Регистрация: 18.7.2008
Из: Моск. Обл, г. королев, район Болшево
Пользователь №: 221
Спасибо сказали: 220 раз




А make clean сделал как добавил?)
Go to the top of the page
+Quote Post
Parad0x
сообщение 24.2.2011, 19:58
Сообщение #8


Участник
**

Группа: Пользователи
Сообщений: 35
Регистрация: 17.1.2009
Из: Свердловская область
Пользователь №: 1 836
Спасибо сказали: 3 раза




ех... в линуксе новичек, как-то и забылось.
вот как бы сделалbig_smile.gif
Код
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -ansi -pedantic -I/root/compat-5.1r5 -I/usr/include/mysql -I/usr/local/include    -c -o src/luasql.o src/luasql.c
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -ansi -pedantic -I/root/compat-5.1r5 -I/usr/include/mysql -I/usr/local/include    -c -o src/ls_mysql.o src/ls_mysql.c
In file included from src/ls_mysql.c:19:
/usr/include/mysql/mysql.h:129: предупреждение: ISO C90 не поддерживает тип ‘long long’
export MACOSX_DEPLOYMENT_TARGET="10.3"; gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -ansi -pedantic -I/root/compat-5.1r5 -I/usr/include/mysql -I/usr/local/include  -o src/mysql.so -shared -fPIC  src/luasql.o src/ls_mysql.o  -L/usr/lib/mysql -lmysqlclient -lz
/usr/bin/ld: src/luasql.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
src/luasql.o: could not read symbols: Bad value
collect2: выполнение ld завершилось с кодом возврата 1
make: *** [src/mysql.so] Ошибка 1
Go to the top of the page
+Quote Post
mariner
сообщение 24.2.2011, 20:10
Сообщение #9


Местная ТехПоддержка
**********

Группа: Администраторы
Сообщений: 1 875
Регистрация: 18.7.2008
Из: Моск. Обл, г. королев, район Болшево
Пользователь №: 221
Спасибо сказали: 220 раз




Странно. У меня с теми модификациями собирается.
Go to the top of the page
+Quote Post
KCAHDEP
сообщение 21.9.2013, 7:14
Сообщение #10


Глубина-глубина, я не твой… Отпусти меня, глубина…
****

Группа: Пользователи
Сообщений: 199
Регистрация: 13.10.2010
Из: Михайловск
Пользователь №: 7 882
Спасибо сказали: 23 раза




Доброго времени суток. Установил пакеты liblua5.1-sql-mysql-2 liblua5.1-sql-mysql-dev но при включении любого скрипта использующего mysql выводит ошибку:
Код
21.09.2013 08:09:12 - /var/ptokax/scripts/ajaxchat.lua:198: attempt to index global 'luasql' (a nil value)
21.09.2013 08:09:12 - /var/ptokax/scripts/ajaxchat.lua:235: attempt to index global 'env' (a nil value)

os debian 7.1
mysql 5.5.31
lua 5.1
ptokax 4.1.2
Подскажите пожалуйста как с этим бороться.
Go to the top of the page
+Quote Post
Saymon21
сообщение 21.9.2013, 17:34
Сообщение #11


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




Код
luasql = require"luasql.mysql"
env = luasql.mysql()


Спасибо сказали:
Go to the top of the page
+Quote Post
KCAHDEP
сообщение 21.9.2013, 18:17
Сообщение #12


Глубина-глубина, я не твой… Отпусти меня, глубина…
****

Группа: Пользователи
Сообщений: 199
Регистрация: 13.10.2010
Из: Михайловск
Пользователь №: 7 882
Спасибо сказали: 23 раза




Цитата(Saymon21 @ 21.9.2013, 18:34) *
Код
luasql = require"luasql.mysql"
env = luasql.mysql()

Спасибо огромное, заработало все!
Go to the top of the page
+Quote Post

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No new Topic has attachmentsMysql
win32 - API 2 | Самая распространённая база данных
78 Setuper 112 959 19.8.2017, 8:59 Посл. сообщение: Kinsler
No New Posts lua mysql
4 shadow3c 9 416 20.8.2014, 20:33 Посл. сообщение: shadow3c
No New Posts Topic has attachmentsmysql
RusHub | Библиотека базы данных mysql
8 Setuper 21 905 18.8.2014, 4:05 Посл. сообщение: shadow3c
No new Эффективность mysql
текстовый файл или mysql?
23 Iskandark 22 914 29.12.2011, 9:47 Посл. сообщение: mariner
No New Posts Скрипт антимат и антиреклама с базой в Mysql
1 Vizunchik 7 228 7.12.2011, 20:17 Посл. сообщение: Ksan
No New Posts RusHub and MySQL?! есть ли и как ...
вопросы про mysql, md5 hash и т.д.
4 DRUG_ADDICT 10 115 3.4.2011, 7:03 Посл. сообщение: alex82
No New Posts Topic has attachmentsCustomLocations + MySQL
Определяем провайдера по IP-адресу
0 alex82 7 150 7.3.2011, 18:39 Посл. сообщение: alex82
No New Posts Релизы/Заказы с MySQL
API 2 | MySQL
0 Kingston 5 466 6.2.2011, 10:08 Посл. сообщение: Kingston
No New Posts Topic has attachmentsУстановка и настройка Ubuntu 10.04 под PtokaX 4.1.2 с MySQL. Финал.
Инструкция для новичков в Линуксе
11 TiGRpp 29 454 2.9.2010, 5:09 Посл. сообщение: TiGRpp
No new Topic has attachmentsПоиск по TTH на MySQL
18 Lesh™ 21 644 15.8.2010, 12:40 Посл. сообщение: Lesh™
No New Posts От: Поиск по TTH на MySQL
От темы с ID: 3549
1 Lesh™ 6 697 14.7.2010, 0:30 Посл. сообщение: Lesh™
Closed Скрипт для внесени в данных в MySQL прям из чата командой.
Нужно маленький скриптик который будет экспортировать определенный тек
1 DEN 007 6 370 4.7.2010, 9:45 Посл. сообщение: Setuper
No New Posts От: Заявки на перевод скриптов под MySQL
От темы с ID: 1824
0 alev 5 393 25.4.2010, 12:05 Посл. сообщение: alev
No New Posts От: mysql
От темы с ID: 2952
3 derSpinner 6 623 13.4.2010, 11:41 Посл. сообщение: Setuper
No New Posts ВАЖНО: Topic has attachmentsЗаявки на перевод скриптов под MySQL
5 Wariner 13 832 4.4.2010, 15:18 Посл. сообщение: Accelerator

 



RSS Сейчас: 23.11.2024, 8:42