24 Listopada 2024 07:57:36
Nawigacja
· Strona Główna
· Forum

· Tomato by Shibby
· FreshTomato


Wątki na forum
Najnowsze dyskusje
· [S] Asus RT-AC56U
· DIR868l OFW asus vs ...
· Szukam zaproszenia n...
· [MOD] FreshTomato-AR...
· Asus RT-AC5300 ,prob...
· archer c6 v3.20
· [S] Nighthawk R7000P...
· [S]Asus RT-AC5300 - ...
· Tanie N100 na promce...
· net z telefonu wifi+...
· Tomato - bugi/proble...
· HUAWEI z światłowodem
· Asus TUF-AX3000_V2 p...
· rt-ax88upro częste ...
· [Howto] Xpenology na...
· Jaki router pod Open...
· Ruter z tomato
· Czy to jeszcze NAS?
· RT AC66U B1
· Wireguard na FreshTo...
Najpopularniejsze obecnie wątki
· DIR868l OFW asus ... [8]
· [S] Asus RT-AC56U [0]
Ankieta
Jaki procesor posiada twój router?

Broadcom MIPSEL
Broadcom MIPSEL
36% [151 głosów]

Broadcom ARM
Broadcom ARM
52% [219 głosów]

Atheros
Atheros
5% [22 głosów]

Marvell
Marvell
1% [4 głosów]

Ralink
Ralink
1% [3 głosów]

Intel/AMD/VIA
Intel/AMD/VIA
1% [5 głosów]

Żaden z powyższych
Żaden z powyższych
4% [15 głosów]

Ogółem głosów: 419
Musisz zalogować się, aby móc zagłosować.
Rozpoczęto: 02/02/2015 09:38
Twoje IP
3.149.27.33
Zobacz wątek
OpenLinksys » :: PORTAL :: » Tutoriale
 Drukuj wątek
RT-N16 + Entware; Dostęp do MySQL 5 przez TCP/IP
cek149
Jestem tu nowy, więc moje pierwsze słowa niech będą wyrazem szczerego szacunku dla Shibby, dziękuję, wspaniała praca.

A teraz problem.
Moje założenie jest proste, chcę zainstalować MySQL by udostępniał bazy danych w moim LAN (tylko).
Korzystam z MediaPortal, ten wymaga dostępu do bazy danych, a ja już nie chcę dłużej trzymać serwera MS SQL (również MySQL) na moim kompie, więc pomyślałem, że mój ruterek, być może, mógł by udźwignąć tę rolę.
Do każdego serwera BD przydaje się coś do jego zarządzania, szczerze mówiąc nie mam ochoty (umiejętności również) aby na ruterku stawiać dodatkowo jeszcze serwer WWW wraz z koniecznym otoczeniem i skryptami PHP, by ten od czasu do czasu dał mi możliwość zajrzenia i zarządzania MySQL'em, wydaje mi się to troszeczkę bez sensu, przerost formy nad treścią.
Chyba znalazłem program, który spełni moje oczekiwania w tej kwestii - HeidiSQL, jest niewielki, nie wymaga instalacji, ot po prostu odpalić, połączyć z MySQL i się cieszyć. To na razie są moje oczekiwania, niestety ciągle nie sprawdzone ponieważ od prawie tygodnia nie mogę sobie z tym poradzić.
Robię tak :
1) opkg install mysql-server - instalacja przebiega prawidłowo.
2) edytuję /opt/etc/my.cnf zmieniając trzy linie

datadir = ... (ścieżka do zamontowanej partycji danych na HD)
tmpdir = ... (ścieżka do zamontowanej partycji danych na HD)
#skip-external-locking (wyłączyłem tę opcję - czy dobrze?)

w efekcie my.cnf wygląda tak :
[client]
port = 3306
socket = /opt/var/run/mysqld.sock

[mysqld]
user = root
socket = /opt/var/run/mysqld.sock
port = 3306
basedir = /opt

############ Don't put this on the NAND #############
# Figure out where you are going to put the databases
# And run mysql_install_db --force
datadir = /mnt/data/mysql_db

######### This should also not go on the NAND #######
tmpdir = /mnt/data/mysql_tmp

#skip-external-locking

bind-address = 127.0.0.1

# Fine Tuning
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8

# Here you can see queries with especially long duration
#log_slow_queries = /opt/var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes

# The following can be used as easy to replay backup logs or for replication.
#server-id = 1
#log_bin = /opt/var/log/mysql/mysql-bin.log
#expire_logs_days = 10
#max_binlog_size = 100M

