Как очистить данные из всех файлов, присутствующих в каталоге?

Мой процесс установки был (прежде чем спрашивать)

sudo tar zxvf /media/sf_Users/josebernal/Downloads/Php\ Tomcat\ Httpd\ MySQL/mariadb-10.1.20-linux-x86_64.tar.gz -C /usr/local/
sudo ln -s /usr/local/mariadb-10.1.20-linux-x86_64 /usr/local/ServerWeb/mariadb

sudo groupadd -r Gmariadb
sudo useradd -g Gmariadb -c "MariaDB User" -s /sbin/nologin -r Umariadb

sudo chown -R Umariadb:Gmariadb /usr/local/ServerWeb/mariadb/
sudo cp /usr/local/ServerWeb/mariadb/support-files/my-small.cnf /etc/my.cnf
... EDIT the config mariadb (mysql) file named my.cnf

sudo /usr/local/ServerWeb/mariadb/scripts/mysql_install_db --user=mysql --basedir=/usr/local/ServerWeb/mariadb --datadir=/usr/local/ServerWeb/mariadb/data --log-error=/usr/local/ServerWeb/mariadb/data/server.err &
....
... The next steps..

Еще до того, как я сообщил (спросил) о проблеме, я проверил владение ...

[joseluisbz@Vxbox-Lnx ~]$ ls -al /usr/local/ServerWeb/mariadb/
total 224
drwxrwxr-x  13 Umariadb Gmariadb  4096 Dec 14 23:27 .
drwxr-xr-x. 18 root     root      4096 Jan  5 12:00 ..
drwxrwxr-x   2 Umariadb Gmariadb  4096 Nov 18 15:03 bin
-rw-r--r--   1 Umariadb Gmariadb 17987 Dec 14 14:25 COPYING
-rw-r--r--   1 Umariadb Gmariadb 26545 Dec 14 14:25 COPYING.LESSER
-rw-r--r--   1 Umariadb Gmariadb 86259 Dec 14 14:25 COPYING.thirdparty                                                                                                           
-rw-r--r--   1 Umariadb Gmariadb  2122 Dec 14 14:25 CREDITS                                                                                                                      
drwxrwxr-x   4 mysql    Gmariadb  4096 Mar  8 20:25 data                                                                                                                         
drwxrwxr-x   2 Umariadb Gmariadb    30 Dec 14 23:26 DESTINATION                                                                                                                  
-rw-r--r--   1 Umariadb Gmariadb  8245 Dec 14 14:25 EXCEPTIONS-CLIENT                                                                                                            
drwxrwxr-x   3 Umariadb Gmariadb    18 Dec 14 23:26 include                                                                                                                      
-rw-r--r--   1 Umariadb Gmariadb  8694 Dec 14 14:25 INSTALL-BINARY                                                                                                               
drwxrwxr-x   4 Umariadb Gmariadb  4096 Nov 18 15:03 lib                                                                                                                          
drwxrwxr-x   4 Umariadb Gmariadb    28 Dec 14 23:27 man                                                                                                                          
drwxrwxr-x  11 Umariadb Gmariadb  4096 Dec 14 23:26 mysql-test                                                                                                                   
-rw-r--r--   1 Umariadb Gmariadb  2105 Dec 14 14:25 README                                                                                                                       
-rw-r--r--   1 Umariadb Gmariadb 19510 Dec 14 14:25 README-wsrep                                                                                                                 
drwxrwxr-x   2 Umariadb Gmariadb    29 Dec 14 23:27 scripts                                                                                                                      
drwxrwxr-x  29 Umariadb Gmariadb  4096 Dec 14 23:26 share
drwxrwxr-x   4 Umariadb Gmariadb  4096 Dec 14 23:27 sql-bench
drwxrwxr-x   3 Umariadb Gmariadb  4096 Jan  4 22:32 support-files

Я заметил в папке с данными, что после установки право собственности принадлежит (mysql: mysql), но я думал, что это проблема служебного скрипта (mariadb.service) ...

[joseluisbz@Vxbox-Lnx ~]$ ls -al /usr/local/ServerWeb/mariadb/data/
total 110624
drwxrwxr-x  4 mysql    Gmariadb     4096 Mar  8 20:25 .
drwxrwxr-x 13 Umariadb Gmariadb     4096 Dec 14 23:27 ..
-rw-rw----  1 mysql    mysql       16384 Mar  8 19:59 aria_log.00000001
-rw-rw----  1 mysql    mysql          52 Mar  8 19:59 aria_log_control
-rw-rw----  1 mysql    mysql    12582912 Mar  8 19:59 ibdata1
-rw-rw----  1 mysql    mysql    50331648 Mar  8 19:59 ib_logfile0
-rw-rw----  1 mysql    mysql    50331648 Jan  4 22:01 ib_logfile1
-rw-rw----  1 mysql    mysql           0 Jan  4 22:05 multi-master.info
drwx------  2 mysql    root         4096 Jan  4 22:01 mysql
drwx------  2 mysql    mysql          19 Jan  4 22:01 performance_schema
-rw-rw----  1 mysql    mysql           0 Mar  8 20:04 server.err
[joseluisbz@Vxbox-Lnx ~]$ 

