Mysql
 sql >> база данни >  >> RDS >> Mysql

Инсталиране на MySQL на CentOS 7

MySQL е популярна система за управление на бази данни, използвана за уеб и сървърни приложения. Въпреки това, MySQL вече не е в хранилищата на CentOS и MariaDB се превърна в предлаганата система за бази данни по подразбиране. MariaDB се счита за заместител на MySQL и би бил достатъчен, ако просто се нуждаете от система за база данни като цяло. Вижте нашето ръководство за MariaDB в CentOS 7 за инструкции за инсталиране.

Ако все пак предпочитате MySQL, това ръководство ще ви представи как да го инсталирате, конфигурирате и управлявате на Linode, работещ с CentOS 7.

Големите MySQL бази данни могат да изискват значително количество памет. Поради тази причина препоръчваме да използвате Linode с висока памет за такива настройки.

Забележка Това ръководство е написано за потребител без root права. Командите, които изискват повишени привилегии, имат префикс с sudo . Ако не сте запознати с sudo команда, можете да проверите нашето ръководство за потребители и групи.

Преди да започнете

  1. Уверете се, че сте следвали ръководствата Първи стъпки и Защита на вашия сървър и че името на хоста на Linode е зададено.

    За да проверите името на хоста си, изпълнете:

    hostname
    hostname -f
    

    Първата команда трябва да показва вашето кратко име на хост, а втората трябва да показва пълното ви име на домейн (FQDN).

  2. Актуализирайте системата си:

    sudo yum update
    
  3. Ще ви трябва wget за да завършите това ръководство. Може да се инсталира по следния начин:

    yum install wget
    

Инсталирайте MySQL

MySQL трябва да бъде инсталиран от хранилището на общността.

  1. Изтеглете и добавете хранилището, след което актуализирайте.

    wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
    sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
    yum update
    
  2. Инсталирайте MySQL както обикновено и стартирайте услугата. По време на инсталацията ще бъдете попитани дали искате да приемете резултатите от GPG проверката на .rpm файла. Ако не се появи грешка или несъответствие, въведете y .

    sudo yum install mysql-server
    sudo systemctl start mysqld
    

MySQL ще се свърже с localhost (127.0.0.1) по подразбиране. Моля, вижте нашето ръководство за отдалечен достъп до MySQL за информация относно свързването с вашите бази данни чрез SSH.

Забележка Разрешаването на неограничен достъп до MySQL на публичен IP не се препоръчва, но можете да промените адреса, който слуша, като промените bind-address параметър в /etc/my.cnf . Ако решите да свържете MySQL към вашия публичен IP адрес, трябва да приложите правила за защитната стена, които позволяват връзки само от конкретни IP адреси.

Harden MySQL сървър

  1. Стартирайте mysql_secure_installation скрипт за справяне с няколко проблеми със сигурността при инсталация на MySQL по подразбиране.

     sudo mysql_secure_installation
    

Ще ви бъде даден избор да промените паролата за root на MySQL, да премахнете анонимни потребителски акаунти, да деактивирате влизането в root извън localhost и да премахнете тестови бази данни. Препоръчително е да отговорите yes към тези опции. Можете да прочетете повече за скрипта в Справочното ръководство за MySQL.

Забележка

Ако MySQL 5.7 е инсталиран, ще ви е необходима временната парола, създадена по време на инсталацията. Тази парола е отбелязана в /var/log/mysql.log файл и може бързо да бъде намерен с помощта на следната команда.

sudo grep 'temporary password' /var/log/mysqld.log

Използване на MySQL

Стандартният инструмент за взаимодействие с MySQL е mysql клиент, който се инсталира с mysql-server пакет. MySQL клиентът се използва през терминал.