3) mysql_install_db --force
w folderze /mnt/data/mysql_db zostają utworzone dwie bazy : mysql i test.
Zgodnie z informacja, po instalacji systemowej bazy mam wykonać
/opt/bin/mysqladmin -u root password 'new-password'
/opt/bin/mysqladmin -u root -r IPrutera password 'new-password'
4) /opt/etc/init.d/S70mysqld stop
5) /opt/etc/init.d/S70mysqld start
po starcie, w /opt/var/run/ zostaje utworzony plik mysqld.sock
6) /opt/bin/mysqladmin -u root password '123'
wykonane, brak komunikatu

I na tym kończą się moje sukcesy.

7) /opt/bin/mysqladmin -u root -h IPrutera password '123'
komunikat:
error: 'Lost connection to MySQL server at 'reading initial communication packet', system error 146'

HeidiSQL - ustawienia połączenia:
Typ połączenia : MySQL (TCP/IP)
Nazwa hosta / IP : 192.168.210.1
Użytkownik : root
Hasło : 123
Port : 3306
Bazy : test (nie ważne, test, czy mysql, czy pozostawiam puste pole)
Próba łączenia się HeidiSQL daje komunikat :
Błąd SQL (2003) w instrukcji #0: Can't connect to MySQL server on '192.168.210.1' (10061)
link do obrazka : https://drive.google.com/file/d/0B3No...sp=sharing

Pomimo prawie tygodnia starań, powtarzania instalacji od nowa, formatowania partycji opt, guglowania i sam już nie wiem czego jeszcze, dalej się nie posunąłem. Dodam, że instaluję mc i lftp, korzystam z nich i działają poprawnie.

Tych co wiedzą jak to zrobić i chcą pomóc, proszę o podanie tych kilku "czarodziejskich" linijek które mam wpisać w Putty, bardzo dziękuję za odsyłacze do manuali itp.
Chciałbym by dla takich jak ja, znalazo się tu konkretne rozwiązanie problemu, myślę, że przydatnego.

I jeszcze pytanie, czy do wywołania MySQL'a na ruterku z kompa w LAN trzeba otworzyć port 3306 w ruterku? (porty po kablu i WiFi są u mnie we wspólnym LAN - 192.168.210.0, 255.255.255.0)
Jeśli tak to poproszę o wpis jaki mam wykonać.

Z góry dziękuję wszystkim chcącym pomóc mi i mnie podobnym.
 
shibby
bind-address = 127.0.0.1

tu ustaw ip routera bo obecnie słucha ci tylko na localhoscie.
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology SA6400
VM VPS: Debian, WWW, Home Assistant
Switch: Netgear MS510TXPP
Switch: Ubiquiti USW-Flex-mini - szt. 2
Wi-Fi: Ubiquiti U6-Lite - szt. 2
 
cek149
Bardzo dziękuję za szybką reakcję.

1) Zmieniłem wpis w /opt/etc/my.cnf :
bind-address = 192.168.210.1 (IP ruterka z MySQL)
2) /opt/etc/init.d/S70mysqld stop
Checking mysqld... alive.
Shutting down mysqld... done.
3) /opt/etc/init.d/S70mysqld start
Starting mysqld... done.
4) /opt/bin/mysqladmin -u root -h 192.168.210.1 password '123'

Jak widać, pkt.4 wykonał się prawidłowo, czyli posunęliśmy się o krok dalej, wygląda na to, że MySQL już słucha na swoim adresie LAN.

5) Uruchomiłem HeidiSQL i spróbowałem się połączyć z MySQL, tym razem pojawił się inny komunikat :
Błąd SQL (1130) w instrukcji #0: Host 'KOMP1.DOMOWA' is not allowed to connect to this MySQL server
link do obrazka : https://drive.google.com/file/d/0B3No...sp=sharing

Dodam, że zapora w windzie jest wyłączona.

Teraz, ja nie wiem, czy MySQL jest już gotowy do pracy w LAN, a HeidiSQL ma jakieś problemy, czy to jeszcze MySQL nie jest gotowy.

Dziękuję za już i proszę o jeszcze Smile
 
shibby
zaloguj się do mysqla przez konsolę i wydaj komendy:

use mysql;
select Host,User from user where User='root'


