Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Вопрос по MySQL
требуется помощь!

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

wwwserfer



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Приветствую участников ru-board.com!
 
Вроде бы выбрал правильный раздел...
 
Спецы, помогите пожалуйста решить следующий вопрос:
 
требуется в одной из таблиц БД (frm_messages) поменять около 560, выбранных по полю posterName записей, поменять так, чтобы у каждой записи поле ID_MEMBER поменяло свое текущее значение с "0" на "5321".
 
работаю с phpmyadmin, значения можно поменять и вручную для каждой записи..., но это слишком долгий процесс. Вот, хотелось бы спросить: можно ли ускорить процесс? Может есть возможность обработать все эти записи единым SQL-запросом? Или другими средствами phpmyadmin-а?
 
MySQL 5.1.41
 
Спасибо за внимание!
 
==============================================
 
UPD: разобрался, прошу прощения за беспокойство.

Всего записей: 5 | Зарегистр. 29-01-2008 | Отправлено: 19:16 16-09-2011 | Исправлено: wwwserfer, 23:12 16-09-2011
vlh

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте.
Что бы не плодить темы, напишу тут.
Очень мало приходилось работать с этой базой, есть вопрос. В данный момент стоит веб сервер а точнее видео-каталог, который использует базу данных, ставил сам очень давно и не помню что к чему. Вопрос в следующем при входе в phpmyadmin я ввожу имя пользователя и пароль, точно такие же данные написаны в конфиге веб сервера для доступа к своей базе данных, если поменять пароль в phpmyadmin то с веб сервера нельзя зайти в админку по причине не верного пароля, получается что при входе в phpmyadmin надо указывать данные самой базы? а если вот например сейчас встал вопрос на этот же ПК поставить еще и cacti который тоже создает свою базу данных, мне при установки cacti нужно будет указать те же учетные данные что и в уже существующей базы или придумать свои и при запуске phpmyadmin вводить их? разве нельзя сделать что бы при входе в phpmyadmin видеть сразу все базы и работать с ними?

Всего записей: 770 | Зарегистр. 21-11-2009 | Отправлено: 20:11 13-05-2014
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlh У MySQL очень интересная система авторизации.
admin@localhost (коннектящийся с того же компа на 127.0.0.1),  
admin@192.168.0.1 (192.168.0.1 - локальный айпи сервера),  
и admin@192.168.0.100 (коннектящийся с компа 192.168.0.100 по сети) - это разные юзеры.
Почитай документацию, без ясного понимания этих вещей  
ты просто не сможешь работать с MySQL

----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17290 | Зарегистр. 13-06-2007 | Отправлено: 23:33 13-05-2014
vlh

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary

Цитата:
admin@localhost (коннектящийся с того же компа на 127.0.0.1)

 
что такое localhost я понимаю
 

Цитата:
admin@192.168.0.1 (192.168.0.1 - локальный айпи сервера)

 
пока для меня это одно и тоже как и localhost
 

Цитата:
и admin@192.168.0.100 (коннектящийся с компа 192.168.0.100 по сети)

 
это понятно, что это удаленный пользователь.
 

Цитата:
Почитай документацию, без ясного понимания этих вещей

 
читаю, но без практики и пинков в нужную сторону сложно разобраться, а экспериментировать на рабочей базе не хочется.
Вот что видно при подключении phpMyAdmin с удаленного ПК с вводом логина root ну и пароля%
 

 
на сколько я понял из прочитанного при создании первой базы она привязывается к первому пользователю а потом уже можно создавать новых пользователей и привязывать к ним базы, или я что то не понял? Но это когда через phpMyAdmin создаются пользователи и базы, мне не понятно как это сделать когда запускаю установку cacti которая в ходе установки просит создать базу и задать к ней имя пользователя и пароль. Если я задам тот же логин root и пароль что и у первой базы то при входе через phpMyAdmin я увижу обе базы и смогу с ними работать? Получается что так, если я один пользователь баз, то мне не нужно создавать нового пользователя просто при создании новой базы указать данные от первой базы. Если я создам нового пользователя и дам ему права на все, потом при создании новой базы укажу его данные то получится что у меня два пользователя и я могу заходить через phpMyAdmin под любым и работать с базами, только мне это не надо.

