Tag: phpMyAdmin

Cum se crează o bază de date în cPanel

noiembrie 2, 2015 Tutoriale Wordpress 2 comments

cPanel este o aplicație Linux pentru gestionarea online a site-urilor web la nivel de server. Aplicația, de tip control panel, are o suită de miniaplicații care permit crearea de conturi FTP, de baze de date MySQL sau PostgreSQL, adrese de email, dar are și multe alte funcționalități cum ar fi antispam, liste de discuții, statistici, securizarea directoarelor, backup fișiere și baze de date, subdomenii sau domenii parcate, respectiv adăugate, redirecturi și chiar instalarea directă de aplicații web: WordPress, Joomla, Drupal, PrestaShop, Open Cart și multe altele, depinde și de firma de găzduire și de pachetul de hosting ales.

Pentru a crea o bază de date MySQL, necesară pentru instalarea WordPress-ului, după logare, căutați simbolul MySQL sau în câmpul de căutare scrieți MySQL. Grupul de iconuri este următorul:

mysql-cpanel-1

Click pe butonul MySQL Databases și se va deschide un formular complex în care se va putea crea baza de date și utilizatorul bazei de date.

1. Crearea bazei de date MySQL pentru WordPress

mysql-cpanel-2

În prim aparte a formularului, este zona de creare a bazei de date. Implicit numele bazei de date va avea prefixul contului de hosting, în acest caz bloop_ după care se poate introduce numele dorit, în general numele site-ului sau ceva legat de WordPress, de exemplu: wpsitemeu. După apăsarea butonului Create Database, numele final va fi bloop_wpsitemeu. Notați undeva numele bazei de date.

mysql-cpanel-3

Click pe butonul Go Back și se poate trece la următorul pas.

2. Crearea utilizatorului bazei de date

În partea de jos a formularului este zona MySQL Users având câmpurile: username, password, password again și un indicator de putere a parolei. Parola este bine să fie cât mai complexă, adică să conțină litere mici, litere mari, cifre și alte semne. Dacă nu sunteți siguri de parolă folosiți butonul Password Generator care va genera automat o parolă puternică. La fel ca la pasul anterior notați parola.

mysql-cpanel-4

3. Asocierea utilizatorului la baza de date MySQL

Ultimul pas este să asociați utilizatorul anterior creat la baza de date în care veți instala WordPress-ul. În același formular este secțiunea Add user To Database, ca în figura de mai jos:

mysql-cpanel-5

Selectați userul și baza de date apoi click pe Add.

mysql-cpanel-6

Aici, pentru a nu complica lucrurile, trebuie bifat ALL PRIVILEGES. Apoi clic pe Make Changes -> Go Back și gata baza de date. Cu datele introduse, adică cu: numele bazei de date, numele utilizatorului și parola se poate trece la instalarea WordPress-ului fie folosind funcționalitatea automată din cPanel, fie manual folosind un client FTP pentru copierea fișierelor.

Cum se poate schimba rolul unui user în WordPress

octombrie 19, 2012 Tutoriale Wordpress, Wordpress Tips & Tricks no comments

Acest mic tutorial WordPress este un pic complicat și înfricoșător.

Pornim de la necesitatea de a schimba unele drepturile (roles) predefinite la un tip de utilizator. Voi exemplifica prin a schimba la Author dreptul de a publica un articol. Practic nu mai vreau ca autorul să poată publica, așa cum implicit poate, vreau doar să poată scrie și să lase publicarea pe seama Adminstratorului.

Întrebarea firească ar fi de ce nu utilizez utilizatorul de tip Contributor. Conform drepturilor utilizatorilor WordPress acesta nu poate publica un articol. Da, așa este, însă contributorul nu poate uploada fișiere spre deosebire de author care poate.

Schimbarea de drepturi o vom vedea în caseta de Publicare din dreapta.

Cum se poate schimba rolul unui user în WordPress

Schimbarea de drepturi o voi face fără a apela la pluginuri. Vom schimba direct din baza de date, însă nu vă fie frică, cu atenție și cu un backup la îndemână nimic nu se va strica.

