Instalacja bazy MariaDB

Opiszę dziś instalację bazy MariaDB na serwerze fizycznym. Różni się ona trochę od instalacji na serwerze wirtualnym (VirtualBox). Użyjemy też swojej konfiguracji (gdzie ma być zainstalowana baza i gdzie mają się znajdować pliki bazodanowe).

Na początek tworzymy usera MYSQL i grupę MYSQL:
groupadd maria
useradd -g maria maria
passwd maria

Changing password for user maria.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.

Logujemy się na usera MARIA (najlepiej jakby miał prawa do sudo na roota) i dopisujemy kilka linijek do pliku .bash_profile zmieniając nazwę serwera oraz folder odpowiedni dla wersji bazy MariaDB:

##### MARIADB #####
MYSQL_HOME=/mariadbdata/naszabaza/data
export MYSQL_HOME
PATH=$PATH:/mariadb/10122/bin:/mariadb/10122/sbin
export PATH

W dalszej części procedury instalacji należy wprowadzać odpowiednie nazwy folderów zgodnie z powyższymi zmianami.

Tworzymy też (z usera maria) folder /mariadb/dba/scripts a w nim dwa skrypty: do podnoszenie i zamykania bazy:

[maria@serwer01 scripts]$ vi start_mariadb.sh

export MARIA_HOME=/mariadbdata/naszabaza/data
FILE="$MARIA_HOME/$HOSTNAME.pid"
/mariadb/10122/sbin/mysqld  --defaults-file=/mariadbdata/naszabaza/data/my.cnf &

[maria@serwer01 scripts]$ vi stop_mariadb.sh

/mariadb/10122/bin/mysqladmin shutdown -u maria -p

Zmieniamy uprawnienia do skryptów:
[maria@serwer01 scripts]$ chmod u+x start_mariadb.sh
[maria@serwer01 scripts]$ chmod u+x stop_mariadb.sh
[maria@serwer01 scripts]$ ll

total 8
-rwxrw-r-- 1 maria maria 76 Apr 21 09:06 start_mariadb.sh
-rwxrw-r-- 1 maria maria 50 Apr 21 09:07 stop_mariadb.sh

Następnie tworzymy foldery dla plikó bazodanowych (z poziomu roota):
[maria@serwer01 mariadb]$ sudo su -
[root@serwer01 ~]# chown -R maria:maria /mariadbdata
[root@serwer01 ~]# chown -R maria:maria /mariadbdata
[root@serwer01 ~]# mkdir -p /mariadbdata/naszabaza/log/innodb
[root@serwer01 ~]# mkdir -p /mariadbdata/naszabaza/data/data
[root@serwer01 ~]# mkdir -p /mariadbdata/naszabaza/data/InnoDB

Dodajemy uprawnienia dla usera MARIA do folderów bazodanowych:
[root@serwer01 data]# chown -R maria:maria /mariadb
[root@serwer01 data]# chown -R maria:maria /mariadbdata

ustawiamy zmienne przed uruchomieniem instalacji RPMów (już z poziomu usera maria):
[maria@serwer01 ~]$ env|grep MYSQL

MYSQL_HOME=/mariadbdata/naszabaza/data

Tworzymy w folderze /mariadbdata/naszabaza/data plik konfiguracyjny my.cnf :
[maria@serwer01 data]$ vi my.cnf
sprawdzamy czy ścieżki są poprawnie wpisane oraz czy poprawnie jest podana nazwa serwera

[client]
port=3306
socket=/mariadbdata/naszabaza/data/naszabaza.sock

[mysqld]
wait_timeout=31536000
max_allowed_packet=16M
#lower_case_table_names=0
bind-address=serwer01
port=3306
socket=/mariadbdata/naszabaza/data/naszabaza.sock
datadir=/mariadbdata/naszabaza/data/data
basedir=/mariadb/10122
tmpdir=/mariadbdata/naszabaza/tmp
long_query_time=30
character-set-server=utf8
default_storage_engine=INNODB
sql_mode="TRADITIONAL,NO_ENGINE_SUBSTITUTION"
max_connections=100
innodb_buffer_pool_size = 64M
join_buffer_size = 64M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
innodb_file_per_table
innodb_data_file_path=ibdata1.tbs:90M:autoextend
innodb-data-home-dir=/mariadbdata/naszabaza/data/InnoDB
innodb_log_files_in_group=3
innodb_log_file_size = 1G
innodb-log-group-home-dir=/mariadbdata/naszabaza/log/innodb
log-error=/mariadbdata/naszabaza/data/naszabaza.log
pid-file=/mariadbdata/naszabaza/data/naszabaza.pid
query_cache_size=32M

