Mysql starting server linux

How to Start, Stop, and Restart MySQL Server

When using MySQL, there are times when it’s important to know how to start, stop, or restart your MySQL server. Luckily, there are multiple, easy ways to do this. Which methods are available to you however, will depend on the operating system your running.

Read on to learn how to start, stop, and restart MySQL server in both Linux and Windows.

How to Start, Stop, and Restart MySQL Server in Linux

If you need to stop or restart your MySQL server on a Linux system, there are three different commands that can be used:

  1. Depending on your Linux distribution, you can change the state of MySQL using the service command.
    • To start MySQL server:

      sudo service mysqld start

    • To stop MySQL server:

      sudo service mysqld stop

    • To restart MySQL server:

      sudo service mysqld restart

  2. If you don’t have the service command available or would prefer to make changes to MySQL using a different method, you can also use the init.d command to start/stop your MySQL server.
    • To start MySQL server:

      sudo /etc/init.d/mysqld start

    • To stop MySQL server:

      sudo /etc/init.d/mysqld stop

    • To restart MySQL server:

      sudo /etc/init.d/mysqld restart

  3. Lastly, you can also use the systemctl command to start, stop, and restart applications on Linux, including MySQL.
    • To start MySQL server:

      sudo systemctl start mysqld

    • To stop MySQL server:

      sudo systemctl stop mysqld

    • To restart MySQL server:

      sudo systemctl restart mysqld

How to Start, Stop, and Restart MySQL Server in Windows

If you’re trying to start, stop, or restart your MySQL server on a Windows-based system, you can do so easily from the command line. Just follow these 3 steps:

  1. To start, you’ll first need to open a terminal window. If you don’t have this somewhere easily accessible, you can find it quickly using the Windows’ Run dialog. To open the Run dialog, just press the Windows Key + R .
  2. Next, type in “ cmd ” and press the Enter key. This will open a new terminal window.
  3. Once you’ve opened a terminal window, just type the following commands to start or stop MySQL server:
    • To start MySQL server:

      mysqld start

    • To stop MySQL server:

      mysqld stop

*Note: depending on which version of Windows you are running, you may need the specific name of the MySQL version number you are running in order to start or stop the service. To find this, go to the start menu and search for Services . Locate the version of MySQL you are using and try the following commands, replacing “##” with your version number:

net start MySQL##

net stop MySQL##

For instance, if you’re running MySQL 8.0, replace “MySQL##” with “MySQL80”.

And there you have it! You now have several different methods for starting, stopping, and restarting MySQL server as needed.

Looking for more information on MySQL ? Search our Knowledge Base !

Interested in more articles about Databases ? Navigate to our Categories page using the bar on the left or check out these popular articles:

Popular tags within this category include: MySQL , MSSQL , phpMyAdmin , PostgreSQL , and more.

Don’t see what you’re looking for? Use the search bar at the top to search our entire Knowledge Base.

The Hivelocity Difference

Seeking a better Dedicated Server solution? In the market for Private Cloud or Colocation services? Check out Hivelocity’s extensive list of products for great deals and offers.

With best-in-class customer service, affordable pricing, a wide-range of fully-customizable options, and a network like no other, Hivelocity is the hosting solution you’ve been waiting for.

Unsure which of our services is best for your particular needs? Call or live chat with one of our sales agents today and see the difference Hivelocity can make for you.

Источник

Install and configure a MySQL server

MySQL is a fast, multi-threaded, multi-user, and robust SQL database server. It is intended for mission-critical, heavy-load production systems and mass-deployed software.

Installation

To install MySQL, run the following command from a terminal prompt:

sudo apt install mysql-server 

Once the installation is complete, the MySQL server should be started automatically. You can quickly check its current status via systemd:

sudo service mysql status 

Which should provide an output like the following:

● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2019-10-08 14:37:38 PDT; 2 weeks 5 days ago Main PID: 2028 (mysqld) Tasks: 28 (limit: 4915) CGroup: /system.slice/mysql.service └─2028 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid Oct 08 14:37:36 db.example.org systemd[1]: Starting MySQL Community Server. Oct 08 14:37:38 db.example.org systemd[1]: Started MySQL Community Server. 

The network status of the MySQL service can also be checked by running the ss command at the terminal prompt:

When you run this command, you should see something similar to the following:

LISTEN 0 151 127.0.0.1:mysql 0.0.0.0:* users:(("mysqld",pid=149190,fd=29)) LISTEN 0 70 *:33060 *:* users:(("mysqld",pid=149190,fd=32)) 

If the server is not running correctly, you can type the following command to start it:

sudo service mysql restart 

A good starting point for troubleshooting problems is the systemd journal, which can be accessed from the terminal prompt with this command:

Configuration

You can edit the files in /etc/mysql/ to configure the basic settings – log file, port number, etc. For example, to configure MySQL to listen for connections from network hosts, in the file /etc/mysql/mysql.conf.d/mysqld.cnf , change the bind-address directive to the server’s IP address:

Note:
Replace 192.168.0.5 with the appropriate address, which can be determined via the ip address show command.

After making a configuration change, the MySQL daemon will need to be restarted with the following command:

sudo systemctl restart mysql.service 

Database engines

Whilst the default configuration of MySQL provided by the Ubuntu packages is perfectly functional and performs well there are things you may wish to consider before you proceed.