Root вход

  1. За да влезете в MySQL като root потребител:

    mysql -u root -p
    
  2. Когато бъдете подканени, въведете root паролата, която сте задали при стартиране на скрипта mysql_secure_installation.

    След това ще ви бъде представена заглавка за добре дошли и подкана за MySQL, както е показано по-долу:

     mysql>
    
  3. За да генерирате списък с команди за подканата на MySQL, въведете \h . След това ще видите:

     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>
    

Създайте нов потребител и база данни на MySQL

  1. В примера по-долу, testdb е името на базата данни, testuser е потребителят и password е паролата на потребителя.

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

    Можете да съкратите този процес, като създадете потребителя while задаване на разрешения за база данни:

     create database testdb;
     grant all on testdb.* to 'testuser' identified by 'password';
    
  2. След това излезте от MySQL.

    exit
    

Създайте примерна таблица

  1. Влезте отново като testuser .

    mysql -u testuser -p
    
  2. Създайте примерна таблица, наречена клиенти . Това създава таблица с поле за идентификатор на клиента от типа INT за цяло число (автоматично увеличено за нови записи, използвано като първичен ключ), както и две полета за съхранение на името на клиента.

    use testdb;
    create table customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
    
  3. След това излезте от MySQL.

    exit
    

Нулиране на MySQL Root парола

Ако забравите вашата root MySQL парола, тя може да бъде нулирана.

  1. Спрете текущия екземпляр на MySQL сървър, след което го рестартирайте с опция да не питате за парола.

    sudo systemctl stop mysqld
    sudo mysqld_safe --skip-grant-tables &
    
  2. Свържете се отново с MySQL сървъра с MySQL root акаунта.

    mysql -u root
    
  3. Използвайте следните команди, за да нулирате паролата на root. Заменете password със силна парола.

    use mysql;
    update user SET PASSWORD=PASSWORD("password") WHERE USER='root';
    flush privileges;
    exit
    
  4. След това рестартирайте MySQL.

    sudo systemctl start mysqld
    

Настройте MySQL

MySQL Tuner е Perl скрипт, който се свързва с работещ екземпляр на MySQL и предоставя препоръки за конфигурация въз основа на работното натоварване. В идеалния случай MySQL екземплярът трябва да работи поне 24 часа, преди да стартира тунера. Колкото по-дълго е работил екземплярът, толкова по-добър съвет ще даде MySQL Tuner.

  1. Изтеглете MySQL Tuner във вашата домашна директория.

    wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl
    
  2. За да го стартирате:

    perl ./mysqltuner.pl
    

    Ще бъдете помолени за името и паролата на root потребителя на MySQL. Резултатът ще покаже две области на интерес:Общи препоръки и Променливи за коригиране.

MySQL Tuner е отлична отправна точка за оптимизиране на MySQL сървър, но би било разумно да извършите допълнителни изследвания за конфигурации, съобразени с приложението(ата), използващо MySQL на вашия Linode.

Все още имате няколко въпроса?

Присъединете се към нашата общност и публикувайте вашите въпроси за други ентусиасти на Linode и Linux, за да ви помогнат.

Свързани въпроси:
  • Как да инсталирам phpMyAdmin на Centos7
  • Как мога да настроя стек LAMP/LEMP на моя Linode?
  • Как да стартирам както MySQL, така и MongoDB?

Повече информация

Може да пожелаете да се консултирате със следните ресурси за допълнителна информация по тази тема. Въпреки че те са предоставени с надеждата, че ще бъдат полезни, моля, имайте предвид, че не можем да гарантираме за точността или навременността на външно хостваните материали.

  • Справочно ръководство за MySQL 5.6
  • Ръководство за PHP MySQL
  • Примери за Perl DBI за DBD::mysql
  • Ръководство за потребителя на MySQLdb
  • Урок за MySQL Tuner

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Мога ли да съхранявам изображения в MySQL

  2. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:неизправност на комуникационната връзка

  3. Как работи функцията MID() в MySQL

  4. Mysql вмъква произволна дата и час в даден диапазон от време

  5. Използване на група по две полета и броене в SQL