Всего записей: 770 | Зарегистр. 21-11-2009 | Отправлено: 00:23 14-05-2014
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlh
Цитата:
на сколько я понял из прочитанного при создании первой базы она привязывается к первому пользователю
При установке MySQL создается пользователь root@localhost, без пароля, который имеет права на существующую служебную базу mysql,
а также на все последующие, которые будут созданы.
При создании новой базы ты можешь создать нового юзера с правами на эту базу,
можешь дать права на нее уже существующим юзерам, можешь создать двух юзеров,
с доступом только к этой базе, одного с правом записи и чтения базы, второго - только чтения.
Короче, читай это: The MySQL Access Privilege System  
Там есть все необходимое, и нет ничего лишнего.

----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17290 | Зарегистр. 13-06-2007 | Отправлено: 12:12 14-05-2014
vlh

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary

Цитата:
При установке MySQL создается пользователь root@localhost, без пароля, который имеет права на существующую служебную базу mysql,  
а также на все последующие, которые будут созданы.  
При создании новой базы ты можешь создать нового юзера с правами на эту базу,  
можешь дать права на нее уже существующим юзерам, можешь создать двух юзеров,  
с доступом только к этой базе, одного с правом записи и чтения базы, второго - только чтения.  

 
Наверное я как то не так излагаю свой вопрос. Я понимаю как создавать пользователей в phpMyAdmin, как создавать базы в phpMyAdmin, как привязать пользователя (лей) к базе (базам) и дать им привилегий. Вопрос в том, что произойдет если я запущу инсталятор cacti который мне предложит создать новую базу с указанием имени базы, имени пользователя и пароля. Вопрос - что произойдет если я введу имя - cacti, а логин и пароль от root?
 

Цитата:
Короче, читай это: The MySQL Access Privilege System  
Там есть все необходимое, и нет ничего лишнего.

 
да, там все, но как работать не посредственно с базами, у меня вопрос немного иной, на сколько мне понимается.

Всего записей: 770 | Зарегистр. 21-11-2009 | Отправлено: 19:31 14-05-2014
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlh
Цитата:
Вопрос - что произойдет если я введу имя - cacti, а логин и пароль от root?  
 Может, ничего плохого и не произойдет. А может, в cacti имеется дырка в безопасности, и злоумышленники завладеют паролем не только к базе cacti,
но и ко всему серверу.
А потому все же лучше для  приложения, использующего базу, или
создавать юзера специально для этой базы, или использовать уже имеющегося,
но без глобальных полномочий.

----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17290 | Зарегистр. 13-06-2007 | Отправлено: 00:25 15-05-2014
vlh

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary
Спасибо, с этим понятно. Помогите разобраться что сейчас у меня творится с базой. Переносил видео-каталог с windows на ubuntu, сделал экспорт базы потом импортировал на свеже установленную ubuntu с LAMP. База для видео-каталога это lms, база mysql вроде как должна быть, что за базы остальные я не знаю, сам не создавал и ни чего не ставил на этот сервер.  
 

 
И второй вопрос по поводу пользователей и паролей. На сколько я понимаю что в данный момент у меня нет других пользователей кроме root и поэтому база видео-каталога имеет этого пользователя и пароль. Как я понимаю мне нужно в данный момент создать пользователя, дать ему права только к базе видео-каталога, потом в настройке видео-каталога сменить имя пользователя и пароль. Потом при установки cacti создать нового пользователя, дать имя новой базе (например cacti), и пароль. Тогда при удаленном заходе в phpMyAdmin по root я получу полный доступ к обеим базам и в то же время пользователь каждой базой будет иметь доступ только к своей.

Всего записей: 770 | Зарегистр. 21-11-2009 | Отправлено: 01:05 15-05-2014
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlh  1. Все нормально, это служебные базы
2. Да, это будет правильно.
Но лучше тебе еще заглянуть в специализированную тему: MySQL

----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17290 | Зарегистр. 13-06-2007 | Отправлено: 02:34 15-05-2014 | Исправлено: vlary, 02:38 15-05-2014
Itto



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте !  
Подскажите как сделать  
Есть БД форума
в ней есть ссылки которые надо вычистить  
если я даю запрос на поиск таких ссылок (PHPmyadmin)

Код:
[img]%imageshack.us%[/img]

то получаю - 759 совпадений в бд
но если я даю MySQL запрос Вида

Код:
UPDATE `table1` SET `message`=REPLACE(`message`,'[img]%imageshack.us%[/img]','deleted');