Należy zwrócić uwagę na parametr innodb_log_file_size oraz innodb_log_files_in_group. W naszym przypadku 3 logi po 1GB wymagają na filesystemie /mariadbdata/naszabaza/log conajmniej 3GB wolnego miejsca.
Parametr log-error określa, gdzie będzie znajdował się log naszej bazy.

Ustawiamy zmienną BASEDIR przed instalacją RPMów :

[root@serwer01 ~]# CZAS=`date +%Y%m%d-%H%M%S`
[root@serwer01 ~]# BASEDIR=/mariadb/10122
[root@serwer01 ~]# export BASEDIR CZAS

W systemie Linux jest zainstalowana jedna biblioteka MariaDB, która będzie się kłóciła naszymi plikami instalacyjnymi
[root@serwer01 ~]# rpm -qa|grep -i maria

mariadb-libs-5.5.52-1.el7.x86_64


dlatego też należy ją odinstalować:
[root@serwer01 ~]# rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64
[root@serwer01 ~]# rpm -qa|grep -i maria
Biblioteka została odistalowana.

Sprawdzamy zmienną BASEDIR:
[root@serwer01 ~]# env|grep BASE

BASEDIR=/mariadb/10122

Dopisujemy do pliku HOSTS nasz serwer:
[root@serwer01 ~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
122.122.144.179 serwer01

Kopiujemy spakowany plik instalacyjny bazy MariaDB do folderu domowego user root (najlepiej w jakimś specjalnym folderze z instalkami). Przechodzimy do folderu z instalkami i rozpakowujemy plik TAR

tar -xvf mariadb-10.1.22-rhel-7-x86_64-rpms.tar

Utworzy się folder z plikami instalacyjnymi
[root@serwer01 ~]# cd /mariadb/install/mariadb-10.1.22-rhel-7-x86_64-rpms/

[root@serwer01 mariadb-10.1.22-rhel-7-x86_64-rpms]# ll

total 164772
-rw-rw-r-- 1 maria maria   8376492 Mar 14 17:16 galera-25.3.19-1.rhel7.el7.centos.x86_64.rpm
-rw-rw-r-- 1 maria maria       230 Apr 19 14:33 inst_log-common-20170419-142822
-rw-rw-r-- 1 maria maria    106112 Mar 14 17:16 jemalloc-3.6.0-1.el7.x86_64.rpm
-rw-rw-r-- 1 maria maria     22876 Mar 14 17:16 jemalloc-devel-3.6.0-1.el7.x86_64.rpm
-rw-rw-r-- 1 maria maria  40922904 Mar 14 17:16 MariaDB-10.1.22-centos7-x86_64-client.rpm
-rw-rw-r-- 1 maria maria    125496 Mar 14 17:16 MariaDB-10.1.22-centos7-x86_64-common.rpm
-rw-rw-r-- 1 maria maria   1499776 Mar 14 17:16 MariaDB-10.1.22-centos7-x86_64-compat.rpm
-rw-rw-r-- 1 maria maria   2468516 Mar 14 17:16 MariaDB-10.1.22-centos7-x86_64-connect-engine.rpm
-rw-rw-r-- 1 maria maria     16084 Mar 14 17:16 MariaDB-10.1.22-centos7-x86_64-cracklib-password-check.rpm
-rw-rw-r-- 1 maria maria   6910908 Mar 14 17:16 MariaDB-10.1.22-centos7-x86_64-devel.rpm
-rw-rw-r-- 1 maria maria     18760 Mar 14 17:16 MariaDB-10.1.22-centos7-x86_64-gssapi-client.rpm
-rw-rw-r-- 1 maria maria     46528 Mar 14 17:16 MariaDB-10.1.22-centos7-x86_64-gssapi-server.rpm
-rw-rw-r-- 1 maria maria    557852 Mar 14 17:16 MariaDB-10.1.22-centos7-x86_64-oqgraph-engine.rpm
-rw-rw-r-- 1 maria maria 106283816 Mar 14 17:16 MariaDB-10.1.22-centos7-x86_64-server.rpm
-rw-rw-r-- 1 maria maria   1326960 Mar 14 17:16 MariaDB-10.1.22-centos7-x86_64-shared.rpm
-rw-rw-r-- 1 maria maria      1743 Mar 14 17:16 README
drwxrwxr-x 2 maria maria      4096 Apr 20 20:47 repodata
-rw-rw-r-- 1 maria maria      1009 Mar 14 17:16 setup_repository

Na czerwono zaznaczono niezbędne pliki RPM.

Instalujemy paczki RPM w kolejności:
jemalloc-3.6.0-1.el7.x86_64.rpm
jemalloc-devel-3.6.0-1.el7.x86_64.rpm
galera-25.3.19-1.rhel7.el7.centos.x86_64.rpm
unixODBC-2.3.1-11.el7.x86_64

MariaDB-10.1.22-centos7-x86_64-common.rpm
MariaDB-10.1.22-centos7-x86_64-compat.rpm
MariaDB-10.1.22-centos7-x86_64-devel.rpm
MariaDB-10.1.22-centos7-x86_64-shared.rpm
MariaDB-10.1.22-centos7-x86_64-client.rpm
MariaDB-10.1.22-centos7-x86_64-server.rpm

Kiedyś instalowałem jeszcze poniższe RPMy, ale podobno nie są potrzebne.


MariaDB-10.1.22-centos7-x86_64-cracklib-password-check.rpm
MariaDB-10.1.22-centos7-x86_64-connect-engine.rpm

Rozpoczynamy instalację pakietów:

[root@serwer01 ]# rpm -ivh jemalloc-3.6.0-1.el7.x86_64.rpm

warning: jemalloc-3.6.0-1.el7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 1bb943db: NOKEY
Preparing...                                   ################################# [100%]
Updating / installing...
   1:jemalloc-3.6.0-1.el7                      ################################# [100%]

[root@serwer01 ]# rpm -ivh jemalloc-devel-3.6.0-1.el7.x86_64.rpm

warning: jemalloc-devel-3.6.0-1.el7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 1bb943db: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:jemalloc-devel-3.6.0-1.el7       ################################# [100%]

Sprawdzamy czy się zainstalowały:

[root@serwer01 ]# rpm -qa|grep -i jemall

jemalloc-3.6.0-1.el7.x86_64
jemalloc-devel-3.6.0-1.el7.x86_64

[root@serwer01 ]# rpm -ivh galera-25.3.20-1.rhel7.el7.centos.x86_64.rpm

Preparing...                          ################################# [100%]
Updating / installing...
   1:galera-25.3.20-1.rhel7.el7.centos################################# [100%]

[root@serwer01 ]# yum install unixODBC-2.3.1-11.el7.x86_64

...
Installed:
  unixODBC.x86_64 0:2.3.1-11.el7                                                                                                                    
Complete!

Pora na instalacje paczek MariaDB (łącznie 6 sztuk).

[root@serwer01 ]# rpm -ivh --noscripts --replacefiles --badreloc --relocate /usr=$BASEDIR --relocate /etc=$BASEDIR/etc MariaDB-10.1.22-centos7-x86_64-common.rpm

warning: MariaDB-10.1.22-centos7-x86_64-common.rpm: Header V4 DSA/SHA1 Signature, key ID 1bb943db: NOKEY
Preparing...                                   ################################# [100%]
Updating / installing...
   1:MariaDB-common-10.1.22-1.el7.cent         ################################# [100%]

[root@serwer01 ]# rpm -ivh --noscripts --replacefiles --badreloc --relocate /usr=$BASEDIR --relocate /etc=$BASEDIR/etc MariaDB-10.1.22-centos7-x86_64-compat.rpm

warning: MariaDB-10.1.22-centos7-x86_64-compat.rpm: Header V4 DSA/SHA1 Signature, key ID 1bb943db: NOKEY
Preparing...                                   ################################# [100%]
Updating / installing...
   1:MariaDB-compat-10.1.22-1.el7.cent         ################################# [100%]

[root@serwer01 ]# rpm -ivh --noscripts --replacefiles --badreloc --relocate /usr=$BASEDIR --relocate /etc=$BASEDIR/etc MariaDB-10.1.22-centos7-x86_64-devel.rpm

warning: MariaDB-10.1.22-centos7-x86_64-devel.rpm: Header V4 DSA/SHA1 Signature, key ID 1bb943db: NOKEY
Preparing...                                   ################################# [100%]
Updating / installing...
   1:MariaDB-devel-10.1.22-1.el7.cento         ################################# [100%]

[root@serwer01 ]# rpm -ivh --noscripts --replacefiles --badreloc --relocate /usr=$BASEDIR --relocate /etc=$BASEDIR/etc MariaDB-10.1.22-centos7-x86_64-shared.rpm

warning: MariaDB-10.1.22-centos7-x86_64-shared.rpm: Header V4 DSA/SHA1 Signature, key ID 1bb943db: NOKEY
Preparing...                                   ################################# [100%]
Updating / installing...
   1:MariaDB-shared-10.1.22-1.el7.cent         ################################# [100%]

[root@serwer01 ]# rpm -ivh --noscripts --replacefiles --badreloc --relocate /usr=$BASEDIR --relocate /etc=$BASEDIR/etc MariaDB-10.1.22-centos7-x86_64-client.rpm

warning: MariaDB-10.1.22-centos7-x86_64-client.rpm: Header V4 DSA/SHA1 Signature, key ID 1bb943db: NOKEY
Preparing...                                   ################################# [100%]
Updating / installing...
   1:MariaDB-client-10.1.22-1.el7.cent         ################################# [100%]

[root@serwer01 ]# rpm -ivh --noscripts --replacefiles --badreloc --relocate /usr=$BASEDIR --relocate /etc=$BASEDIR/etc MariaDB-10.1.22-centos7-x86_64-server.rpm

warning: MariaDB-10.1.22-centos7-x86_64-server.rpm: Header V4 DSA/SHA1 Signature, key ID 1bb943db: NOKEY
Preparing...                                   ################################# [100%]
Updating / installing...
   1:MariaDB-server-10.1.22-1.el7.cent         ################################# [100%]

Czasami jeszcze pakiet SERVER domaga się kilku bibliotek:

warning: MariaDB-10.1.22-centos7-x86_64-server.rpm: Header V4 DSA/SHA1 Signature, key ID 1bb943db: NOKEY
error: Failed dependencies:
        lsof is needed by MariaDB-server-10.1.22-1.el7.centos.x86_64
        perl(DBI) is needed by MariaDB-server-10.1.22-1.el7.centos.x86_64
        perl(Data::Dumper) is needed by MariaDB-server-10.1.22-1.el7.centos.x86_64
        rsync is needed by MariaDB-server-10.1.22-1.el7.centos.x86_64

Trzeba zainstalować biblioteki:

yum instal lsof
yum install perl-DBI
yum install rsync

yum install libodbc.so.2 -> to nie wiem czy trzeba
yum install unixODBC.x86_64

Czasami tak jest że podczas instalacji pakietów następuję „zakleszczenie” np:

[root@serwer01 ]# rpm -ivh --noscripts --replacefiles --badreloc --relocate /usr=$BASEDIR --relocate /etc=$BASEDIR/etc MariaDB-10.1.22-centos7-x86_64-common.rpm

warning: MariaDB-10.1.22-centos7-x86_64-common.rpm: Header V4 DSA/SHA1 Signature, key ID 1bb943db: NOKEY
error: Failed dependencies:
        MariaDB-compat is needed by MariaDB-common-10.1.22-1.el7.centos.x86_64

[root@serwer01 ]# rpm -ivh --noscripts --replacefiles --badreloc --relocate /usr=$BASEDIR --relocate /etc=$BASEDIR/etc MariaDB-10.1.22-centos7-x86_64-compat.rpm

warning: MariaDB-10.1.22-centos7-x86_64-compat.rpm: Header V4 DSA/SHA1 Signature, key ID 1bb943db: NOKEY
error: Failed dependencies:
        MariaDB-common is needed by MariaDB-compat-10.1.22-1.el7.centos.x86_64

Aby zainstalować COMMON’a potrzebny jest COMPAT, ale żeby zainstalować COMPAT’a niezbędny jest COMMON 🙂
Z tej sytuacji są dwa wyjścia.

Można zainstalować oba pakiety poleceniem YUM
[root@serwer01 ]# yum install MariaDB-10.1.22-centos7-x86_64-common.rpm MariaDB-10.1.22-centos7-x86_64-compat.rpm
a następnie usunąć jedną z nich poleceniem
rpm -e --nodeps MariaDB-10.1.22-centos7-x86_64-compat.rpm
i zainstalować tak jak wyżej poleceniem RPM, potem odinstalować drugą
rpm -e --nodeps MariaDB-common-10.1.22-1.el7.centos.x86_64
i zainstalować poleceniem RPM, ale jest to metoda trochę „nieładna”.

Lepszą metodą jest instalacja dwóch RPM-ów na raz:

[root@serwer01 ]# rpm -ivh --noscripts --replacefiles --badreloc --relocate /usr=$BASEDIR --relocate /etc=$BASEDIR/etc MariaDB-10.1.22-centos7-x86_64-com*

warning: MariaDB-10.1.22-centos7-x86_64-common.rpm: Header V4 DSA/SHA1 Signature, key ID 1bb943db: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:MariaDB-compat-10.1.22-1.el7.cento################################# [ 50%]
   2:MariaDB-common-10.1.22-1.el7.cento################################# [100%] 

Sprawdzamy zainstalowane pakiety:
[root@serwer01 ]# rpm -qa|grep -i maria

MariaDB-devel-10.1.22-1.el7.centos.x86_64
MariaDB-shared-10.1.22-1.el7.centos.x86_64
MariaDB-client-10.1.22-1.el7.centos.x86_64
MariaDB-compat-10.1.22-1.el7.centos.x86_64
MariaDB-server-10.1.22-1.el7.centos.x86_64
MariaDB-common-10.1.22-1.el7.centos.x86_64

[root@serwer01 ]# rpm -qa|grep -i jem

jemalloc-3.6.0-1.el7.x86_64
jemalloc-devel-3.6.0-1.el7.x86_64

[root@serwer01 ]# rpm -qa|grep -i gal

galera-25.3.19-1.rhel7.el7.centos.x86_64

Pakiety zostały zainstalowane. Wylogowujemy się z ROOT’a bo resztę rzeczy wykonamy z usera MARIA:
[root@serwer01 ]# exit

logout

Pora utworzyć instancję:
Sprawdzamy foldery:
[maria@serwer01 ~]$ df -h

Filesystem                          Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root_lv            2.0G   64M  2.0G   4% /
devtmpfs                             32G     0   32G   0% /dev
tmpfs                                32G     0   32G   0% /dev/shm
tmpfs                                32G  9.2M   32G   1% /run
tmpfs                                32G     0   32G   0% /sys/fs/cgroup
/dev/mapper/rhel-usr_lv             8.0G  1.4G  6.6G  18% /usr
/dev/sda1                          1014M  141M  874M  14% /boot
/dev/mapper/rhel-var_lv             4.0G  112M  3.9G   3% /var
/dev/mapper/rhel-tmp_lv             2.0G  194M  1.9G  10% /tmp
/dev/mapper/rhel-home_lv             10G   33M   10G   1% /home
/dev/mapper/rhel-opt_lv             2.0G   33M  2.0G   2% /opt
/dev/mapper/rhel-data_lv            1.2T   33M  1.2T   1% /data
/dev/sr4                            3.6G  3.6G     0 100% /media
/dev/mapper/rhel-mariadb_lv         2.0G  861M  1.2G  43% /mariadb
/dev/mapper/rhel-mariadb_data_lv    200G   33M  200G   1% /mariadbdata/naszabaza/data
/dev/mapper/rhel-mariadb_backup_lv  100G   33M  100G   1% /mariadbdata/naszabaza/backup
/dev/mapper/rhel-mariadb_tmp_lv      10G   33M   10G   1% /mariadbdata/naszabaza/tmp
/dev/mapper/rhel-mariadb_log_lv      10G   33M   10G   1% /mariadbdata/naszabaza/log
tmpfs                               6.3G     0  6.3G   0% /run/user/1010
tmpfs                               6.3G     0  6.3G   0% /run/user/0

Tworzymy nowe katalogi w folderze /mariadbdata/naszabaza/data/data (obecnie pusty)
[maria@serwer01 data]$ mkdir -p /mariadbdata/naszabaza/log/innodb
[maria@serwer01 data]$ mkdir -p /mariadbdata/naszabaza/data/data
[maria@serwer01 data]$ mkdir -p /mariadbdata/naszabaza/data/InnoDB
Ustawiamy zmienne
[maria@serwer01 data]$ env|grep BAS
[maria@serwer01 data]$ CZAS=`date +%Y%m%d-%H%M%S`
[maria@serwer01 data]$ BASEDIR=/mariadb/10122
[maria@serwer01 data]$ export BASEDIR CZAS

Sprawdzamy zmienną MYSQL_HOME która powinna być ustawiona przy logowaniu się usera MARIA:
[maria@serwer01 data]$ env|grep MYS

MYSQL_HOME=/mariadbdata/naszabaza/data

Uruchamiamy tworzenie instancji:
[maria@serwer01 data]$ mysql_install_db --user=maria --basedir=/mariadb/10122 --datadir=/mariadbdata/naszabaza/data --ldata=/mariadbdata/naszabaza/data/data

Installing MariaDB/MySQL system tables in '/mariadbdata/naszabaza/data/data' ...
2017-04-21 10:29:30 140020528269568 [Note] /mariadb/10122/sbin/mysqld (mysqld 10.1.22-MariaDB) starting as process 9813 ...
OK
Filling help tables...
2017-04-21 10:29:41 140234691647744 [Note] /mariadb/10122/sbin/mysqld (mysqld 10.1.22-MariaDB) starting as process 9847 ...
OK
Creating OpenGIS required SP-s...
2017-04-21 10:29:44 139633399453952 [Note] /mariadb/10122/sbin/mysqld (mysqld 10.1.22-MariaDB) starting as process 9877 ...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
To do so, start the server, then issue the following commands:

'/mariadb/10122/bin/mysqladmin' -u root password 'new-password'
'/mariadb/10122/bin/mysqladmin' -u root -h serwer01.corpnet.pl password 'new-password'

Alternatively you can run:
'/mariadb/10122/bin/mysql_secure_installation'

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the MariaDB Knowledgebase at http://mariadb.com/kb or the
MySQL manual for more instructions.

You can start the MariaDB daemon with:
cd '/mariadb/10122' ; /mariadb/10122/bin/mysqld_safe --datadir='/mariadbdata/naszabaza/data/data'

You can test the MariaDB daemon with mysql-test-run.pl
cd '/mariadb/10122/mysql-test' ; perl mysql-test-run.pl

Please report any problems at http://mariadb.org/jira

The latest information about MariaDB is available at http://mariadb.org/.
You can find additional information about the MySQL part at:
http://dev.mysql.com
Consider joining MariaDB's strong and vibrant community:
https://mariadb.org/get-involved/

Jakby coś poszło nie tak należy usunąć stworzone pliki bazodanowe. Zweryfikować w logu mautic.log w /mariadbdata/naszabaza/data (tam gdzie jest plik my.cnf) co jest przyczyną nieutworzenia instancji i po usunięciu problemów ponownie uruchomić tworzenie.

Nasza instancja została stworzona. Możemy uruchomić bazę i się do niej podłączyć.
[maria@serwer01 data]$ cd /mariadb/dba/scripts/

[maria@serwer01 scripts]$ ll
total 8
-rwxrw-r-- 1 maria maria 76 Apr 21 09:06 start_mariadb.sh
-rwxrw-r-- 1 maria maria 50 Apr 21 09:07 stop_mariadb.sh

[maria@serwer01 scripts]$ ./start_mariadb.sh

2017-04-21 10:30:32 140363389372672 [Note] /mariadb/10122/sbin/mysqld (mysqld 10.1.22-MariaDB) starting as process 9907 ...


Sprawdzamy czy się uruchomiła:
[maria@serwer01 scripts]$ ps -ef|grep mysq

maria      9907      1  3 10:30 pts/2    00:00:00 /mariadb/10122/sbin/mysqld --defaults-file=/mariadbdata/naszabaza/data/my.cnf
maria      9936   9726  0 10:30 pts/2    00:00:00 grep --color=auto mysq


Uruchamiamy MySQLAdmina aby zmienić hasło usera rooot w bazie:
[maria@serwer01 scripts]$ mysqladmin -u root password 'nowehaslo123'
Teraz logujemy się do bazy jako ROOT (usera MARIA w bazie jeszcze nie ma) używając hasła które przed chwilką ustawiliśmy:
[maria@serwer01 scripts]$ mysql -u root -p

Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 10.1.22-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

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

MariaDB [(none)]>

Możemy też zalogować się do bazy jako ROOT bez hasła

[maria@serwer01 ]$ mysql -u root

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 10.2.6-MariaDB MariaDB Server

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

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

a następnie ustawić mu hasło:

MariaDB [(none)]> set password for 'root'@'localhost' = PASSWORD('pass123');

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> set password for 'root'@'serwer01' = PASSWORD('pass123');

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> set password for 'root'@'127.0.0.1' = PASSWORD('pass123');

Query OK, 0 rows affected (0.00 sec)

Trzeba też dodać usera MARIA do użytkowników bazy danych
Sprawdzamy listę userów

MariaDB [(none)]> select user,host from mysql.user;
+——+———–+
| user | host |
+——+———–+
| root | 127.0.0.1 |
| root | ::1 |
| | localhost |
| root | localhost |
| | mauticprd |
| root | mauticprd |
+——+———–+
6 rows in set (0.00 sec)

Najpierw tworzymy usera MARIA w bazie lokalnej (localhost) i nadajemy mu uprawnienia analogiczne jak ROOT:

MariaDB [(none)]> create user 'maria'@'localhost' identified by 'haslomarii';

Query OK, 0 rows affected (0.00 sec)

Dodajemy uprawnienia:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'maria'@'localhost' WITH GRANT OPTION;

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> GRANT PROXY ON ''@'%' TO 'maria'@'localhost' WITH GRANT OPTION;

Query OK, 0 rows affected (0.00 sec)

Zaczytujemy uprawnienia:
MariaDB [(none)]> flush privileges;

Query OK, 0 rows affected (0.00 sec)

Wylogowujemy się z ROOTa
MariaDB [(none)]> exit

Bye


i logujemy do bazy jako MARIA:
[maria@serwer01 scripts]$ mysql -u maria -p

Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.1.22-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

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

MariaDB [(none)]>

Tworzymy bazę BAZA1 i usera aplikacyjnego TESTER, któremu nadajemy uprawnienia do tej bazy:

MariaDB [(none)]> CREATE DATABASE naszabaza CHARACTER SET utf8 COLLATE utf8_polish_ci;

Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> create user 'tester'@'localhost' identified by 'pass123';

Query OK, 0 rows affected (0.00 sec)



MariaDB [(none)]> GRANT ALL PRIVILEGES ON naszabaza.* TO 'tester'@'localhost';

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> select user,host from mysql.user;

+-------+---------------------+
| user  | host                |
+-------+---------------------+
| root  | 127.0.0.1           |
| root  | ::1                 |
|       | localhost           |
| maria | localhost           |
| tester| localhost           |
| root  | localhost           |
| maria | serwer01            |
|       | serwer01.corpnet.pl |
| root  | serwer01.corpnet.pl |
+-------+---------------------+
9 rows in set (0.00 sec)

MariaDB [(none)]> show databases;

+--------------------+
| Database           |
+--------------------+
| information_schema |
| naszabaza               |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)

MariaDB [(none)]> exit

Bye

Przetestujemy jeszcze czy baza zamyka się i podnosi prawidłowo:
[maria@serwer01 scripts]$ ./stop_mariadb.sh
[maria@serwer01 scripts]$ ps -ef|grep mysql

maria      9953   9726  0 10:40 pts/2    00:00:00 grep --color=auto mysql

[maria@serwer01 scripts]$ ./start_mariadb.sh

2017-04-21 10:40:34 139934353869056 [Note] /mariadb/10122/sbin/mysqld (mysqld 10.1.22-MariaDB) starting as process 9955 ...

[maria@serwer01 scripts]$ ps -ef|grep mysql

maria      9955      1  8 10:40 pts/2    00:00:00 /mariadb/10122/sbin/mysqld --defaults- file=/mariadbdata/naszabaza/data/my.cnf
maria      9984   9726  0 10:40 pts/2    00:00:00 grep --color=auto mysql

Baza została zainstalowana!

Ten wpis został opublikowany w kategorii MySQL (MariaDB) i oznaczony tagami . Dodaj zakładkę do bezpośredniego odnośnika.

Dodaj komentarz