Pașii necesară schimbării drepturilor autorului

1. Folosind phpMyAdmin căutați în baza de date tabela “wp_options”. Aici intervine prima observație: dacă ați fost scrupuloși la instalarea wordpress-ului, prefixul tabelei nu mai este wp_ acest prefix fiind acum prefixul pus la instalare în formularul de instalare. Dacă nu-l mai știți căutați-l în fișierul config.php. În cazul nostru prefixul este cim_

$table_prefix  = 'cim_';

2. În coloana “option_name” căutați câmpul “wp_user_roles”. La fel ca mai sus, dacă ați schimbat prefixul tabelelor, ceea ce este foarte bine, câmpul căutat va avea numele noul_prefix_user_roles. În cazul acesta “cim_user_roles”. Acestă înregistrare o puteți găsi rapid folosind următoare comandă SQL:

SELECT * FROM wp_options WHERE option_name="wp_user_roles"

unde wp_ va fi înlocuit cu prefixul tabelelor.

3. Edităm această înregistrare și copiem valoarea din câmpul “optin_value”. Acesta va arăta aproximativ ca mai jos:

a:5:{s:13:"administrator";a:2:{s:4:"name";s:13:"Administrator";s:12:"capabilities";a:71:{s:13:"switch_themes";b:1;s:11:"edit_themes";b:1;s:16:"activate_plugins";b:1;s:12:"edit_plugins";b:1;s:10:"edit_users";b:1;s:10:"edit_files";b:1;s:14:"manage_options";b:1;s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:6:"import";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:8:"level_10";b:1;s:7:"level_9";b:1;s:7:"level_8";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;s:12:"delete_users";b:1;s:12:"create_users";b:1;s:17:"unfiltered_upload";b:1;s:14:"edit_dashboard";b:1;s:14:"update_plugins";b:1;s:14:"delete_plugins";b:1;s:15:"install_plugins";b:1;s:13:"update_themes";b:1;s:14:"install_themes";b:1;s:11:"update_core";b:1;s:10:"list_users";b:1;s:12:"remove_users";b:1;s:9:"add_users";b:1;s:13:"promote_users";b:1;s:18:"edit_theme_options";b:1;s:13:"delete_themes";b:1;s:6:"export";b:1;s:24:"NextGEN Gallery overview";b:1;s:19:"NextGEN Use TinyMCE";b:1;s:21:"NextGEN Upload images";b:1;s:22:"NextGEN Manage gallery";b:1;s:19:"NextGEN Manage tags";b:1;s:29:"NextGEN Manage others gallery";b:1;s:18:"NextGEN Edit album";b:1;s:20:"NextGEN Change style";b:1;s:22:"NextGEN Change options";b:1;}}s:6:"editor";a:2:{s:4:"name";s:6:"Editor";s:12:"capabilities";a:38:{s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;s:24:"NextGEN Gallery overview";b:1;s:19:"NextGEN Use TinyMCE";b:1;s:21:"NextGEN Upload images";b:1;s:22:"NextGEN Manage gallery";b:1;}}s:6:"author";a:2:{s:4:"name";s:6:"Author";s:12:"capabilities";a:14:{s:12:"upload_files";b:1;s:10:"edit_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:4:"read";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;s:22:"delete_published_posts";b:1;s:24:"NextGEN Gallery overview";b:1;s:19:"NextGEN Use TinyMCE";b:1;s:21:"NextGEN Upload images";b:1;s:22:"NextGEN Manage gallery";b:1;}}s:11:"contributor";a:2:{s:4:"name";s:11:"Contributor";s:12:"capabilities";a:9:{s:10:"edit_posts";b:1;s:4:"read";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;s:24:"NextGEN Gallery overview";b:1;s:19:"NextGEN Use TinyMCE";b:1;s:21:"NextGEN Upload images";b:1;s:22:"NextGEN Manage gallery";b:1;}}s:10:"subscriber";a:2:{s:4:"name";s:10:"Subscriber";s:12:"capabilities";a:2:{s:4:"read";b:1;s:7:"level_0";b:1;}}}

O nebunie!

Să vedem ce înseamnă aceste cifre și litere.

  • a:5 – listera a urmată de două puncte și o cifra înseamnă că urmează să fie declarate un număr de elemente, exemplu: a:5 se citește “urmează să fie declarate cinci elemente”
  • s:6:”author” – litera s urmată de două puncte și o cifra apoi de alte două puncte și între ghilimele de un șir de cuvinte însemnă este declarația unei proprietăți (element) din mulțimea definită prin “a” două puncte, exemplu: s:6:”author” se citește string de lungime 6 caractere author
  • b:1 este un element boolean: true sau false

Aceste trei tipuri de declarații se grupează îm matrici de elemente.

4. Păstrăm varianta originală și căutăm după s:6:”author” și vom găsi ceva de genul:

s:6:"author";
a:2:
{
s:4:"name";s:6:"Author";s:12:"capabilities";
a:10:
{
s:12:"upload_files";b:1;s:10:"edit_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:4:"read";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;s:22:"delete_published_posts";b:1;
}
}

Adică: stringul author are două matrici de elemente, prima conține name, auhor și capabilities care la rândul său este o matrice de 14 elemente cu drepturile autorului: upload_files, edit_posts, edit_published_posts, publish_posts, read și altele.

Deja am găsit locul în care este definit dreptul de a publica articolul de către “author”.

5. Întreg șirul ce definește dreptul autorului de a publica direct un post este: “s:13:”publish_posts”;b:1″. Acest șir trebuie șters după care salvăm înregistrarea și vedem rezultatl în editarea unui post unde în loc de Publish vom avea butonul de Submit to Review ca în figura de mai sus.

6. Concluzii.

  • în această înregistrare adaugă și pluginurile drepturi, deci matricile de mai sus pot fi diferite, mai mari nu mai mici.
  • întotdeauna faceți backup
  • folosiți metoda: modifică-testează-modifică-testează-publică

PS folosiți metoda asta doar dacă nu aveți încotro 🙂

Cum pot exporta sau importa baza de date MySQL folosind SSH?

octombrie 19, 2012 Wordpress Tips & Tricks 1 comment

Nu de puține ori am fost pus în situația de a transfera baze de date mari, de peste 100MB și chiar de peste 1GB, de pe un server pe un alt server.

Pentru bazele de date mai mici se poate folosi utilitarul phpMyAdmin, fie direct din interfața de administrare a domeniului, fie din cPanel sau Plesk sau altă aplicație de management a domeniului (cum sunt cele proprietare de la Godaddy.com sau 1and1.com), fie instalând temporar un phpMyAdmin special pentru transfer. E o varianta bună, însă depinde foarte mult de setările serverului care poate sau nu să accepete fișiere de mari dimensiuni, fisișiere arhivate sau timpi lungi de execuție.

Varianta cea mai bună de export – import baze de date este cea care folosește o conexiune SSH și comenzi mysql.

Cum pot exporta sau importa baza de date MySQL folosind SSH?

Export MySQL database folosind SSH

Exemplul de mai jos este pentru salvarea întregii baze de date într-un fișier .sql care va putea fi descărcat via FTP pe calculatorul local.

mysqldump -u username -p dbname > dbname.sql

unde:

– username este numele de utilizator al bazei de date
– dbname este nu mele bazei de date
– dbname.sql este fișierul final

După execuția comenzii se va cere parola de acces la baza de date.

Import MySQL database folosind SSH

Importul se face într-o baza de date gata creată. Deci primul pas va fi crearea bazei de date și notarea informațiilor necesare importului: numele bazei de date, numele utilizatorului și parola.

Folosind FTP se urcă fișierul în root-ul domeniului și se execută comanda. Atenție, comanda cum este scrisă mai jos se va executa acolo unde este fișierul dbname.sql.

mysql -p -u username dbname < dbname.sql

unde:

– username este numele de utilizator al bazei de date
– dbname este numele bazei de date
– dbname.sql este fișierul ce va fi importat

După execuția comenzii se va cere parola bazei de date.

Tools:

Pentru FTP eu folosesc FileZilla.
Pentru SSH filosesc PuTTY.