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

Sådan installeres MySQL på CentOS 6

MySQL er et populært databasestyringssystem, der bruges til web- og serverapplikationer. Denne vejledning vil introducere, hvordan du installerer, konfigurerer og administrerer MySQL på en Linode, der kører CentOS 6.

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.

Før du begynder

  1. Sørg for, at du har fulgt guiderne Kom godt i gang og Sikring af din server, og at Linodes værtsnavn er indstillet.

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

  2. Opdater dit system:

    sudo yum update
    

Installer og start MySQL

  1. Installer MySQL og fortæl den, hvilke runlevels den skal starte på:

    sudo yum install mysql-server
    sudo /sbin/chkconfig --levels 235 mysqld on
    
  2. Så for at starte MySQL-serveren:

    sudo service mysqld start
    

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

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

  1. Kør mysql_secure_installation script til 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-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.

Brug af MySQL

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

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-scriptet blev kørt.

    Du vil derefter blive præsenteret for 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. 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' identified by 'password';
    

    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 derefter 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 tømmes og derefter nulstilles.

  1. Stop den aktuelle MySQL-serverinstans, og genstart den derefter med en mulighed for ikke at bede om en adgangskode.

     sudo /etc/init.d/mysqld stop
     sudo mysqld_safe --skip-grant-tables &
    
  2. Genopret forbindelse til MySQL-serveren med MySQL-rodkontoen.

     mysql -u root
    
  3. Brug følgende kommandoer til at nulstille roots adgangskode. Erstat password med en stærk adgangskode.

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

     sudo service mysqld restart
    

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. Jo længere instansen har kørt, jo bedre råd vil MySQL Tuner give.

  1. Download MySQL Tuner til din hjemmemappe.

     wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl
    
  2. For at køre det:

     perl ./mysqltuner.pl
    

    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 det ville være klogt at udføre yderligere forskning for 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. adskil kommaseparerede værdier og gem i tabel i sql server

  2. Brug af parameter som kolonnenavn i Postgres-funktionen

  3. Bibliotek ikke indlæst:libmysqlclient.16.dylib fejl ved forsøg på at køre 'rails server' på OS X 10.6 med mysql2 gem

  4. ORA-01008:ikke alle variable er bundet. De er bundet