sql >> Databáze >  >> RDS >> Mysql

Nasazení relačních databází MySQL na Ubuntu 12.04 (Precise Pangolin)

MySQL je populární systém pro správu databází používaný pro webové a serverové aplikace. Tato příručka představí, jak nainstalovat, nakonfigurovat a spravovat MySQL na Linode se systémem Ubuntu 12.04 LTS (Precise Pangolin).

Poznámka Tato příručka je napsána pro uživatele bez oprávnění root. Příkazy, které vyžadují zvýšená oprávnění, mají předponu sudo . Pokud neznáte sudo můžete se podívat na naši příručku Uživatelé a skupiny.

Předpoklady

  1. Pokud jste tak ještě neučinili, vytvořte si účet Linode a Compute Instance. Podívejte se na naše příručky Začínáme s Linode a Vytvoření výpočetní instance.

  2. Při aktualizaci systému a konfiguraci názvu hostitele postupujte podle našeho průvodce nastavením a zabezpečením výpočetní instance. Můžete také chtít nastavit časové pásmo, vytvořit omezený uživatelský účet a posílit SSH přístup.

    Chcete-li zkontrolovat název hostitele, spusťte:

    hostname
    hostname -f
    

    První příkaz by měl zobrazit váš krátký název hostitele a druhý by měl zobrazit váš plně kvalifikovaný název domény (FQDN), pokud jej máte přiřazený.

Instalovat MySQL

sudo apt-get install mysql-server

Během procesu instalace budete vyzváni k nastavení hesla pro uživatele root MySQL, jak je znázorněno níže. Zvolte si silné heslo a uschovejte ho na bezpečném místě pro budoucí použití.

MySQL se standardně váže na localhost (127.0.0.1). Informace o připojení k databázím pomocí tunelu SSH naleznete v naší příručce pro vzdálený přístup MySQL.

Poznámka Povolení neomezeného přístupu k MySQL na veřejné IP se nedoporučuje, ale adresu, na které poslouchá, můžete změnit úpravou bind-address parametr v /etc/my.cnf . Pokud se rozhodnete svázat MySQL se svou veřejnou IP, měli byste implementovat pravidla brány firewall, která povolují připojení pouze z konkrétních IP adres.

Harden MySQL Server

Spuštěním skriptu mysql_secure_installation vyřešíte několik bezpečnostních problémů ve výchozí instalaci MySQL.

sudo mysql_secure_installation

Budete mít možnost změnit heslo root MySQL, odebrat anonymní uživatelské účty, zakázat přihlášení ke kořenové databázi mimo localhost a odebrat testovací databáze. Na tyto možnosti se doporučuje odpovědět ano. Více o skriptu si můžete přečíst v referenční příručce MySQL.

Nasazení MySQL

Standardním nástrojem pro interakci s MySQL je mysql klient, který se instaluje pomocí mysql-server balíček.

Přihlášení uživatele root

  1. Chcete-li se přihlásit do MySQL jako uživatel root:

    mysql -u root -p
    
  2. Po zobrazení výzvy zadejte heslo uživatele root, které jste přiřadili při mysql_secure_installation skript byl spuštěn.

    Poté se zobrazí výzva k monitorování MySQL:

    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. Chcete-li vygenerovat seznam příkazů pro výzvu MySQL, zadejte \h . Poté uvidíte:

    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>
    

Vytvoření nového uživatele a databáze MySQL

  1. V níže uvedeném příkladu testdb je název databáze, testuser je uživatel a password je heslo uživatele.

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

    Tento proces můžete zkrátit vytvořením uživatele zatímco přiřazení oprávnění k databázi:

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

    exit
    

Vytvoření ukázkové tabulky

  1. Přihlaste se zpět jako testuser .

    mysql -u testuser -p
    
  2. Vytvořte vzorovou tabulku s názvem customers . Tím se vytvoří tabulka s polem ID zákazníka typu INT pro celé číslo (automaticky inkrementováno pro nové záznamy, používá se jako primární klíč) a také dvě pole pro uložení jména zákazníka.

    use testdb;
    create table customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
    
  3. Poté ukončete MySQL.

    exit
    

Obnovení hesla kořenového adresáře MySQL

Pokud zapomenete své kořenové heslo pro MySQL, lze jej resetovat.

  1. Zastavte aktuální instanci serveru MySQL.

    sudo service mysql stop
    
  2. Pomocí dpkg znovu spusťte konfigurační proces, kterým MySQL prochází při první instalaci. Znovu budete požádáni o nastavení hesla uživatele root.

    sudo dpkg-reconfigure mysql-server-5.5
    

Nyní se budete moci znovu přihlásit pomocí mysql -u root -p .

Vylaďte MySQL

MySQL Tuner je skript v Perlu, který se připojuje k běžící instanci MySQL a poskytuje doporučení pro konfiguraci na základě pracovního vytížení. V ideálním případě by instance MySQL měla být v provozu alespoň 24 hodin před spuštěním tuneru. Doporučení MySQL Tuner budou tím přesnější, čím déle bude instance spuštěna.

  1. Nainstalujte MySQL Tuner z repozitářů Ubuntu.

    sudo apt-get install mysqltuner
    
  2. Chcete-li jej spustit:

    mysqltuner
    

    Budete požádáni o jméno a heslo uživatele root MySQL. Výstup zobrazí dvě oblasti zájmu:Obecná doporučení a Proměnné k úpravě.

MySQL Tuner je vynikajícím výchozím bodem pro optimalizaci serveru MySQL, ale doporučujeme další výzkum pro konfigurace přizpůsobené aplikacím využívajícím MySQL na vašem Linode.

Další informace

Další informace o tomto tématu můžete získat v následujících zdrojích. Přestože jsou poskytovány v naději, že budou užitečné, vezměte prosím na vědomí, že nemůžeme ručit za přesnost nebo aktuálnost externě hostovaných materiálů.

  • Referenční příručka MySQL 5.1
  • Příručka PHP MySQL
  • Příklady DBI v Perlu pro DBD::mysql
  • Uživatelská příručka MySQLdb

  1. Android Studio 3.0 canary 1 :Chyba syntaxe SQL

  2. EXEC sp_executesql s více parametry

  3. Jak povolit trasování v aplikacích Oracle r12

  4. Přepište Query Optimizer pro vaše spojení T-SQL pomocí FORCEPLAN