Mysql
Mysql is a handy database which is easy to manage using the phpmyadmin application. Using phpmyadmin requires HTTP server software as well for instance Apache2 or Nginx and Php5.
Sisällysluettelo
Installation
aptitude install mysql-server
Anna mysql root-käyttäjän kirjautumisen salasana asennuksen yhteydessä. Älä unohda salasanaa. Voit luoda myöhemmin lisää käyttäjätilejä ja vaihtaa salasanoja.
Voit käyttää mysql tietokantaa ilman phpmyadminia asentamalla
aptitude install mysql-client
MySQL Konfiguraatio
Konfigurointi tiedosto löytyy Ubuntussa ja Debianissa:
/etc/mysql/my.cnf
MySQL palvelimen portti jota se kuuntelee. Oletuksena se on 3306.
[client] port 3306
Osoite jota vain kuuntelee, # risuaita eteen niin kuuntelee kaikkia IP-osoitteita.
bind-address = 127.0.0.1
Komentorivi
Mysql tietokantaa voi hallita komentorivillä tai kätevästi phpmyadmin websivu ohjelmistolla.
Voit muodostaa komentorivi näkymään yhteyden:
mysql -u root -p
Anna mysql root käyttäjän salasana
Käyttäjätilit
Uuden kättäjätilin voit luoda komennolla:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
Anna oikeudet uudelle käyttäjätilillä. Seuraava komento antaa lähes kaikki oikeudet paitsi muokata käyttäjätilejä.
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
Tämä komento antaa täydelliset oikeudet käyttäjätileille ja tietokantonnoille.
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'%' WITH GRANT OPTION;
Vahvista oikeudet:
FLUSH PRIVILEGES;
Lisää käyttäjätilille tiettyjä oikeuksia:
GRANT [type of permission] ON [database name].[table name] TO ‘[username]’@'localhost’;
Poista käyttäjätililtä oikeuksia:
REVOKE [type of permission] ON [database name].[table name] FROM ‘[username]’@‘localhost’;
Poista käyttäjätili
DROP USER ‘demo’@‘localhost’;
Master ja Slave
MySQL palvelimen asynkroninen synkronointi Masterista Slave palvelimiin.
Master
Tämä tulee Master palvelimen konfiguraatioon:
nano /etc/mysql/my.cnf
Lisää nämä mysqld loppuun
[mysqld] ... log-bin=mysql-bin server-id = 1 auto_increment_increment = 10 auto_increment_offset = 1
Muodosta yhteys MySQL palvelimeen:
mysql -u root -p
Luodaan käyttäjätili replicant, kirjautumisoikeudella mistä tahansa % ja salasanalla password.
create user replicant@'%' identified by 'password';
Määritetään käyttäjälle oikeudet:
GRANT SELECT, PROCESS, FILE, SUPER, REPLICATION CLIENT, REPLICATION SLAVE, RELOAD ON *.* TO replicant@'%'; Flush Privileges;
Slave
Tämä tulee Slave palvelimen konfiguraatioon:
Muodosta yhteys tietokantapalvelimeen ja anna Master palvelimen IP-osoite, käyttäjätunnus ja salasana.
HANGE MASTER TO MASTER_HOST='10.10.10.100', MASTER_USER='replicant', MASTER_PASSWORD='password';
Käynnistä Slave palvelin
Start slave;
Varmista että kaikki toimii:
show slave status\G
Molempiin suuntiin synkroidessasi, sinun tulee määrittää molemmat palvelimet Slaveksi ja Masteriksi.
MYSQL ja PHP5
Voit hakea ja lähettää MySQL tietokantaan tietoa PHP:n avulla. Tämä onnistuu yksinkertaisesti tälläisellä funktiolla:
<?php mysqli_connect(host,username,password,dbname); mysqli_close($con); ?>
Muokkaa tätä esimerkiksi:
<?php //Muodostetaan yheyttä tietokantaan $con = mysqli_connect(127.0.0.1,root,Qwerty123,database); //Suljetaan yhteys tietokantaan mysqli_close($con); ?>
Eli palvelimen osoite, käyttäjätunnus, salasana ja tietokanta joka valitaan.
MySQL tietokannasta tulostaminen
<?php $con=mysqli_connect("127.0.0.1","root","Qwerty123","database"); if (mysqli_connect_errno()) { echo "Yhdistäminen epäonnistui " . mysqli_connect_error(); } $result = mysqli_query($con,"SELECT * FROM data"); while($row = mysqli_fetch_array($result)) { echo $row['mysql']; } mysqli_close($con); ?>
Huomaa, että tietokantaan täytyy kirjoittaa jotakin että voit tulostaa tietoa sieltä.
Talllenna edelliset konfiguroinnit mysql.php ja laita sitten esim. index.php tiedostoon:
<?php include_once ('mysql.php'); ?>
Näin sinun täytyy laittaa kaikkiin haluamaasi php tiedostoon, jotka käyttää tietokantaa.