sql >> Database >  >> RDS >> Mysql

MySQL relationele databases gebruiken op Fedora 14

MySQL is een populair databasebeheersysteem dat wordt gebruikt als leverancier van gegevensopslag voor duizenden web- en servertoepassingen. Deze gids helpt beginners om aan de slag te gaan met MySQL op een Fedora 14 Linode. Voor deze tutorial wordt aangenomen dat je de stappen hebt gevolgd die zijn beschreven in onze Een computerinstantie instellen en beveiligen, dat je systeem up-to-date is en dat je je als root hebt aangemeld bij je Linode via SSH.

Systeemconfiguratie

Zorg ervoor dat uw /etc/hosts bestand heeft de juiste vermeldingen, vergelijkbaar met de onderstaande. Vervang "12.34.56.78" door het openbare adres van uw Linode, "servernaam" door uw korte hostnaam en "mijndomein.com" door de domeinnaam van uw systeem.

Bestand:/ etc/hosts
1
2
127.0.0.1 localhost.localdomain localhost
12.34.56.78 servername.mydomain.com servername

Stel de hostnaam van uw systeem in door de volgende opdrachten uit te voeren. Vervang "servernaam" door de korte hostnaam van uw systeem.

echo "HOSTNAME=servername" >> /etc/sysconfig/network
hostname "servername"

MySQL installeren

Geef de volgende opdrachten om uw systeem bij te werken en MySQL te installeren:

yum update
yum install mysql-server
chkconfig mysqld on

Het MySQL-serverpakket wordt op uw server geïnstalleerd, samen met afhankelijkheden en clientbibliotheken. Start MySQL door het volgende commando uit te voeren:

service mysqld start

MySQL configureren

Na het installeren van MySQL is het raadzaam om mysql_secure_installation uit te voeren , een programma dat helpt bij het beveiligen van MySQL. Tijdens het uitvoeren van mysql_secure_installation , krijgt u de mogelijkheid om het MySQL-rootwachtwoord te wijzigen, anonieme gebruikersaccounts te verwijderen, rootaanmeldingen buiten localhost uit te schakelen en testdatabases te verwijderen. Het wordt aanbevolen om ja te antwoorden op deze opties. Als u wordt gevraagd om de privilegetabellen opnieuw te laden, selecteert u ja. Voer de volgende opdracht uit om het programma uit te voeren:

mysql_secure_installation

Standaard maakt MySQL enkele aannames over uw serveromgeving met betrekking tot geheugen. Om MySQL conservatiever te configureren, moet u enkele instellingen in het configuratiebestand bewerken. Uw bestand zou er als volgt uit moeten zien:

Bestand:/ etc/mijn.cnf
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
key_buffer = 16M
max_allowed_packet = 1M
thread_stack = 64K
table_cache = 4
sort_buffer = 64K
net_buffer_length = 2K
bind-address = 127.0.0.1

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

Deze instellingen zijn alleen voorgestelde waarden voor een omgeving met weinig geheugen; aarzel niet om ze af te stemmen op de juiste waarden voor uw server. Raadpleeg het gedeelte 'Meer informatie' aan het einde van deze zelfstudie voor aanvullende bronnen voor dit onderwerp.

Als u wijzigingen heeft aangebracht in de configuratie van MySQL, geeft u het volgende commando om het opnieuw op te starten:

service mysqld restart

MySQL zal standaard binden aan localhost (127.0.0.1). Raadpleeg onze beveiligde MySQL-handleiding voor externe toegang voor informatie over verbinding maken met uw databases met lokale clients.

Onbeperkte toegang tot MySQL toestaan ​​op een openbaar IP-adres dat niet wordt geadviseerd, maar u kunt het adres waarop het luistert wijzigen door het bind-address aan te passen parameter. Als u besluit MySQL aan uw openbare IP-adres te binden, moet u firewallregels implementeren die alleen verbindingen vanaf specifieke IP-adressen toestaan.

Gebruik MySQL

