Hello everyone, this situation. I want to learn how to work with servers, become a system administrator. I myself am in this business so far complete zero. The only server that I installed is Denwer on the local computer.

Who is familiar with this case, tell me where to start, and whether you can practice doing all this on the local computer. Experience creating sites I have. With the language MySQl familiar. Just now I do not know where to start. Where to dig?

For help for the early thanks.

Closed due to the fact that it is necessary to reformulate the question so that it was possible to give an objectively correct answer by the participants aleksandr barakin , zRrr , VenZell , Nick Volynkin ♦ 11 May '16 at 7:03 .

The question gives rise to endless debates and discussions based not on knowledge, but on opinions. To get an answer, rephrase your question so that it can be given an unambiguously correct answer, or delete the question altogether. If the question can be reformulated according to the rules set out in the certificate , edit it .

    1 answer 1

    The MySQL system administrator is a very specialized niche, even expert knowledge about it may not be enough to find a job. Although any expert in the field of MySQL knows quite a lot about related technologies. You also have to learn a lot that is not directly related to MySQL.

    Immediately I want to warn about the pitfall: due to the "watered-economic" reasons, MySQL will soon surrender its positions in the IT community. The fact is that due to a series of mergers, the DBMS was in the hands of Oracle Corporation. Considering that InnoDB was built as a less expensive replacement for Oracle, this is not very good for the future development of the DBMS. In this regard, it is hardly worth expecting the rapid development of official MySQL in the near future (or at least the pace of development of the sample of 2007, the DBMS openly stagnates). There are alternative companies that are developing technologies based on MySQL - MariaDB, Percon, they should pay close attention. However, it is better not to focus only on MySQL, also study PostgreSQL, Oracle, MS SQL, NoSQL solutions. It will protect you great in the future employment.

    If I did not dissuade you from focusing on MySQL, you should pay attention to the following points (in fact, there are many more of them, I will list only a part):

    • operating systems: it is necessary to study * nix-systems in all manifestations, since most installations will be on UNIX-like operating systems. Knowledge of operating systems and the ability to administer them will be useful to you in your work more than even knowledge of MySQL; It would be nice to know bash, vim, sed, awk, the subsystem of access rights and modifications in modern distributions;
    • logging - syslog, nagios, zabbix, etc .;
    • replicate, install multiple virtual machines (VirtualBox, vagrant) and experiment. Replication in MySQL is rather capricious and often fails. The more experience you have with her, the better; Replication serves as the basis for scaling up and reliable backup - it is better to remove copies of databases from a cold replica than from a busy server, ALTER queries are performed for days in a heavy database, in general you will have to master replication. Binary logs are also part of the replication mechanism.
    • monitoring, also mostly refers to nix *.

    Two great books have been translated into Russian.

    • MySQL Performance Optimization. Baron Schwartz, Peter Zaitsev and others. Symbol plus, 2010.
    • Ensuring high availability of systems based on MySQL. Charles Bell, Mats Kindal, Lars Tallmann. Russian edition, BHV, 2012.

    It would be nice to get acquainted with them. Ideally, get acquainted with all the new literature, published in English.

    There is another caveat: working as a system administrator, there is a great temptation not to write code or participate in application development. It would be nice to encode at least a little bit in order to “feel” the applications and navigate the complexity of certain solutions on the developer’s side. To do this, you need to master at least one scripting language (not bash / perl, better if it is python). His knowledge is useful for solving administrative tasks.

    • Even I did not understand where to start, well, except for books and languages. - Anatoly
    • Ubuntu, virtual machines, books. Rent a VPS, buy a domain and administer your own server, set up a database, a web interface, the same phpMyAdmin, set up Redmine for yourself to set tasks, set up email, set up Gitlab, deploy your blog on VPS. Take out projects on the third level subdomains. Back up the databases of all projects. Configure email notifications. Rotate the logs. If there are not enough skills to solve problems, pump over. - cheops
    • Thanks, now the fog has dissipated a little. I will understand further. - Anatoly
    • I object. It is not necessary to buy a domain and hosting to learn system administration. ) - Nick Volynkin ♦
    • Not necessarily :) but if the budget allows, it seems to me it will be more interesting and perhaps faster. - cheops