zwróci ci listę hostów z których można się logować na roota. Jak pewnie zobaczysz nie ma tam twojego Komp1.domowa Wink Najprościej więc będzie jeden z wpisów zamienić na % czyli dopuść wszystkie hosty.

update user set Host='%' where User='root' and Host='localhost'

Powinno pokazać ci że uaktualniono jeden wpis. Jeżeli tak to czas odświeżyć uprawnienia:

flush privileges;

Po tym zabiegu powinieneś się już móc zalogować na roota do mysqla.

Inne rozwiązanie to dodać nowego usera i jemu nadać takie uporawnienia (poszukaj na necie jak z konsoli dodać usera).
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology SA6400
VM VPS: Debian, WWW, Home Assistant
Switch: Netgear MS510TXPP
Switch: Ubiquiti USW-Flex-mini - szt. 2
Wi-Fi: Ubiquiti U6-Lite - szt. 2
 
cek149
Zrobiłem jak radzisz :

mysql -h 192.168.210.1 -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 22
Server version: 5.1.68 Source distribution

Copyright (c) 2000, 2013, 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;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select Host,User from user where User='root'
+-----------+------+
| Host | User |
+-----------+------+
| 127.0.0.1 | root |
| RuterWawa | root |
| localhost | root |
+-----------+------+
3 rows in set (0.00 sec)

