/ Linux

Instalacja MySQL wraz z PhpMyAdmin na Centos7

MySQL to najczęsciej używana baza danych w internecie. Prawie wszytskie instalacje lub aplikacje webowe mają możliwość korzystania z tego typu bazy danych. Jeżeli korzystacie z linuxowej maszyny pod swój proces developerski, warto stworzyć sobie lokalna instalacje MySql aby testować i budować aplikacje bez potrzeby zewnętrznego serwera.

Przygotowanie maszyny pod instalacje.

Aktualizujemy naszą maszynę oraz instalujemy wget


$ sudo yum update

$ sudo yum install wget

Instalacja MySQL

Ściągamy najnowsze repo, na chwile obecną to (06.11.2017) MySql 5.7
Lista repozytoriów można znaleść na oficjalnej stronie MySql Oracle


$ wget http://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm
$ sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm
$ sudo yum update

---Start MySql na naszej maszynie---

sudo yum install mysql-server
sudo systemctl start mysqld


Logujemy sie do naszego serwera mysql

MySql z "default" jest ustawiony na adresie IP 127.0.0.1

  1. Logowanie jako 'root' do MySql

$ mysql -u root -p

---------
-u = user 
-p = use password 


Po zalogowaniu powinien otworzyć się komunikat od MySql :


Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 32
Server version: 5.7.20 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

--- lista komend mysql dostępna także po wpisaniu  \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 the current input statement.
connect   (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement 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.
resetconnection(\x) Clean session context.


    

Stwórz baze danych, użytkownika, reset hasła (komendy)

Dla potrzeby wpisu tworzymy baze danych ghost, użytkownik będzie to natomiast spaceghost


create database ghost;
create user 'spaceghost'@'localhost' identified by 'hasło';

---nadajemy prawa użytkownika---

grant all on .* to 'spaceghost' identified by 'hasło';



Możemy troche przyspieszyć nasze działania poprzez stworzenie użytkownika i nadanie mu praw jednocześnie.


create database ghost;
grant all on ghost.* to 'spaceghost' identified by 'password';

Reset głównego hasła wykonujemy poprzez


-stop MySql--
sudo systemctl stop mysqld
sudo mysqld_safe --skip-grant-tables &

--łaczymy się jako root do mysql--

mysql -u root
use mysql;
update user SET PASSWORD=PASSWORD("password") WHERE USER='root';
flush privileges;

--restart MySql--

sudo systemctl start mysqld

Instalacja phpMyAdmin

Najpierw pobieramy najnowesze repo z EPEL (Extra packages for Enterprise Linux)


$ rpm -iUvh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Zawsze warto zrobić update przed kazdym nową instalacja, a następnie instalujemy oraz restartujemy nasz serwer (w tym wypadku korzystam z Apache)


$ sudo yum update

$ sudo yum install phpmyadmin 

$ sudo systemctl restart httpd