Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

Uraaa... MySQL 4.1.7... este de ieri 27-OCT-2004 RECOMENDED!
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> MySQL
Subiectul anterior :: Subiectul următor  
Autor Mesaj
Radical



Data înscrierii: 16/Feb/2004
Mesaje: 327
Locație: Bucuresti

Trimis: Joi Oct 28, 2004 2:59 pm    Titlul subiectului: Uraaa... MySQL 4.1.7... este de ieri 27-OCT-2004 RECOMENDED!  

Pentru ca eu astept versiunea 4.1.xx de mult prea mult timp sunt mai mult decat incantat !

Am sa fac mai jos o trecere in revista a noutatilor considerate de mine importante de la versiunea 4.0 !
(evident in RO... originalele in EN le gasiti de la http://dev.mysql.com/doc/mysql/en/News-4.1.1.html pana la http://dev.mysql.com/doc/mysql/en/News-4.1.7.html schimband ultima cifra din url !)

MySQL 4.1.0
- Suport pentru CHARSET si COLLATION... care pana acuma lipsea cu desavarsire... se pot specifica pe baza de date... pe tabel sau chiar pe coloana !
- Functii noi CHARSET() si COLLATION() care intorc setul de caractere respectiv subsetul de caractere
- Posibilitatea de a seta o coloana la valoarea default folosind DEFAULT(col_name)
- verificarea pe DATE/DATETIME este putin mai stricta
- server side help pentru functiile MySQL
- replicarea se face corect daca se foloseste RAND() si mai nou merge si cu variabile definite de utilizator @var.
- DROP TEMPORARY TABLE doar sterge tabelul temporar... nu face termina tranzactia
- coloanele TIMESTAMP sunt acum SQL compatibile... si deci nu mai sunt suportate coloane TIMESTAMP de lungimi diferite si sunt returnate in formatul 'YYYY-MM-DD HH:MM:SS'
- multiple cereri... acum puteti trimite catre server in aceeasi request mai multe cereri SQL folosind ';' ca separator...
- pentru compatibilitate cu alte baze de date la cereri SELECt care nu au nevoie de un tabel se poate adauga 'FROM DUAL' pentru a fi compatibil...
- coloanele specificate CHAR sau VARCHAR mai mari de 255 sunt convertite automat in BLOB respectiv TEXT
- nou cuvand rezervat DIV pentru ca au fost introdusi operatorii MOD si DIV
- Subqueries: SELECT * from t1 where t1.a=(SELECT t2.b FROM t2) !!!MORTAL!!!!
- Tabele derivate: SELECT a.col1, b.col2 FROM (SELECT MAX(col1) AS col1 FROM root_table) a, other_table b WHERE a.col1=b.col1;
- suport UTF8 ... complet
- comentariu pentru fiecare coloana... care pot fi vazute cu SHOW FULL COLUMNS FROM tbl_name
- ALTER DATABASE... asta da... de mult dorita !
- suport pentru GIS vezi: http://dev.mysql.com/doc/mysql/en/Spatial_extensions_in_MySQL.html
- SHOW [COUNT(*)] WARNINGS - pentru a obtine ultimele erori... nu numai ultima eroare ca pana acuma !
- la CREATE TABLE ... SELECT poti specifica tipul coloanei in noul tabel: CREATE TABLE foo (a TINYINT NOT NULL) SELECT b+1 AS a FROM bar;
- functie noua VARIANCE
- CREATE TABLE new_table LIKE existent_table - creaza mult mai repede un tabel...

MySQL 4.1.1
- multiple tablespaces pentru innoDB
- optiunea IGNORE pentru DELETE
- MATCH ... AGAINST( ... WITH QUERY EXPANSION)
- full text suporta acuma UTF8 si nu numai
- replicarea prin SSL... excelent pentru cei care folosesc replicare!
- coloanele CHAR, VARCHAR, si TEXT sunt masurate in caractere nu in bytes ca pana acuma !
- LIMIT nu mai accepta valori negative
- ATENTIE - parolele au acuma 41 caractere... atentie mare cu PHP... caci poti aparea erori... "Client... does not support authentication... consider upgradin client"
- functii noi: ADDTIME(), DATE(), DATEDIFF(), LAST_DAY(), MAKEDATE(), MAKETIME(), MICROSECOND(), SUBTIME(), TIME(), TIMEDIFF(), TIMESTAMP(), UTC_DATE(), UTC_TIME(), UTC_TIMESTAMP(), si WEEKOFYEAR()
- ANALYZE TABLE, OPTIMIZE TABLE, REPAIR TABLE, si FLUSH sunt memorate in binary-log si deci replicate si ele.

MySQL 4.1.2
- CURRENT_TIMESTAMP poate fi valoare default pentru coloane de tip TIMESTAMP... astfel coloana (un per tabel) se modifica singura la modificarea randului. Pana acuma prima coloana de tip TIMESTAMP NOT NULL fara o valoare DEFAULT dintr-un tabel avea acest comportament... acuma puteti opri acest comportament.. .sau chiar sa il mutati pe o coloana ulterioara !
- suport pentru seturi de caractere extins si pe InnoDB
- avem un nou maximum petnru indecsi... max 64 indecsi per tabel

MySQL 4.1.3
- prepared statements...
- Subseturi de caractere (collations) pentru multe altele si inclusiv RO. Uraaaaaaa ! Acuma facem diferenta intre aâă sau intre șs sau intre țt...
- suport pentru time-zone

MySQL 4.1.6
- TIMESTAMP poate memora NULL... dar trebuie specificat clar... petnru ca spre deosebire de majoritatea aceste coloane nu iau default valoare NULL

MySQL 4.1.7
RECOMENDED de ieri 27 oct 2004.

In linii mari avem:

* Suport pentru subqueries si tabele derivate
* Optimizari viteza
- protocol server/client mai rapid
- index BTREE petnru tabele HEAP tables
* Functionalitati noi
- CREATE TABLE tbl_name2 LIKE tbl_name1
- OpenGIS
- Replicari prin SSL
* Implementari de standarde si compatibilitati la migrare
- SHOW WARNINGS
* International si/sau Local
- Suport Unicode prin utf8 si ucs2
- Character sets can be defined per column, table, and database. This allows for a high degree of flexibility in application design, particularly for multi-language Web sites.
- time-zone
* Usability enhancements
- comenzi HELP oferite de server
- in mysql_query() se pot rula mai multe cereri Ex: mysql_query("CREATE TABLE x SELECT * FROM y WHERE k>5; SELECT * FROM x;");
- o noua sintaxa pentru INSERT ... ON DUPLICATE KEY UPDATE
- o noua functie GROUP_CONCAT()
- un nou modificator pentru GROUP BY "WITH ROLLUP" care face chestii super beton (il gasitit la sectiunea 13.9.2 GROUP BY Modifiers) !
Sus  
cristi



Data înscrierii: 26/Mai/2002
Mesaje: 270
Locație: Timisoara

Trimis: Joi Oct 28, 2004 3:13 pm    Titlul subiectului:  

Multumim de review Radical
Sus  
ExcalIbvr



Data înscrierii: 02/Mai/2004
Mesaje: 1107
Locație: Oradea

Trimis: Vin Oct 29, 2004 9:02 am    Titlul subiectului:  

Wow, excelent! Pe langa toate astea exista suport pt. GIS!

Ati lucrat pana acum cu MySQL 4.1.xx beta? Am vazut ca is un pic diferite functiile PHP prin care se face legatura cu MySQL: mysql_query devine mysqli_query de exemplu....

Va rog sa detaliati un pic pe tema asta...
Multumesc!
Sus  
Radical



Data înscrierii: 16/Feb/2004
Mesaje: 327
Locație: Bucuresti

Trimis: Vin Oct 29, 2004 10:40 am    Titlul subiectului:  

cristi: cu placere !
ExcalIbvr: Este o neintelegere care cred eu o sa devina 'standard'...

Functiile PHP nu se schimba... ci apar altele noi care intr-un fel le dubleaza pe cele vechi...

Vechea extensie ramane si apare una noua sub numele mysqli... adica 'mysql improved'. Ramane pentru ca mai sunt site-uri care folosesc servere MySQL mai batranele... asa ar fi fost si al meu care ramanea si acuma pe un 3.32.xx daca nu faceam urat la sysAdmin... si pana la urma tot eu am instalat eu 4.0.18... si de Luni iau si locul sysAdmin-ului :lol: :D :twisted: ...

Aceasta noua extensie modifica mai multe chestii... iti ofera acces din PHP la muuuuult mai multe functii API ale MySQL-ului... deci daca nu sunt documentate sau daca vrei documentatia functiilor din PHP... te poti uita chiar in manualul MySQL la sectiunea 'MySQL API' pentru ca de fapt ele exista in MySQL si PHP doar le apeleaza... evident cu modificari (cast pe tipuri... si altele... datorita limitarilor PHP).

ATENTIE ! pentru vechea extensie... cel mai des intalnit mesaj de eroare o sa fie
"Client does not suport authenitfication protocol requested by server; consider upgrading MySQL client"

Motivatia... e simpla... extensia MySQL si (din pacate si) extensia MySQLi folosesc clienti vechi, prima un client MySQL 3.xx si cea de a doua 4.0.xx ... intre timp cei de la MySQL au schimbat outputul functiei PASSWORD din MySQL.

Fix: in my.ini sau my.cnf la sectiunea [mysqld] adaugati
old-passwords

Reporniti serverul conectati-va la MySQL folosind clientul bundeled... si va uitati in baza de date mysql la tabelul user si pentru fiecare utilizator urmariti parola... daca incepe cu * trebuie sa o schimbati(resetati) folosid functia OLD_PASSWORD.
Ex: UPDATE user SET Password=OLD_PASSWORD('NewPassword') WHERE ....;

MULTA BAFTA !

Eu am folosit MySQL 4.1.6 (la-m instalat pe PC in ziua in care 4.1.7 devenea recomended... fara sa stiu asta !) si PHP 5.0.2 !
Merge excelent !
....................... Sau cel putin eu sunt multumit !
Sus  
ExcalIbvr



Data înscrierii: 02/Mai/2004
Mesaje: 1107
Locație: Oradea

Trimis: Vin Oct 29, 2004 11:21 am    Titlul subiectului:  

Ah, ok. Multumesc pentru enlightment, Radical!

Vom face trecerea... :D
Sus  
emy75



Data înscrierii: 10/Noi/2004
Mesaje: 8

Trimis: Vin Dec 17, 2004 8:57 pm    Titlul subiectului:  

Nu reusesc sa pornesc serverul cu "old-passwords"
Am pus in my.ini, dar cand creez un user nou tot cu parola din asta noua il creeaza.
Cum pot face sa pot adauga noi useri (cu PhpMyAdmin) cu parola veche?
Sau cum pot face sa ma pot conecta din PHP la o BD pentru un user creat care are o parola noua? Sunt alte comenzi in PHP pentru conectare sau trebuie neaparat sa folosesc tot "old-passwords"?
Sus  
Radical



Data înscrierii: 16/Feb/2004
Mesaje: 327
Locație: Bucuresti

Trimis: Vin Dec 17, 2004 9:28 pm    Titlul subiectului:  

emy75 a scris: Cand creez un user nou tot cu parola din asta noua il creeaza. Cum pot face sa pot adauga noi useri (cu PhpMyAdmin) cu parola veche ? Sau cum pot face sa ma pot conecta din PHP la o BD pentru un user creat care are o parola noua?

Sunt aceleasi comenzi doar ca functia... pentru consecventa este OLD_PASSWORD... deci:

UPDATE user SET password=OLD_PASSWORD('parola_ta') WHERE user='userul_respectiv';

Apoi o sa mearga !
Bafta !
Sus  
emy75



Data înscrierii: 10/Noi/2004
Mesaje: 8

Trimis: Vin Dec 17, 2004 10:26 pm    Titlul subiectului:  

Am reusit sa pornesc serverul cu "old-passwords" si merge OK.
Totusi, cum ma pot conecta la o BD cu noua parola din MySQL 4.1.7?
Sunt alte comenzi in PHP pentru conectare la BD sau trebuiesc adaugate noi optiuni in "php.ini" si "my.ini"?
Nu cred ca au facut degeaba noua parola care pana acum nu am reusit sa o folosesc. Sau poate este nevoie de PHP 5?
Sus  
aurelian



Data înscrierii: 01/Iun/2003
Mesaje: 833
Locație: Bucuresti

Trimis: Sâm Dec 18, 2004 10:32 am    Titlul subiectului:  

http://ro2.php.net/manual/en/ref.mysqli.php
Sus  
dbudai



Data înscrierii: 08/Mar/2005
Mesaje: 9

Trimis: Mar Mar 08, 2005 6:02 pm    Titlul subiectului:  

interesant MySQL 4.1.X, dar inca nu merge pe PHP 4.3.X si nici nu stie Stored Procedures asa ca inca e in urma fata de PostgreSQL in ceea ce priveste feaures, si dupa mine versiunile noi apar cam incet
Sus  
Radical



Data înscrierii: 16/Feb/2004
Mesaje: 327
Locație: Bucuresti

Trimis: Mie Mar 09, 2005 10:33 am    Titlul subiectului:  

Cu mici tweaks merge excelent pe PHP 4.3.x.

Faptul ca nu stie una si alalalt site alta... este relevant numai in functie de ce vrei a faci cu respectivul server de baze de date...

Take a look at http://dev.mysql.com/tech-resources/features.html ... acolo poti face un "feature comparison"...

Eu unul sunt mai mult decat multumit ! :D
Sus  
aurelian



Data înscrierii: 01/Iun/2003
Mesaje: 833
Locație: Bucuresti

Trimis: Mie Mar 09, 2005 10:53 am    Titlul subiectului:  

dbudai a scris: si nici nu stie Stored Procedures asa ca inca e in urma fata de PostgreSQL in ceea ce priveste feaures, si dupa mine versiunile noi apar cam incet
Foloseste PostgreSQL atunci.
Nimeni nu te obliga sa folosesti mysql.
Sus  
dbudai



Data înscrierii: 08/Mar/2005
Mesaje: 9

Trimis: Mie Mar 16, 2005 12:52 pm    Titlul subiectului:  

Pai nu am nimic cu MySQL, il foloses de peste 2 ani deja, dar nu-mi plac cateva lucruri, unul dintre ele fiind timpul mare necesar aparitiei unei versiuni noi care sa contina ceva "nou" (nou pentru MySQL) si util

Legat de comparatie, ei na, http://dev.mysql.com/ iti spune ceva ? eu nu prea cred ca poate fi obiectiva
Sus  
Radical



Data înscrierii: 16/Feb/2004
Mesaje: 327
Locație: Bucuresti

Trimis: Mie Mar 16, 2005 1:30 pm    Titlul subiectului:  

dbudai a scris: Legat de comparatie, ei na, http://dev.mysql.com/ iti spune ceva ? eu nu prea cred ca poate fi obiectiva Nu pricep... poftim alt link: http://dev.mysql.com/tech-resources/crash-me.php?res_id=1280 face o comparatie intre MySQL/MyISAM+InnoDB cu PostgreSQL... nu zice ca unul e mai bun si altul e mai prost... arata clar ce poate unul si ce poate altul... arata clar ala stie de MONEY ala nu stie MONEY... concluzia ramane tot pentru cel care vede comparatia...

De ce sa nu fie obiectiva... ? Crezi ca aia de la MySQL AB nu pot instala un PostgreSQL si nu pot rula niste teste pe el ?

Dar totusi pana la urma... nu se ajunge la a pune in discutie obiectivitatea... pentru ca e un tabel de "feature comparison"...
gaseste ceva neadevarat in acel tabel cu privire la PostgreSQL...
................si eu am a recunosc ca nu au fost obiectivi...
Sus  
dbudai



Data înscrierii: 08/Mar/2005
Mesaje: 9

Trimis: Mie Mar 16, 2005 1:47 pm    Titlul subiectului:  

Pai de ce spun ca nu poate fi o parere obiectiva,

respectivul link e pe siteul MySQL, iar pentru a vinde un produs deobicei incerci sa-l faci sa arate cat mai bine fata de concurenta si asta implica sa nu spui adevarul tot timpul (cateodata chiar sa si minti).

Acuma nu am sa ma apuc sa fac toate testele, nici nu am cum, pentru toate functiile, dar problema de features e legata de chestii mai des folosite si mai utile, Stored Procedures, Views, Subselecturi, Foreign keys etc., lucruri care lipses, sau sunt implementate partial.
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> MySQL
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community