то получаю 0 совпадений
Дело в том что все сылки разные и общее у них только  
открывающий тэг [img]
закрывающий тэг [/img]
и домен.
Не подскажите как поменять запрос чтобы была замена по маске ?  

Всего записей: 1584 | Зарегистр. 05-02-2005 | Отправлено: 22:44 19-12-2017 | Исправлено: Itto, 22:46 19-12-2017
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Itto
SQL запросы Interbase/Firebird, MSSQL, MySQL и т.д.
SQL запрос

----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17290 | Зарегистр. 13-06-2007 | Отправлено: 00:10 20-12-2017
b7music



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день. У меня проблема. В логах увидел надпись

Код:
2018-04-27T09:41:00.512623Z 0 [ERROR] InnoDB: Cannot open datafile for read-only: './sitemanager0/#sql-6517_6.ibd' OS error: 71
2018-04-27T09:41:00.512633Z 0 [ERROR] InnoDB: Operating system error number 2 in a file operation.
2018-04-27T09:41:00.512639Z 0 [ERROR] InnoDB: The error means the system cannot find the path specified.
2018-04-27T09:41:00.512645Z 0 [ERROR] InnoDB: If you are installing InnoDB, remember that you must create directories yourself, InnoDB does not create them.
2018-04-27T09:41:00.512653Z 0 [ERROR] InnoDB: Could not find a valid tablespace file for `sitemanager0/#sql-6517_6`. Please refer to http://dev.mysql.com/doc/refman/5.7/en/innodb-troubleshooting-datadict.html for how to resolve the issue.
2018-04-27T09:41:00.512662Z 0 [Warning] InnoDB: Ignoring tablespace `sitemanager0/#sql-6517_6` because it could not be opened.

Перешел по ссылке, почитал. Пишут что должен быть еще файл #sql-*.ibd file
Но у меня такого файла нет - #sql-6517_6.ibd'. И я в тупике. Как правильно его удалить и безболезненно?
Сделал запрос

Код:
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE '%#sql%';

Получил

Код:
sitemanager0/#sql-6517_6

В папке с базой есть файл #sql-5ef8_7ff.frm
Судя по мануалу я должен сделать

Код:
 
mv #sql-5ef8_7ff.frm #sql-6517_6.ibd
DROP TABLE `#mysql50##sql-6517_6`;
 

?
Но #mysql50# такого у меня нет.  
5.7.21-20-log Percona

Всего записей: 686 | Зарегистр. 04-03-2010 | Отправлено: 06:59 28-04-2018 | Исправлено: b7music, 07:03 28-04-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
b7music

Цитата:
Но #mysql50# такого у меня нет.  

Это всего лишь префикс
Цитата:
The #mysql50# prefix tells MySQL to ignore file name safe encoding introduced in MySQL 5.1. Enclosing the table name in backticks is required to perform SQL statements on table names with special characters such as “#”.

Percona его тоже должна понимать

Всего записей: 16875 | Зарегистр. 20-09-2014 | Отправлено: 15:26 28-04-2018
b7music



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Спасибо. А по командам подскажете? Не хочется все сломать.

Всего записей: 686 | Зарегистр. 04-03-2010 | Отправлено: 04:40 29-04-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
А по командам подскажете?  

что подсказать? ничего не сломаете, а если нет уверенности - сделайте бэкап (dump) базы.
 

Цитата:
#sql-6517_6

это вообще временная таблица, появляется обычно в случае alter таблицы или каких массовых изменений при использовании innodb движка. случился какой то затык и все.

Всего записей: 16875 | Зарегистр. 20-09-2014 | Отправлено: 05:47 29-04-2018 | Исправлено: Mavrikii, 05:58 29-04-2018
Itto



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго дня,  
Народ подскажите пожалуйста как это можно реализовать.
есть БД MariaDB 10.4 (MySQL)
в ней есть таблица.
в таблице есть колонка,  
в колонке содержатся текстовые сообщения,
всего их 170 000 штук.
Как можно подсчитать количество символов текстовой информации в столбце  
просто общее количество ?  те сколько всего символов в 170 000 текстовых сообщениях




Нарушение п. 2.7. главы VIII Соглашения по использованию

Всего записей: 1584 | Зарегистр. 05-02-2005 | Отправлено: 20:54 21-04-2020
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Вопрос по MySQL


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.B0ard 2000-2026

LiteCoin: LgY72v35StJhV2xbt8CpxbQ9gFY6jwZ67r

Рейтинг.ru