sql >> Databasteknik >  >> RDS >> Mysql

Hur man installerar MySQL på Debian 7

MySQL är ett populärt databashanteringssystem som används för webb- och serverapplikationer. Den här guiden kommer att introducera hur man installerar, konfigurerar och hanterar MySQL på en Linode som kör Debian 7 (Wheezy).

Stora MySQL-databaser kan kräva en avsevärd mängd minne. Av denna anledning rekommenderar vi att du använder en Linode med högt minne för sådana inställningar.

Obs Den här guiden är skriven för en icke-rootanvändare. Kommandon som kräver förhöjda privilegier har prefixet sudo . Om du inte är bekant med sudo kommandot kan du läsa vår guide för användare och grupper.

Innan du börjar

  1. Se till att du har följt guiderna Komma igång och Säkra din server, och att Linodes värdnamn är inställt.

    Så här kontrollerar du ditt värdnamn:

    hostname
    hostname -f
    

    Det första kommandot ska visa ditt korta värdnamn och det andra ska visa ditt fullständiga domännamn (FQDN).

  2. Uppdatera ditt system:

    sudo apt-get update
    sudo apt-get upgrade
    

Installera MySQL

sudo apt-get install mysql-server

Under installationsprocessen kommer du att bli ombedd att ställa in ett lösenord för MySQL root-användaren enligt nedan. Välj ett starkt lösenord och förvara det på en säker plats för framtida referens.

MySQL binder till localhost (127.0.0.1) som standard. Se vår MySQL fjärråtkomstguide för information om hur du ansluter till dina databaser med lokala klienter.

Obs Att tillåta obegränsad åtkomst till MySQL på en offentlig IP rekommenderas inte, men du kan ändra adressen den lyssnar på genom att ändra bind-address parameter i /etc/my.cnf . Om du bestämmer dig för att binda MySQL till din publika IP bör du implementera brandväggsregler som endast tillåter anslutningar från specifika IP-adresser.

Harden MySQL Server

Kör mysql_secure_installation skript för att lösa flera säkerhetsproblem i en MySQL-standardinstallation.

sudo mysql_secure_installation

Du kommer att få välja att ändra MySQL root-lösenordet, ta bort anonyma användarkonton, inaktivera root-inloggningar utanför localhost och ta bort testdatabaser. Det rekommenderas att du svarar ja på dessa alternativ. Du kan läsa mer om skriptet i MySQL Reference Manual.

Använda MySQL

Standardverktyget för att interagera med MySQL är mysql klient som installeras med mysql-server paket. MySQL-klienten används via en terminal.

Root-inloggning

  1. För att logga in på MySQL som root-användare:

    mysql -u root -p
    
  2. När du uppmanas, ange root-lösenordet. Du kommer sedan att presenteras med en välkomstrubrik och MySQL-prompten som visas nedan:

    mysql>
    
  3. För att generera en lista med kommandon för MySQL-prompten anger du \h . Du kommer då att 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>
    

Skapa en ny MySQL-användare och databas

  1. I exemplet nedan, testdb är namnet på databasen, testuser är användaren och password är användarens lösenord.

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

    exit
    

Skapa en exempeltabell

  1. Logga in igen som testuser .

    mysql -u testuser -p
    
  2. Skapa en exempeltabell som heter customers . Detta skapar en tabell med ett kund-ID-fält av typen INT för heltal (automatiskt inkrementerat för nya poster, används som primärnyckel), samt två fält för att lagra kundens namn.

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

    exit
    

Återställ MySQL-rootlösenordet

Om du glömmer ditt root MySQL-lösenord kan det återställas.

  1. Stoppa den aktuella MySQL-serverinstansen.

     sudo /etc/init.d/mysql stop
    
  2. Använd dpkg för att köra om konfigurationsprocessen MySQL går igenom vid första installationen. Du kommer igen att bli ombedd att ange ett root-lösenord.

     sudo dpkg-reconfigure mysql-server-5.5
    

dpkg kommer att starta om MySQL automatiskt och du kommer att kunna logga in med mysql -u root -p .

Justera MySQL

MySQL Tuner är ett Perl-skript som ansluter till en körande instans av MySQL och ger konfigurationsrekommendationer baserat på arbetsbelastning. Helst skulle MySQL-instansen ha varit i drift i minst 24 timmar innan tunern kördes. Ju längre instansen har körts, desto bättre råd kommer MySQL Tuner att ge.

  1. Installera MySQL Tuner från Ubuntus arkiv.

    sudo apt-get install mysqltuner
    
  2. Så här kör du:

    mysqltuner
    

    Du kommer att bli ombedd att ange MySQL root-användarens namn och lösenord. Resultatet kommer att visa två intresseområden:Allmänna rekommendationer och Variabler att justera.

MySQL Tuner är en utmärkt utgångspunkt för att optimera en MySQL-server, men det skulle vara klokt att utföra ytterligare forskning för konfigurationer som är skräddarsydda för applikationen/applikationerna som använder MySQL på din Linode.

Mer information

Du kanske vill konsultera följande resurser för ytterligare information om detta ämne. Även om dessa tillhandahålls i hopp om att de kommer att vara användbara, vänligen observera att vi inte kan garantera noggrannheten eller aktualiteten hos externt värdmaterial.

  • MySQL 5.5 Referensmanual
  • Handbok för PHP MySQL
  • Perl DBI-exempel för DBD::mysql
  • MySQLdb användarhandbok
  • MySQL Tuner Handledning

  1. Hur man optimerar webbplatsdatabasen

  2. Hur man installerar MySQL på CentOS 6

  3. få JOIN-tabellen som en rad resultat med PostgreSQL/NodeJS

  4. oracle raderingsfråga tar för lång tid