De standaard tool voor interactie met MySQL is de mysql cliënt programma. Geef om te beginnen de volgende opdracht op uw prompt:

mysql -u root -p

U wordt gevraagd om het wachtwoord van de root MySQL-gebruiker in te voeren. Voer het wachtwoord in dat u hebt toegewezen toen u MySQL installeerde, en u krijgt het MySQL-beeldscherm te zien:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.52 Source distribution

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Om een ​​lijst met opdrachten voor de MySQL-prompt te genereren, typt u \h :

List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
?         (\?) Synonym for `help'.
clear     (\c) Clear command.
connect   (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter. NOTE: Takes the rest of the line as new delimiter.
edit      (\e) Edit command with $EDITOR.
ego       (\G) Send command to mysql server, display result vertically.
exit      (\q) Exit mysql. Same as quit.
go        (\g) Send command to mysql server.
help      (\h) Display this help.
nopager   (\n) Disable pager, print to stdout.
notee     (\t) Don't write into outfile.
pager     (\P) Set PAGER [to_pager]. Print the query results via PAGER.
print     (\p) Print current command.
prompt    (\R) Change your mysql prompt.
quit      (\q) Quit mysql.
rehash    (\#) Rebuild completion hash.
source    (\.) Execute an SQL script file. Takes a file name as an argument.
status    (\s) Get status information from the server.
system    (\!) Execute a system shell command.
tee       (\T) Set outfile [to_outfile]. Append everything into given outfile.
use       (\u) Use another database. Takes database name as argument.
charset   (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
warnings  (\W) Show warnings after every statement.
nowarning (\w) Don't show warnings after every statement.

For server side help, type 'help contents'

mysql>

Laten we een database maken en er een gebruiker aan toewijzen. Geef de volgende opdrachten op de MySQL-prompt:

CREATE DATABASE testdb;
CREATE USER 'testuser'@localhost IDENTIFIED BY 'CHANGEME';
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@localhost;
exit

Laten we nu weer inloggen op de MySQL-client als testuser en maak een voorbeeldtabel met de naam 'klanten'. Geef de volgende opdrachten:

mysql -u testuser -p
USE testdb;
CREATE TABLE customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
exit

Dit creëert een tabel met een klant-ID-veld van het type INT voor integer (automatisch verhoogd voor nieuwe records, gebruikt als de primaire sleutel), evenals twee velden voor het opslaan van de naam van de klant. Natuurlijk wilt u voor een klant waarschijnlijk veel meer informatie dan dit opslaan, maar het is niettemin een goed voorbeeld van een veelvoorkomend geval.

Het root-wachtwoord van MySQL opnieuw instellen

Als u uw root MySQL-wachtwoord bent vergeten, kunt u dit resetten door de volgende opdrachten uit te voeren:

service mysqld stop
mysqld_safe --skip-grant-tables &
mysql -u root

Het volgende deel van het opnieuw instellen van het wachtwoord wordt nu gedaan in het MySQL-clientprogramma:

USE mysql;
UPDATE user SET PASSWORD=PASSWORD("CHANGEME") WHERE User='root';
FLUSH PRIVILEGES;
exit

Start als laatste MySQL opnieuw door het volgende commando uit te voeren:

service mysqld restart

Meer informatie

U kunt de volgende bronnen raadplegen voor aanvullende informatie over dit onderwerp. Hoewel deze worden verstrekt in de hoop dat ze nuttig zullen zijn, houd er rekening mee dat we niet kunnen instaan ​​voor de nauwkeurigheid of tijdigheid van extern gehost materiaal.

  • MySQL 5.1-referentiehandleiding
  • PHP MySQL-handleiding
  • Perl DBI-voorbeelden voor DBD::mysql
  • Gebruikershandleiding voor MySQLdb

  1. Rijen dynamisch in kolommen draaien in Oracle

  2. Algemene logboeken en foutlogboeken inschakelen in AWS RDS

  3. Ik probeer een bestand te kopiëren, maar krijg een foutmelding

  4. Updates voor het JSON-veld blijven niet bestaan ​​in DB