03 Maja 2024 20:41:09
Nawigacja
· Strona Główna
· Forum

· Tomato by Shibby
· FreshTomato


Wątki na forum
Najnowsze dyskusje
· nju swiatło pytania
· konfiguracja router ...
· Asus TUF-AX3000_V2 p...
· Jaki router kupić? ...
· Szukam zaproszenia n...
· [Howto] Xpenology na...
· dodatkowe złącza s...
· RT-N18U - nie można...
· [MOD] Tomato64 (x86-64)
· Firewall nie zawsze ...
· [MOD] FreshTomato-AR...
· Optware na CIFS
· RT-AX56U - Status kl...
· [MOD] FreshTomato-MI...
· Multiroom N z wykorz...
· [S] Asus RT-AC68U E1
· [S] ASUS RT-AC68U
· Rozłączanie klient...
· serwer VPN za wan'em
· Przejscie z dyndns f...
Najpopularniejsze obecnie wątki
· konfiguracja rout... [10]
· nju swiatło pytania [4]
Ankieta
Jaki procesor posiada twój router?

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

Broadcom ARM
Broadcom ARM
52% [216 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: 416
Musisz zalogować się, aby móc zagłosować.
Rozpoczęto: 02/02/2015 09:38
Twoje IP
18.119.163.171
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: i7-7700T, 64GB RAM, 3x2TB SSD, 1x1TB SSD, 512GB NVMe, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology DS920+
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: i7-7700T, 64GB RAM, 3x2TB SSD, 1x1TB SSD, 512GB NVMe, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology DS920+
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: i7-7700T, 64GB RAM, 3x2TB SSD, 1x1TB SSD, 512GB NVMe, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology DS920+
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: i7-7700T, 64GB RAM, 3x2TB SSD, 1x1TB SSD, 512GB NVMe, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology DS920+
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: 5

· Użytkowników online: 0

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

Adooni
26-04-2024 14:41
jaki router RMerlin nie pociagne, tomato/ openwrt tak non hilink,

tamtosiamto
23-04-2024 12:35
modem bez smilocka?

man1
22-04-2024 23:27
Czy próbował ktoś uzywac karty voice (z nolimit GB) od tmobile w modemie /routerze? Da się jakoś to zrobić? Bo u mnie neta brak. E3372 Sad

tamtosiamto
31-03-2024 12:54
Wesolego jajka wszytskim forumowiczom Grin

tamtosiamto
28-03-2024 23:24
tak, tak zgadza sie, ale ja pytam o wykluczenie noda na guest network w first set, i to nie dziala

Adooni
24-03-2024 13:16
Guest network is currently designed to allow the first set of each band (2.4G, 5G, 5G-1) available to the AiMesh node

tamtosiamto
24-03-2024 03:03
ale w 1 jest opcja do wyboru - dla calej sieci albo rutera only i wlasnie o tym mowie, ze nie dziala

Adooni
23-03-2024 16:31
w dokumencie asusa jest ze wlasnie dla 1 ma dzialac na nodach tez

tamtosiamto
23-03-2024 15:39
tak, ale nie zmienia to faktu, ze w pierwszej nie dziala wylaczanie aimesh dla goscinnej( a powinno), czyli jest jakis bug. Mam start soft, bo to dsl-ac68 ktory nie jest juz updateowany

Adooni
22-03-2024 18:07
nie, 1 wsza bedzie wszedzie trzeba 2ga zrobic dla kazdego pasma te nie sa przenoszone

71,546,265 unikalnych wizyt