mysql> update user set Host='%' where User='root' and Host='localhost'
-> ;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> select Host,User from user where User='root'
+-----------+------+
| Host | User |
+-----------+------+
| % | root |
| 127.0.0.1 | root |
| RuterWawa | root |
+-----------+------+
3 rows in set (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql>\q

Teraz widzimy, że pojawił się Host - %, ale zniknął Host - localhost
Czy to jest prawidłowe ?

Następnie uruchomiłem HeidiSQL i bezproblemowo loguję się na konto root do bazy mysql i test.
Włączyłem zaporę w windzie i logowanie jest również bezproblemowe.

Shibby, nawet nie wiesz jak się cieszę, bez poufałości, ale uściskał bym Cię Wink
Na zakończenie pozostaje pytanko jak wyżej i na marginesie, z punku widzenia praktyka i fachowca, czy tego typu rozwiązanie wydaje się sensowne?
Czy na zakończenie tego tematu napisać jeszcze podsumowanie - krok po kroku dla potomnych ? czy tak jak jest wystarczy ?

Połączony z 24 luty 2014 12:57:14:
Sprawdziłem :

mysql -h localhost -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
root@RuterWawa:/tmp/home/root#

Czyli na localhost nie mogę się teraz zalogować do MySQL.
Edytowany przez cek149 dnia 24-02-2014 12:57
 
shibby
dodaj -h 127.0.0.1 i powinieneś się zalogować. Jak się uda to zrób może tak:

update user set Host='localhost' where User='root' and Host='RuterWawa'

Powinno pomóc
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology SA6400
VM VPS: Debian, WWW, Home Assistant
Switch: Netgear MS510TXPP
Switch: Ubiquiti USW-Flex-mini - szt. 2
Wi-Fi: Ubiquiti U6-Lite - szt. 2
 
cek149
Wprowadziłem proponowaną przez Ciebie zmianę i jest teraz tak :

mysql -h localhost -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.1.68 Source distribution

Copyright (c) 2000, 2013, 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
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select User,Host from user where User='root'
+------+-----------+
| User | Host |
+------+-----------+
| root | % |
| root | 127.0.0.1 |
| root | localhost |
+------+-----------+
3 rows in set (0.00 sec)

mysql>

i teraz porobiłem szereg prób z czego wynika :
jeśli w my.cnf jest bind-address = 192.168.210.1 to na ruterku mogę się zalogować tylko -h localhost, -h 127.0.0.1 nie mogę :

mysql -h localhost -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.1.68 Source distribution

Copyright (c) 2000, 2013, 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> \q
Bye

mysql -h 127.0.0.1 -u root -p
Enter password:
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (146)
root@RuterWawa:/tmp/home/root#

loguję się również HeidiSQL z windy.

jeśli w my.cnf jest #bind-address =... lub bind-address = 0.0.0.0 to na ruterku mogę się zalogować w sposób dowolny :
-h localhost,
-h 127.0.0.1,
-h IP_mojeWAN,
loguję się wównież HeidiSQL z windy.

bind-address=0.0.0.0 mi nie pasuje, bo można na MySQL'a włazić skąd się chce, pokazuję tylko, że logowanie następuje poprawnie.
Nie ukrywam, że chciałbym się dowiedzieć dlaczego na ruterku nie mogę się zalogować -h 127.0.0.1 ? chociaż wydaje się, że powinno się dać.
Proszę o wyjaśnienie.
 
shibby
a flusha uprawnień zrobiles?

na 127.0.0.1 możesz nie moc się zalogować bo Mysql nie słucha na tym interfejsie. Bind na 0.0.0.0 nie oznacza że można się zewsząd zalogować tylko ze Mysql słucha na wszystkich intersejsach, w tym i na wanie. Z drugiej jednak strony iptables nie pozwoli na połączenia z zewnątrz - przynajmniej nie w domyślnej konfiguracji
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology SA6400
VM VPS: Debian, WWW, Home Assistant
Switch: Netgear MS510TXPP
Switch: Ubiquiti USW-Flex-mini - szt. 2
Wi-Fi: Ubiquiti U6-Lite - szt. 2
 
cek149
tak, flush uprawnień robiłem zawsze po ich zmianie.

to są aktualne dane :
mysql> select User,Host from user where User='root'
+------+-----------+
| User | Host |
+------+-----------+
| root | % |
| root | 127.0.0.1 |
| root | localhost |
+------+-----------+

Zastanawia mnie dlaczego nie mogę się zalogować
mysql -u root -h 127.0.0.1 -p kiedy bind-address = 192.168.210.1,
a kiedy bind-address = 0.0.0.0 wtedy mogę się zalogować
mysql -u root -h 127.0.0.1 -p
zmienia się tylko bind-address (oczywiście po zmianie - mysql restart)

Połączony z 24 luty 2014 19:26:23:
kiedy bind-address = 192.168.210.1 wtedy MySQL słucha TYLKO na tym adresie i loguję się
mysql -u root -h localhost -p
to wywołanie przechodzi przez adres 192.168.210.1,
a loguję się
mysql -u root -h 127.0.0.1 -p
to wywołanie przechodzi inną drogą.

Połączony z 24 luty 2014 19:29:09:
jeśli tak jest, to root dla 127.0.0.1 nie ma tu zastosowania i jest zbędne ?
Edytowany przez cek149 dnia 24-02-2014 19:29
 
Przejdź do forum
Zaloguj
Wprowadź adres e-mail lub nazwę użytkownika

Hasło



Nie masz jeszcze konta? Zarejestruj się.

Zapomniałeś/aś hasła?
Aktualnie online
· Gości online: 96

· Użytkowników online: 0

· Łącznie użytkowników: 24,115
· Najnowszy użytkownik: Ja
Czat
Musisz się zalogować, aby opublikować wiadomość.

Maniek91PL
06-11-2024 22:37
dzięki !Grin

maxikaaz
29-10-2024 14:27
@Maniek91PL - Administration=> Admin Access, i tam masz "Allow Wireless Access" do zaznaczenia

Maniek91PL
26-10-2024 22:07
siemka! ktoś przypomni co się ustawiało jeśli nie mogę wejść od strony wifi do tomato? od lan działa

overflow2
04-10-2024 17:34
Kupowałem Asusy n10u albo n12d1 ale nie widzę ich, chyba już nie produkują, Chodzi o coś nowego i taniego. Transfery niewielkie.

maxikaaz
04-10-2024 09:38
@overflow2 patrząc po dostępności funkcji w nowych kompilacjach, to chyba nawet WRT54G/GL jeszcze ma OpenVPN, albo jakiś odpowiednik... zależy, na jakie transfery liczysz.

overflow2
30-09-2024 20:53
Jaki aktualnie najtańszy router do tomato do openvpn?

maxikaaz
27-07-2024 15:07
@servee - na początek router do rozebrania i obejrzenia, ciężko wróżyć tak tylko po objawach

maxikaaz
27-07-2024 14:55
@servee - cały kontroler nie pada tak sobie z powodu "zbiegu okoliczności",
więc prawdopodobnie gdzieś przepięcie.

servee
25-07-2024 13:33
@maxikaaz: działało, aż pewnego pięknego dnia przestało działać. W tym dniu była też burza, ale to raczej zbieg okoliczności.

maxikaaz
25-07-2024 11:38
@servee - o ile problem jest w obrębie samych wyjść (dławiki, warystory), to naprawialne, ale jeśli w samym SoC - to nienaprawialne ze względu na koszta. A co było przyczyną?

95,544,165 unikalnych wizyt