Stel NFS Share op Debian in
NFS is een netwerkgebaseerd bestandssysteem waarmee computers toegang hebben tot bestanden via een computernetwerk. Deze gids legt uit hoe u mappen via NF kunt weergeven
MySQL heeft een geweldige functie die bekend staat als "views". Weergaven zijn opgeslagen zoekopdrachten. Beschouw ze als een alias voor een anders lange zoekopdracht. In deze gids laat ik u zien hoe u weergaven kunt gebruiken om gegevens efficiënter te organiseren.
MySQL installeren op Debian 7.x is heel eenvoudig. Ten eerste moeten we ervoor zorgen dat onze bronnen worden bijgewerkt door het uitvoeren van:
sudo apt-get update
Vervolgens kunnen we de MySQL-server installeren:
sudo apt-get install -y mysql-server
Er wordt een dialoogvenster weergegeven waarin u wordt gevraagd een wachtwoord te maken voor de "root" -gebruiker. Zorg ervoor dat u dit wachtwoord onthoudt.
Laten we de beveiliging van onze installatie verbeteren door het volgende uit te voeren:
sudo mysql_secure_installation
Na uitvoering krijgt u een reeks prompts te zien. Elk van de antwoorden die u moet selecteren, wordt hieronder weergegeven.
...
Enter current password for root (enter for none):
OK, successfully used password, moving on...
...
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
...
Remove anonymous users? [Y/n] y
... Success!
...
Disallow root login remotely? [Y/n] y
... Success!
Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
...
Reload privilege tables now? [Y/n] y
... Success!
Cleaning up...
Op dit moment hebben we geen gegevens op de server om mee te experimenteren. Voor deze tutorial zullen we de werknemersdatabase gebruiken, omdat het gemakkelijk is om mee te werken en vrij beschikbaar is op de MySQL-website.
sudo wget https://launchpad.net/test-db/employees-db-1/1.0.6/+download/employees_db-full-1.0.6.tar.bz2
We moeten installeren bzip2
zodat we het bestand kunnen uitpakken.
sudo apt-get install bzip2
Pak de database uit. Het bestand is vrij groot, dus het kan even duren.
sudo bzip2 -dfv employees_db-full-1.0.6.tar.bz2
sudo tar -xf employees_db-full-1.0.6.tar
Zodra het bestand is uitgepakt, heeft u een map met de titel employees_db
. We moeten naar deze map navigeren om de database te installeren.
cd employees_db
ls -l
De uitvoer ziet er als volgt uit:
-rw-r--r--. 1 501 games 752 Mar 30 2009 Changelog
-rw-r--r--. 1 501 games 6460 Oct 9 2008 employees_partitioned2.sql
-rw-r--r--. 1 501 games 7624 Feb 6 2009 employees_partitioned3.sql
-rw-r--r--. 1 501 games 5660 Feb 6 2009 employees_partitioned.sql
-rw-r--r--. 1 501 games 3861 Nov 28 2008 employees.sql
-rw-r--r--. 1 501 games 241 Jul 30 2008 load_departments.dump
-rw-r--r--. 1 501 games 13828291 Mar 30 2009 load_dept_emp.dump
-rw-r--r--. 1 501 games 1043 Jul 30 2008 load_dept_manager.dump
-rw-r--r--. 1 501 games 17422825 Jul 30 2008 load_employees.dump
-rw-r--r--. 1 501 games 115848997 Jul 30 2008 load_salaries.dump
-rw-r--r--. 1 501 games 21265449 Jul 30 2008 load_titles.dump
-rw-r--r--. 1 501 games 3889 Mar 30 2009 objects.sql
-rw-r--r--. 1 501 games 2211 Jul 30 2008 README
-rw-r--r--. 1 501 games 4455 Mar 30 2009 test_employees_md5.sql
-rw-r--r--. 1 501 games 4450 Mar 30 2009 test_employees_sha.sql
Voer de volgende opdracht uit om verbinding te maken met de MySQL-server, de database te maken en de gegevens te importeren:
sudo mysql -h localhost -u root -p -t < employees.sql
Er verschijnt een prompt waarin om uw root-wachtwoord wordt gevraagd. Dit is het wachtwoord dat u in stap één heeft ingesteld.
Omdat de database vrij groot is, duurt het waarschijnlijk 1-3 minuten om de gegevens volledig te importeren. Als alles correct is gedaan, ziet u de volgende uitvoer.
+-----------------------------+
| INFO |
+-----------------------------+
| CREATING DATABASE STRUCTURE |
+-----------------------------+
+------------------------+
| INFO |
+------------------------+
| storage engine: InnoDB |
+------------------------+
+---------------------+
| INFO |
+---------------------+
| LOADING departments |
+---------------------+
+-------------------+
| INFO |
+-------------------+
| LOADING employees |
+-------------------+
+------------------+
| INFO |
+------------------+
| LOADING dept_emp |
+------------------+
+----------------------+
| INFO |
+----------------------+
| LOADING dept_manager |
+----------------------+
+----------------+
| INFO |
+----------------+
| LOADING titles |
+----------------+
+------------------+
| INFO |
+------------------+
| LOADING salaries |
+------------------+
Nu kunnen we inloggen op MySQL en de geïmporteerde gegevens bekijken.
sudo mysql -h localhost -u root -p
Voer het root- wachtwoord in dat u in de vorige sectie hebt ingesteld.
Bekijk de lijst met databases voor onze nieuwe database voor werknemers .
show databases;
De uitvoer ziet er als volgt uit:
+--------------------+
| Database |
+--------------------+
| information_schema |
| employees |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.01 sec)
Laten we de werknemersdatabase gebruiken .
use employees;
Controleer de tabellen erin.
show tables;
Dit zal het volgende opleveren:
+---------------------+
| Tables_in_employees |
+---------------------+
| departments |
| dept_emp |
| dept_manager |
| employees |
| salaries |
| titles |
+---------------------+
6 rows in set (0.01 sec)
In deze stap leert u hoe u weergaven maakt en gebruikt. Ik heb deze stap opgesplitst in kleinere secties voor het matchen van gegevens en het combineren van gegevens voor organisatie. Het is tijd om te beginnen met interactie met onze testgegevens.
Hieronder heb ik een vraag die alle werknemers weergeeft met een jaarsalaris gelijk aan of hoger dan $ 50.000.
select * from salaries where salary >= 50000;
Uitvoer (afgekapt):
+--------+--------+------------+------------+
| emp_no | salary | from_date | to_date |
+--------+--------+------------+------------+
| 10001 | 60117 | 1986-06-26 | 1987-06-26 |
| 10001 | 62102 | 1987-06-26 | 1988-06-25 |
| 10001 | 66074 | 1988-06-25 | 1989-06-25 |
| 10001 | 66596 | 1989-06-25 | 1990-06-25 |
| 10001 | 66961 | 1990-06-25 | 1991-06-25 |
(...)
Zoals u kunt zien, worden hier alleen werknemersnummers weergegeven. Het kan hinderlijk zijn bij het snel identificeren van een medewerker. Gelukkig kunnen we een weergave maken die een vrij lange query opslaat die werknemersaantallen kan matchen met namen van werknemers door gegevens uit meerdere tabellen te halen en te matchen. De vraag wordt hieronder weergegeven.
select employees.first_name,employees.last_name,employees.emp_no,salaries.salary,salaries.to_date,salaries.from_date from employees, salaries where employees.emp_no = salaries.emp_no;
Merk op hoe ik >= 50000
de vraag heb weggelaten . We zullen deze waarde gebruiken nadat onze visie is gecreëerd.
Om de weergave te maken, voegen we eenvoudig create view view_name as
de query toe. In dit geval maak ik een weergave met de naam named_salaries .
create view named_salaries as select employees.first_name,employees.last_name,employees.emp_no,salaries.salary,salaries.to_date,salaries.from_date from employees, salaries where employees.emp_no = salaries.emp_no;
We geven gegevens uit een weergave weer op dezelfde manier als we gegevens uit een tabel weergeven.
select * from named_salaries
Als de weergave correct is gemaakt, ziet u de volgende uitvoer (gegevens zijn afgekapt):
+------------+-----------+--------+--------+------------+------------+
| first_name | last_name | emp_no | salary | to_date | from_date |
+------------+-----------+--------+--------+------------+------------+
| Georgi | Facello | 10001 | 60117 | 1987-06-26 | 1986-06-26 |
| Georgi | Facello | 10001 | 62102 | 1988-06-25 | 1987-06-26 |
| Georgi | Facello | 10001 | 66074 | 1989-06-25 | 1988-06-25 |
| Georgi | Facello | 10001 | 66596 | 1990-06-25 | 1989-06-25 |
| Georgi | Facello | 10001 | 66961 | 1991-06-25 | 1990-06-25 |
| Georgi | Facello | 10001 | 71046 | 8 1992-06-24 | 1991-06-25 |
(...)
Omdat we op dezelfde manier met weergaven kunnen omgaan als met een tabel, is het mogelijk om de >= 50000
van de oorspronkelijke query te nemen en deze toe te passen op de weergave.
select * from named_salaries where salary >= 50000;
Uitvoer (afgekapt):
+------------+-----------+--------+--------+------------+------------+
| first_name | last_name | emp_no | salary | to_date | from_date |
+------------+-----------+--------+--------+------------+------------+
| Georgi | Facello | 10001 | 60117 | 1987-06-26 | 1986-06-26 |
(...)
| Bezalel | Simmel | 10002 | 65828 | 1997-08-03 | 1996-08-03 |
(...)
| Chirstian | Koblick | 10004 | 50594 | 1992-11-29 | 1991-11-30 |
(...)
| Kyoichi | Maliniak | 10005 | 78228 | 1990-09-12 | 1989-09-12 |
(...)
| Anneke | Preusig | 10006 | 53747 | 1998-08-03 | 1997-08-03 |
(...)
+------------+-----------+--------+--------+------------+------------+
Zoals u kunt zien, heeft de query de weergave behandeld als een traditionele tabel.
Laten we een weergave in een ander voorbeeld gebruiken. Hieronder heb ik een vrij lange vraag met de afdelingsmanagers, hun voor- / achternaam, werknemersnummers, hun afdelingsnamen en de afdelingsnummers. De query haalt gegevens uit verschillende tabellen bij elkaar.
select employees.first_name,employees.last_name,employees.emp_no,dept_manager.to_date,dept_manager.from_date,departments.dept_name,departments.dept_no from employees, dept_manager, departments where employees.emp_no = dept_manager.emp_no AND departments.dept_no = dept_manager.dept_no;
Uitvoer (afgekapt):
+-------------+--------------+--------+------------+------------+--------------------+---------+
| first_name | last_name | emp_no | to_date | from_date | dept_name | dept_no |
+-------------+--------------+--------+------------+------------+--------------------+---------+
| Tonny | Butterworth | 111692 | 1988-10-17 | 1985-01-01 | Customer Service | d009 |
| Marjo | Giarratana | 111784 | 1992-09-08 | 1988-10-17 | Customer Service | d009 |
| Xiaobin | Spinelli | 111877 | 1996-01-03 | 1992-09-08 | Customer Service | d009 |
| Yuchang | Weedman | 111939 | 9999-01-01 | 1996-01-03 | Customer Service | d009 |
| DeForest | Hagimont | 110511 | 1992-04-25 | 1985-01-01 | Development | d005 |
| Leon | DasSarma | 110567 | 9999-01-01 | 1992-04-25 | Development | d005 |
(...)
Zoals u kunt zien, zou het enigszins lastig zijn om die query elke keer in te voeren wanneer u een lijst met afdelingsmanagers moet ophalen. Laten we een weergave maken om het gemakkelijker te maken. Ik noem de visie "management".
create view management as select employees.first_name,employees.last_name,employees.emp_no,dept_manager.to_date,dept_manager.from_date,departments.dept_name,departments.dept_no from employees, dept_manager, departments where employees.emp_no = dept_manager.emp_no AND departments.dept_no = dept_manager.dept_no;
Nu kunnen we gewoon typen select * from management;
om dezelfde gegevens op te halen. Daar kunnen we natuurlijk ook aanvullende parameters op toepassen - net als bij een traditionele tafel. Stel dat we alleen de afdelingsmanagers willen laten zien voor 'Klantenservice'.
select * from management where dept_name = 'Customer Service';
Uitgang:
+------------+-------------+--------+------------+------------+------------------+---------+
| first_name | last_name | emp_no | to_date | from_date | dept_name | dept_no |
+------------+-------------+--------+------------+------------+------------------+---------+
| Tonny | Butterworth | 111692 | 1988-10-17 | 1985-01-01 | Customer Service | d009 |
| Marjo | Giarratana | 111784 | 1992-09-08 | 1988-10-17 | Customer Service | d009 |
| Xiaobin | Spinelli | 111877 | 1996-01-03 | 1992-09-08 | Customer Service | d009 |
| Yuchang | Weedman | 111939 | 9999-01-01 | 1996-01-03 | Customer Service | d009 |
+------------+-------------+--------+------------+------------+------------------+---------+
Of misschien willen we 'Klantenservice' en 'Human Resources':
select * from management where dept_name = 'Customer Service' OR dept_name = 'Human Resources';
Uitgang:
+------------+--------------+--------+------------+------------+------------------+---------+
| first_name | last_name | emp_no | to_date | from_date | dept_name | dept_no |
+------------+--------------+--------+------------+------------+------------------+---------+
| Tonny | Butterworth | 111692 | 1988-10-17 | 1985-01-01 | Customer Service | d009 |
| Marjo | Giarratana | 111784 | 1992-09-08 | 1988-10-17 | Customer Service | d009 |
| Xiaobin | Spinelli | 111877 | 1996-01-03 | 1992-09-08 | Customer Service | d009 |
| Yuchang | Weedman | 111939 | 9999-01-01 | 1996-01-03 | Customer Service | d009 |
| Shirish | Ossenbruggen | 110183 | 1992-03-21 | 1985-01-01 | Human Resources | d003 |
| Karsten | Sigstam | 110228 | 9999-01-01 | 1992-03-21 | Human Resources | d003 |
+------------+--------------+--------+------------+------------+------------------+---------+
Een weergave verwijderen is heel eenvoudig. Net als bij het verwijderen van een tabel, typt u drop view view_name;
. Bijvoorbeeld, als we wilden het verwijderen named_salaries uitzicht, zou de opdracht zijn: drop view named_salaries;
.
NFS is een netwerkgebaseerd bestandssysteem waarmee computers toegang hebben tot bestanden via een computernetwerk. Deze gids legt uit hoe u mappen via NF kunt weergeven
Gebruikt u een ander systeem? Couch CMS is een eenvoudig en flexibel, gratis en open source Content Management Systeem (CMS) waarmee webdesigners kunnen ontwerpen
Golang is een door Google ontwikkelde programmeertaal. Dankzij zijn veelzijdigheid, eenvoud en betrouwbaarheid is Golang uitgegroeid tot een van de meest bevolkte
IRC is populair bij ontwikkelaars en gebruikers van open source software. Een van de nadelen van IRC is dat wanneer u niet online bent, u importan kunt missen
Het gebruik van een sudo-gebruiker om toegang te krijgen tot een server en opdrachten uit te voeren op rootniveau is een veel voorkomende praktijk onder Linux en Unix-systeembeheerder. Het gebruik van een sud
Dit artikel leert u hoe u een chroot-gevangenis op Debian instelt. Ik neem aan dat u Debian 7.x gebruikt. Als u Debian 6 of 8 gebruikt, kan dit werken, bu
Inleiding Een gemakkelijke manier om een VPN-server op Debian in te stellen, is met PiVPN. PiVPN is een installatieprogramma en wrapper voor OpenVPN. Het maakt simpele commandos voor je
Gebruikt u een ander systeem? Brotli is een nieuwe compressiemethode met een betere compressieverhouding dan Gzip. De broncode wordt openbaar gehost op Github. Thi
Gebruikt u een ander systeem? Neos is een Content Application Platform met een CMS en een applicatieframework als kern. Deze gids laat u zien hoe u kunt installeren
Introductie Cacti is een open source monitoring- en grafische tool die volledig is gebaseerd op RRD Data. Via Cacti kunt u bijna elk type apparaat volgen
Java is een platformonafhankelijke programmeertaal / virtuele machine. In deze tutorial installeren we de OpenJDK-implementatie van Java 8 op een Debian
Wat je nodig hebt Een Vultr VPS met minimaal 1 GB RAM. SSH-toegang (met root- / beheerdersrechten). Stap 1: BungeeCord installeren Eerste dingen eerst
Gebruikt u een ander systeem? TermRecord is een eenvoudige open source-tool geschreven in Python, waarmee terminalsessies kunnen worden opgeslagen op een gemakkelijk te delen, zelfvoorzienende site
Gebruikt u een ander systeem? Matomo (voorheen Piwik) is een open source analyseplatform, een open alternatief voor Google Analytics. Matomo source wordt gehost o
Munin is een monitoringtool om processen en bronnen in uw machine te onderzoeken en presenteert de informatie in grafieken via een webinterface. Gebruik de followin
Gebruikt u een ander systeem? ImpressPages CMS 5.0 is een eenvoudig en effectief, gratis en open source, gebruiksvriendelijk, op MVC gebaseerd Content Management Systeem (CMS)
Samba is een open source-oplossing waarmee gebruikers snelle en veilige bestands- en printshares kunnen instellen. In dit artikel zal ik bespreken hoe je Samba wit kunt instellen
Inleiding In deze zelfstudie behandelen we het proces van het toevoegen van een volledig IP-bereik / subnet aan een Linux-server met CentOS, Debian of Ubuntu. Het proces
Gebruikt u een ander systeem? Ansible is een open source-tool voor het automatiseren van taken. Het beheert de configuratie van uw Linux- en Windows-servers. Het werk
Gebruikt u een ander systeem? Ghost is een open source blogplatform dat sinds zijn populariteit aan populariteit wint onder ontwikkelaars en gewone gebruikers
Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek
ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.
WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+
Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.
Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie
13 Commerciële data-extractietools voor big data
Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true
Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.
Een inzicht in 26 Big Data-analysetechnieken: deel 1
AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.