sql >> Database teknologi >  >> RDS >> Mysql

Implementer MySQL relationelle databaser på Ubuntu 12.04 (præcis Pangolin)

MySQL er et populært databasestyringssystem, der bruges til web- og serverapplikationer. Denne guide vil introducere, hvordan du installerer, konfigurerer og administrerer MySQL på en Linode, der kører Ubuntu 12.04 LTS (Precise Pangolin).

Bemærk Denne guide er skrevet til en ikke-rootbruger. Kommandoer, der kræver forhøjede privilegier, er præfikset med sudo . Hvis du ikke er bekendt med sudo kommando, kan du tjekke vores bruger- og gruppervejledning.

Forudsætninger

  1. Hvis du ikke allerede har gjort det, skal du oprette en Linode-konto og Compute Instance. Se vores vejledninger Kom godt i gang med Linode og Oprettelse af en beregningsinstans.

  2. Følg vores guide til konfiguration og sikring af en computerinstans for at opdatere dit system og konfigurere dit værtsnavn. Du ønsker måske også at indstille tidszonen, oprette en begrænset brugerkonto og skærpe SSH-adgang.

    Sådan tjekker du dit værtsnavn:

    hostname
    hostname -f
    

    Den første kommando skal vise dit korte værtsnavn, og den anden skal vise dit fuldt kvalificerede domænenavn (FQDN), hvis du har tildelt et.

Installer MySQL

sudo apt-get install mysql-server

Under installationsprocessen bliver du bedt om at indstille en adgangskode til MySQL root-brugeren som vist nedenfor. Vælg en stærk adgangskode, og opbevar den et sikkert sted til fremtidig reference.

MySQL vil binde til localhost (127.0.0.1) som standard. Se venligst vores MySQL fjernadgangsvejledning for at få oplysninger om tilslutning til dine databaser ved hjælp af en SSH-tunnel.

Bemærk Det anbefales ikke at tillade ubegrænset adgang til MySQL på en offentlig IP, men du kan ændre adressen, den lytter til ved at ændre bind-address parameter i /etc/my.cnf . Hvis du beslutter dig for at binde MySQL til din offentlige IP, bør du implementere firewall-regler, der kun tillader forbindelser fra specifikke IP-adresser.

Harden MySQL Server

Kør mysql_secure_installation-scriptet for at løse flere sikkerhedsproblemer i en standard MySQL-installation.

sudo mysql_secure_installation

Du vil blive givet valget mellem at ændre MySQL root-adgangskoden, fjerne anonyme brugerkonti, deaktivere root-database-login uden for localhost og fjerne testdatabaser. Det anbefales, at du svarer ja til disse muligheder. Du kan læse mere om scriptet i MySQL Reference Manual.

Implementer MySQL

Standardværktøjet til at interagere med MySQL er mysql klient, som installeres med mysql-server pakke.

Root-login

  1. Sådan logger du på MySQL som root-bruger:

    mysql -u root -p
    
  2. Når du bliver bedt om det, skal du indtaste den root-adgangskode, du tildelte, da mysql_secure_installation script blev kørt.

    Du vil derefter blive præsenteret for MySQL-skærmprompten:

    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 1
    Server version: 5.0.45 Source distribution
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    
    mysql>
    
  3. Indtast \h for at generere en liste over kommandoer til MySQL-prompten . Du vil derefter se:

    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>
    

Opret en ny MySQL-bruger og -database

  1. I eksemplet nedenfor, testdb er navnet på databasen, testuser er brugeren og password er brugerens adgangskode.

    create database testdb;
    create user 'testuser'@localhost identified by 'password';
    grant all on testdb.* to 'testuser';
    

    Du kan forkorte denne proces ved at oprette brugeren mens tildeling af databasetilladelser:

    create database testdb;
    grant all on testdb.* to 'testuser' identified by 'password';
    
  2. Afslut MySQL.

    exit
    

Opret en prøvetabel

  1. Log ind igen som testuser .

    mysql -u testuser -p
    
  2. Opret en eksempeltabel kaldet customers . Dette opretter en tabel med et kunde-id-felt af typen INT for heltal (automatisk inkrementeret for nye poster, brugt som den primære nøgle), samt to felter til lagring af kundens navn.

    use testdb;
    create table customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
    
  3. Afslut derefter MySQL.

    exit
    

Nulstil MySQL-rodadgangskoden

Hvis du glemmer din root MySQL adgangskode, kan den nulstilles.

  1. Stop den aktuelle MySQL-serverinstans.

    sudo service mysql stop
    
  2. Brug dpkg til at genkøre konfigurationsprocessen, som MySQL gennemgår ved første installation. Du vil igen blive bedt om at angive en root-adgangskode.

    sudo dpkg-reconfigure mysql-server-5.5
    

Du vil nu være i stand til at logge ind igen ved hjælp af mysql -u root -p .

Indstil MySQL

MySQL Tuner er et Perl-script, der forbinder til en kørende forekomst af MySQL og giver konfigurationsanbefalinger baseret på arbejdsbelastning. Ideelt set skulle MySQL-instansen have været i drift i mindst 24 timer, før tuneren blev kørt. MySQL Tuner-anbefalinger vil være mere præcise, jo længere instansen har kørt.

  1. Installer MySQL Tuner fra Ubuntus arkiver.

    sudo apt-get install mysqltuner
    
  2. For at køre det:

    mysqltuner
    

    Du bliver bedt om MySQL root-brugerens navn og adgangskode. Outputtet vil vise to interesseområder:Generelle anbefalinger og Variabler, der skal justeres.

MySQL Tuner er et glimrende udgangspunkt for at optimere en MySQL-server, men yderligere forskning anbefales til konfigurationer, der er skræddersyet til den eller de applikationer, der bruger MySQL på din Linode.

Flere oplysninger

Du ønsker måske at konsultere følgende ressourcer for yderligere oplysninger om dette emne. Selvom disse leveres i håb om, at de vil være nyttige, bemærk venligst, at vi ikke kan stå inde for nøjagtigheden eller aktualiteten af ​​eksternt hostede materialer.

  • MySQL 5.1 Referencemanual
  • PHP MySQL-manual
  • Perl DBI-eksempler for DBD::mysql
  • MySQLdb Brugervejledning

  1. Installer Azure Data Studio på Ubuntu 18.04

  2. Ydeevnegrænser for logiske replikeringsløsninger

  3. T-SQL-fejl, faldgruber og bedste praksis – vinduesfunktioner

  4. Hvordan kaster jeg char til heltal, mens jeg forespørger i django ORM?