@Kalavan подтвердил мое подозрение на право собственности, затем мне нужно было сменить владельца после процесса установки ...

sudo chown -R Umariadb:Gmariadb /usr/local/ServerWeb/mariadb/

Я перезагружаю свой CentOS 7, и служба РАБОТАЕТ !!!

Я проверил файл журнала /usr/local/ServerWeb/mariadb/data/server.err ..

170308 20:36:23 mysqld_safe Starting mysqld daemon with databases from /usr/local/ServerWeb/mariadb/data
2017-03-08 20:36:23 140485189175168 [Note] /usr/local/ServerWeb/mariadb/bin/mysqld (mysqld 10.1.20-MariaDB) starting as process 2360 ...
2017-03-08 20:36:24 140485189175168 [Warning] One can only use the --user switch if running as root

2017-03-08 20:36:24 140485189175168 [Note] InnoDB: Using mutexes to ref count buffer pool pages
2017-03-08 20:36:24 140485189175168 [Note] InnoDB: The InnoDB memory heap is disabled
2017-03-08 20:36:24 140485189175168 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2017-03-08 20:36:24 140485189175168 [Note] InnoDB: GCC builtin __sync_synchronize() is used for memory barrier
2017-03-08 20:36:24 140485189175168 [Note] InnoDB: Compressed tables use zlib 1.2.3
2017-03-08 20:36:24 140485189175168 [Note] InnoDB: Using Linux native AIO
2017-03-08 20:36:24 140485189175168 [Note] InnoDB: Using SSE crc32 instructions
2017-03-08 20:36:24 140485189175168 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2017-03-08 20:36:24 140485189175168 [Note] InnoDB: Completed initialization of buffer pool
2017-03-08 20:36:24 140485189175168 [Note] InnoDB: Highest supported file format is Barracuda.
2017-03-08 20:36:24 140485189175168 [Note] InnoDB: 128 rollback segment(s) are active.
2017-03-08 20:36:24 140485189175168 [Note] InnoDB: Waiting for purge to start
2017-03-08 20:36:24 140485189175168 [Note] InnoDB:  Percona XtraDB (http://www.percona.com) 5.6.34-79.1 started; log sequence number 1622948
2017-03-08 20:36:25 140485189175168 [Note] Plugin 'FEEDBACK' is disabled.
2017-03-08 20:36:25 140484651484928 [Note] InnoDB: Dumping buffer pool(s) not yet started
2017-03-08 20:36:25 140485189175168 [Note] Server socket created on IP: '::'.
2017-03-08 20:36:25 140485189175168 [Note] /usr/local/ServerWeb/mariadb/bin/mysqld: ready for connections.
Version: '10.1.20-MariaDB'  socket: '/tmp/mysql.sock'  port: 3306  MariaDB Server

Проверка PID

[joseluisbz@Vxbox-Lnx ~]$ ps -aux | grep mariadb
mysql     1652  0.0  0.1 113264  1656 ?        Ss   11:42   0:00 /bin/sh /usr/local/ServerWeb/mariadb/bin/mysqld_safe --user=mysql --ledir=/usr/local/ServerWeb/mariadb/bin --datadir=/usr/local/ServerWeb/mariadb/data
mysql     2458  0.2  5.6 591028 87172 ?        Sl   11:42   0:00 /usr/local/ServerWeb/mariadb/bin/mysqld --basedir=/usr/local/ServerWeb/mariadb --datadir=/usr/local/ServerWeb/mariadb/data --plugin-dir=/usr/local/ServerWeb/mariadb/lib/plugin --log-error=/usr/local/ServerWeb/mariadb/data/server.err --pid-file=Vxbox-Lnx.pid --socket=/tmp/mysql.sock --port=3306
joselui+  4489  0.0  0.0 112652   964 pts/0    R+   11:44   0:00 grep --color=auto mariadb
[joseluisbz@Vxbox-Lnx ~]$ 

Эффективно работает mariadb !!!

Я проверил Статус

$ sudo systemctl status mariadb.service
[sudo] password for joseluisbz: 
● mariadb.service - start and stop MySQL(MariaDB) Server
  Loaded: loaded (/etc/systemd/system/mariadb.service; enabled; vendor preset: disabled)
  Active: active (running) since Fri 2017-03-10 11:42:07 COT; 17min ago
Main PID: 1652 (mysqld_safe)
  CGroup: /system.slice/mariadb.service
      ├─1652 /bin/sh /usr/local/ServerWeb/mariadb/bin/mysqld_safe --user=mysql --ledir=/usr/local/ServerWeb/mariadb/bin --datadir=/usr/local/ServerWeb/mariadb/data...
      └─2458 /usr/local/ServerWeb/mariadb/bin/mysqld --basedir=/usr/local/ServerWeb/mariadb --datadir=/usr/local/ServerWeb/mariadb/data --plugin-dir=/usr/local/Ser...

Mar 10 11:42:07 Vxbox-Lnx systemd[1]: Started start and stop MySQL(MariaDB) Server.
Mar 10 11:42:07 Vxbox-Lnx systemd[1]: Starting start and stop MySQL(MariaDB) Server...
Mar 10 11:42:09 Vxbox-Lnx mysqld_safe[1652]: 170310 11:42:09 mysqld_safe Logging to '/usr/local/ServerWeb/mariadb/data/server.err'.
[joseluisbz@Vxbox-Lnx ~]$ 

Но Я не могу подключиться !!

$ sudo mysql -u root -p
[sudo] password for joseluisbz: 
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
[joseluisbz@Vxbox-Lnx ~]$ 

Я проверяю наличие файла mysql.sock (но его нет) ...

# ls -al /tmp/
total 24
drwxrwxrwt. 22 root       root       4096 Mar 10 12:28 .
dr-xr-xr-x. 19 root       root       4096 Feb 18 21:21 ..
drwx------   2 joseluisbz joseluisbz   52 Mar 10 11:42 akonadi-joseluisbz.Fim4n9
drwx------   2 joseluisbz joseluisbz   50 Mar 10 09:20 .com.google.Chrome.I956Ja
drwx------   2 joseluisbz joseluisbz   50 Mar 10 07:38 .com.google.Chrome.ibPaUS
drwx------   2 joseluisbz joseluisbz   50 Mar  9 07:31 .com.google.Chrome.oIW6st
drwx------   2 joseluisbz joseluisbz   50 Mar  8 19:22 .com.google.Chrome.pGYMUt
drwx------.  2 joseluisbz joseluisbz   19 Mar 10 11:42 .esd-1000
drwxrwxrwt.  2 root       root          6 Oct 10 20:09 .font-unix
prw-------   1 root       root          0 Mar 10 11:42 hogsuspend
drwxrwxrwt.  2 root       root       4096 Mar 10 11:42 .ICE-unix
drwx------.  2 joseluisbz joseluisbz   50 Mar 10 12:25 kde-joseluisbz
drwx------   2 root       root         23 Mar 10 11:44 kde-root
drwx------   2 root       root       4096 Mar 10 11:44 ksocket-root
drwx------   2 joseluisbz joseluisbz   23 Mar 10 11:42 ssh-aOJwbK0vltXX
drwx------   3 root       root         16 Mar 10 11:42 systemd-private-65b25dd58edd4711ad864dc007925904-colord.service-EVVMql
drwx------   3 root       root         16 Mar 10 11:42 systemd-private-65b25dd58edd4711ad864dc007925904-cups.service-jOD1sm
drwx------   3 root       root         16 Mar 10 11:42 systemd-private-65b25dd58edd4711ad864dc007925904-mariadb.service-eioofZ
drwx------   3 root       root         16 Mar  9 15:11 systemd-private-65b25dd58edd4711ad864dc007925904-rtkit-daemon.service-E5cH4Y
drwxrwxrwt.  2 root       root          6 Oct 10 20:09 .Test-unix
drwx------.  2 joseluisbz joseluisbz    6 Oct 10 20:42 tracker-extract-files.1000
-r--r--r--   1 root       root         11 Mar 10 11:42 .X0-lock
drwxrwxrwt.  2 root       root         24 Mar 10 11:42 .X11-unix
-rw-------   1 root       root         54 Mar 10 08:35 xauth.XXXXTFUQeQ
drwxrwxrwt.  2 root       root          6 Oct 10 20:09 .XIM-unix
[root@Vxbox-Lnx joseluisbz]# 

Затем я изменил файл конфигурации /etc/my.cnf изменение местоположения сокета и подтверждение принадлежности (соответствующему пользователю: группы) папки его местоположения ...

[client]
...
socket      = /usr/local/ServerWeb/mariadb/tmp/mysql.sock
...

[mysqld]
...
socket      = /usr/local/ServerWeb/mariadb/tmp/mysql.sock
...

И создал папку tmp для сокета и снова подтвердил право владения!

sudo mkdir -pv /usr/local/ServerWeb/mariadb/tmp
sudo chown -R Umariadb:Gmariadb /usr/local/ServerWeb/mariadb/

ПОЗЖЕ этих изменений и перезагрузка CentOS 7

Проверка файла журнала /usr/local/ServerWeb/mariadb/data/server.err ..

170311 17:31:50 mysqld_safe Starting mysqld daemon with databases from /usr/local/ServerWeb/mariadb/data
2017-03-11 17:31:50 139805859948416 [Note] /usr/local/ServerWeb/mariadb/bin/mysqld (mysqld 10.1.20-MariaDB) starting as process 2187 ...
2017-03-11 17:31:51 139805859948416 [Note] InnoDB: Using mutexes to ref count buffer pool pages
2017-03-11 17:31:51 139805859948416 [Note] InnoDB: The InnoDB memory heap is disabled
2017-03-11 17:31:51 139805859948416 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2017-03-11 17:31:51 139805859948416 [Note] InnoDB: GCC builtin __sync_synchronize() is used for memory barrier
2017-03-11 17:31:51 139805859948416 [Note] InnoDB: Compressed tables use zlib 1.2.3
2017-03-11 17:31:51 139805859948416 [Note] InnoDB: Using Linux native AIO
2017-03-11 17:31:51 139805859948416 [Note] InnoDB: Using SSE crc32 instructions
2017-03-11 17:31:51 139805859948416 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2017-03-11 17:31:51 139805859948416 [Note] InnoDB: Completed initialization of buffer pool
2017-03-11 17:31:51 139805859948416 [Note] InnoDB: Highest supported file format is Barracuda.
2017-03-11 17:31:51 139805859948416 [Note] InnoDB: 128 rollback segment(s) are active.
2017-03-11 17:31:51 139805859948416 [Note] InnoDB: Waiting for purge to start
2017-03-11 17:31:51 139805859948416 [Note] InnoDB:  Percona XtraDB (http://www.percona.com) 5.6.34-79.1 started; log sequence number 1623144
2017-03-11 17:31:51 139805379786496 [Note] InnoDB: Dumping buffer pool(s) not yet started
2017-03-11 17:31:51 139805859948416 [Note] Plugin 'FEEDBACK' is disabled.
2017-03-11 17:31:51 139805859948416 [Note] Server socket created on IP: '::'.
2017-03-11 17:31:52 139805859948416 [Note] /usr/local/ServerWeb/mariadb/bin/mysqld: ready for connections.
Version: '10.1.20-MariaDB'  socket: '/usr/local/ServerWeb/mariadb/tmp/mysql.sock'  port: 3306  MariaDB Server

Запуск клиента ...

[joseluisbz@Vxbox-Lnx ~]$ mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.1.20-MariaDB MariaDB Server

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

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

MariaDB [(none)]> 

Работает отлично ...

Резюме решения

  • Порядок смены владельца на Umariadb: Gmariadb Только после установки.
  • Изменение местоположения сокета, в которое пользователь: группа может записывать ...

ПРИМЕЧАНИЕ : Исходный файл /etc/systemd/system/mariadb.service не имеет проблем!

1
21.04.2016, 10:25
1 ответ

Вы можете сделать это с помощью find :

cd top_level_dir
find . -type f -exec bash -c "echo -n '' > {}" \;

Для каждого имени файла он вызывает Bash (не очень эффективно) и выводит эхо без новой строки из-за -n , по существу ничего в файле, тем самым перезаписывая его содержимое и создавая файл нулевой длины.

Если у вас много файлов и / или для этого часто требуется небольшая (C / Python / Perl / Ruby) утилита, которая считывает из ввода список имен файлов с завершением NUL и записывает в каждое из них нулевое значение байтов, может что-то сказать значительно увеличился ( find -type f -print0 | your_zeroing_util )

Вы можете, например, используйте следующее как your_zeroing_util :

#!/usr/bin/env python

import sys

inp = sys.stdin.read()
while inp:
   if '\0' in inp:
      file_name, inp = inp.split('\0', 1)
      # print("emptying [{}]".format(file_name))
      with open(file_name, 'w') as fp:
         pass
   inp += sys.stdin.read()
3
27.01.2020, 23:25

Теги

Похожие вопросы