Hur man skapar Sudoer-konfiguration för ögonblicksbilder

När du använder LVM-ögonblicksbilder krävs följande poster i filen / etc / sudoers. Kör “visudo” för att redigera filen / etc / sudoers och lägg till dessa poster för att tillåta mysql användare att köra nödvändiga kommandon utan att bli ombedd att ange ett lösenord och utan att behöva inloggningsskal:

mysql = NOPASSWD: / bin / mount, NOPASSWD: / bin / umount, NOPASSWD: / bin / df, NOPASSWD: / usr / sbin / lvdisplay, NOPASSWD: / usr / sbin / lvcreate, NOPASSWD: / usr / sbin / lvremove Defaults: % mysql! requiretty Standardvärden: mysql! requiretty

Kom ihåg att ersätta rätt väg till alla lvmtools beroende på operativsystem, eftersom detta kan vara olika beroende på vilken distribution av Linux du använder.

Du kan finjustera din sudoers-fil om ditt företag har strängare policyer, kan vi ta ett exempel:

Låt oss säga att det på MySQL-servern, diamond.jewel.com, finns 3 volymgrupper VolGroup00, vg1 & vg2 och logiska volymer LogVol00, lv1 & lv2 en i vardera. Vi har mysql datadir i Logvol00 med innodb-databas i lv1 och innodb-loggar i lv2:
 

Filsystem 1K-block som används Tillgänglig användning% monterad på
/ dev / mapper / VolGroup00-LogVol00
7459216 3040728 4033464 43 % /
/ dev / sda1 101086 10895 84972 12% / boot
tmpfs 127668 0 127668 0% / dev / shm
/ dev / mapper / vg1-lv1 126931 11832 108546 10% / l1
/ dev / mapper / vg2-lv2 126931 11833 108545 10% / l2


Innehållet i /etc/my.cnf är som följer

innodb_data_home_dir = / l1 / ibdata innodb_data_file_path = ibdata1: 10M: autoextend innodb_log_group_home_dir = / l2 / iblogs


Sudoer-filkonfigurationen bör ha följande rader för ovanstående exempel och om du bara har en volymgrupp måste du bara ha en rad.

mysql diamond.jewel.com = NOPASSWD: / bin / mount / dev / VolGroup00 / zrm * / tmp / zrm *, NOPASSWD: / bin / umount / tmp / zrm *, NOPASSWD: / bin / df, NOPASSWD: / usr / sbin / lvdisplay, NOPASSWD: / usr / sbin / lvcreate -L * -s -n zrm * / dev / VolGroup00 / LogVol00, NOPASSWD: / usr / sbin / lvremove -f / dev / VolGroup00 / zrm * mysql diamond.jewel. com = NOPASSWD: / bin / mount / dev / vg1 / zrm * / tmp / zrm *, NOPASSWD: / bin / umount / tmp / zrm *, NOPASSWD: / bin / df, NOPASSWD: / usr / sbin / lvdisplay, NOPASSWD : / usr / sbin / lvcreate -L * -s -n zrm * / dev / vg1 / lv1, NOPASSWD: / usr / sbin / lvremove -f / dev / vg1 / zrm * mysql diamond.jewel.com = NOPASSWD: / bin / mount / dev / vg2 / zrm * / tmp / zrm *, NOPASSWD: / bin / umount / tmp / zrm *, NOPASSWD: / bin / df, NOPASSWD: / usr / sbin / lvdisplay, NOPASSWD: / usr / sbin / lvcreate -L * -s -n zrm * / dev / vg2 / lv2, NOPASSWD: / usr / sbin / lvremove -f / dev / vg2 / zrm *


OBS: Ange rätt sökväg till lvm-kommandona och df.

Om du använder xfs-filsystem måste du ange

mysql diamond.jewel.com = NOPASSWD: / bin / mount -o -nouuid / dev / VolGroup00 / zrm * / tmp / zrm *, NOPASSWD: / bin / umount / tmp / zrm *, NOPASSWD: / bin / df, NOPASSWD : / usr / sbin / lvdisplay, NOPASSWD: / usr / sbin / lvcreate -L * -s -n zrm * / dev / VolGroup00 / LogVol00, NOPASSWD: / usr / sbin / lvremove -f / dev / VolGroup00 / zrm *

Kom också ihåg att lägga till följande rader så att ett inloggningsskal inte krävs för mysql användare att köra sudo-kommandot:

Standardvärden:% mysql! Requiretty Standardvärden: mysql! Requiretty