MySQL is designed to allow data to be stored in different ways. These methods are referred to as either database or storage engines. There are two main storage engines that you’ll be interested in: InnoDB and MyISAM. Storage engines are transparent to the end user. MySQL will handle things differently under the surface, but regardless of which storage engine is in use, you will interact with the database in the same way.

Each engine has its own advantages and disadvantages.

While it is possible (and may be advantageous) to mix and match database engines on a table level, doing so reduces the effectiveness of the performance tuning you can do as you’ll be splitting the resources between two engines instead of dedicating them to one.

  • MyISAM is the older of the two. It can be faster than InnoDB under certain circumstances and favours a read-only workload. Some web applications have been tuned around MyISAM (though that’s not to imply that they will be slower under InnoDB). MyISAM also supports the FULLTEXT data type, which allows very fast searches of large quantities of text data. However MyISAM is only capable of locking an entire table for writing. This means only one process can update a table at a time. As any application that uses the table scales this may prove to be a hindrance. It also lacks journaling, which makes it harder for data to be recovered after a crash. The following link provides some points for consideration about using MyISAM on a production database.
  • InnoDB is a more modern database engine, designed to be ACID compliant which guarantees database transactions are processed reliably. Write locking can occur on a row level basis within a table. That means multiple updates can occur on a single table simultaneously. Data caching is also handled in memory within the database engine, allowing caching on a more efficient row level basis rather than file block. To meet ACID compliance all transactions are journaled independently of the main tables. This allows for much more reliable data recovery as data consistency can be checked.

As of MySQL 5.5 InnoDB is the default engine, and is highly recommended over MyISAM unless you have specific needs for features unique to that engine.

Advanced configuration

Creating a tuned configuration

There are a number of parameters that can be adjusted within MySQL’s configuration files. This will allow you to improve the server’s performance over time.

Many parameters can be adjusted with the existing database, however some may affect the data layout and thus need more care to apply.

First, if you have existing data, you will first need to carry out a mysqldump and reload:

mysqldump --all-databases --routines -u root -p > ~/fulldump.sql 

This will then prompt you for the root password before creating a copy of the data. It is advisable to make sure there are no other users or processes using the database whilst this takes place. Depending on how much data you’ve got in your database, this may take a while. You won’t see anything on the screen during this process.

Once the dump has been completed, shut down MySQL:

It’s also a good idea to backup the original configuration:

sudo rsync -avz /etc/mysql /root/mysql-backup 

Next, make any desired configuration changes. Then, delete and re-initialise the database space and make sure ownership is correct before restarting MySQL:

sudo rm -rf /var/lib/mysql/* sudo mysqld --initialize sudo chown -R mysql: /var/lib/mysql sudo service mysql start 

The final step is re-importation of your data by piping your SQL commands to the database.

For large data imports, the ‘Pipe Viewer’ utility can be useful to track import progress. Ignore any ETA times produced by pv ; they’re based on the average time taken to handle each row of the file, but the speed of inserting can vary wildly from row to row with mysqldumps :

sudo apt install pv pv ~/fulldump.sql | mysql 

Once this step is complete, you are good to go!

Note:
This is not necessary for all my.cnf changes. Most of the variables you can change to improve performance are adjustable even whilst the server is running. As with anything, make sure to have a good backup copy of your config files and data before making changes.

MySQL Tuner

MySQL Tuner is a Perl script that connects to a running MySQL instance and offers configuration suggestions for optimising the database for your workload. The longer the server has been running, the better the advice mysqltuner can provide. In a production environment, consider waiting for at least 24 hours before running the tool. You can install mysqltuner from the Ubuntu repositories:

sudo apt install mysqltuner 

Then once it has been installed, simply run: mysqltuner – and wait for its final report.

The top section provides general information about the database server, and the bottom section provides tuning suggestions to alter in your my.cnf . Most of these can be altered live on the server without restarting; look through the official MySQL documentation (link in Resources section at the bottom of this page) for the relevant variables to change in production. The following example is part of a report from a production database showing potential benefits from increasing the query cache:

-------- Recommendations ----------------------------------------------------- General recommendations: Run OPTIMIZE TABLE to defragment tables for better performance Increase table_cache gradually to avoid file descriptor limits Variables to adjust: key_buffer_size (> 1.4G) query_cache_size (> 32M) table_cache (> 64) innodb_buffer_pool_size (>= 22G) 

It goes without saying that performance optimisation strategies vary from application to application. So for example, what works best for WordPress might not be the best for Drupal or Joomla. Performance can be dependent on the types of queries, use of indexes, how efficient the database design is and so on.

You may find it useful to spend some time searching for database tuning tips based on what applications you’re using. Once you’ve reached the point of diminishing returns from database configuration adjustments, look to the application itself for improvements, or invest in more powerful hardware and/or scaling up the database environment.

Resources

  • Full documentation is available in both online and offline formats from the MySQL Developers portal
  • For general SQL information see the O’Reilly books Getting Started with SQL: A Hands-On Approach for Beginners by Thomas Nield as an entry point and SQL in a Nutshell as a quick reference.
  • The Apache MySQL PHP Ubuntu Wiki page also has useful information.

Источник

Читайте также:  Listing all disks linux
Оцените статью
Adblock
detector