sql >> Databasteknik >  >> RDS >> Mysql

Hur man installerar MySQL på CentOS 6

MySQL är ett populärt databashanteringssystem som används för webb- och serverapplikationer. Den här guiden kommer att introducera hur du installerar, konfigurerar och hanterar MySQL på en Linode som kör CentOS 6.

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 yum update
    

Installera och starta MySQL

  1. Installera MySQL och säg vilka körnivåer som ska börja på:

    sudo yum install mysql-server
    sudo /sbin/chkconfig --levels 235 mysqld on
    
  2. Sedan för att starta MySQL-servern:

    sudo service mysqld start
    

    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 SSH.

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

  1. 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 rotanvändare:

    mysql -u root -p
    
  2. När du uppmanas, ange root-lösenordet du tilldelade när mysql_secure_installation-skriptet kördes.

    Du kommer sedan att presenteras med MySQL-skärmen:

     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. 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';
    

    Du kan förkorta denna process genom att skapa användaren medan tilldela databasbehörigheter:

     create database testdb;
     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 tömmas och sedan återställas.

  1. Stoppa den aktuella MySQL-serverinstansen och starta om den sedan med ett alternativ att inte be om ett lösenord.

     sudo /etc/init.d/mysqld stop
     sudo mysqld_safe --skip-grant-tables &
    
  2. Återanslut till MySQL-servern med MySQL-rotkontot.

     mysql -u root
    
  3. Använd följande kommandon för att återställa roots lösenord. Ersätt password med ett starkt lösenord.

     use mysql;
     update user SET PASSWORD=PASSWORD("password") WHERE USER='root';
     flush privileges;
     exit
    
  4. Starta sedan om MySQL.

     sudo service mysqld restart
    

Du kommer nu att kunna logga in igen 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. Ladda ner MySQL Tuner till din hemkatalog.

     wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl
    
  2. Så här kör du:

     perl ./mysqltuner.pl
    

    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.1 Referensmanual
  • Handbok för PHP MySQL
  • Perl DBI-exempel för DBD::mysql
  • MySQLdb användarhandbok

  1. Hur man visar sammanställningen av din anslutning i MySQL

  2. MySQL SIGN() Funktion – Ta reda på om ett tal är positivt eller negativt i MySQL

  3. Hur man genererar ett skript från ett diagram i MySQL Workbench

  4. Avbryter inaktiva mysql-anslutningar