Mysql
Mysql on kätevä tietokanta, jota on helppo hallinnoida phpmyadmin sovelluksella. Phpmyadmin sovelluksen käyttö vaatii HTTP - palvelinohjelmiston (kuten Apache2 tai Nginx) ja Php5.
Sisällysluettelo
Asennus
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
Listaa käyttäjätilit:
select host, user, password from mysql.user;
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.