Home Database Mysql Tutorial Teach you how to start and stop one of the Mysql services

Teach you how to start and stop one of the Mysql services

May 23, 2017 pm 02:42 PM

Before discussing how to start the MySQL server, let us consider what user the MySQL server should be run as. The server can be started manually or automatically. If you start it manually, the server starts as the user you log into Unix (Linux), that is, if you log in to Unix with paul and start the server, it runs with paul; if you use the su command to switch to root, Then start the server so that it runs as root. However, most of the time you probably don't want to start the server manually, most likely you will arrange for the MySQL server to start automatically when the system boots, as part of the standard boot process, which under Unix is ​​performed by the system's Unix user root, And any processes running within the process run with root privileges.
You should keep two goals in mind during the MySQL server startup process:

You want the server to run as a non-root user. Generally, you want to limit the ability of any running process unless root privileges are truly required, which MySQL does not.

You want the server to always run as the same user. It is very inconvenient to use one user and run the server as a different user at other times. This results in files and directories having different attributes. The main data directory is created and may cause the server to be unable to access databases or tables, depending on which user you are running as. Running the server as the same user will help you avoid this problem.

To run the server as a normal unprivileged user, follow these steps:

Select a user to run the server. Mysqld can be run as any user. But conceptually clearer is to create a separate user for MySQL operations. You can also select a user group specifically for MySQL. This article uses mysqladm and mysqlgrp as the user name and user group name respectively.

If you have installed MySQL under your own account and do not have special administrative rights on the system, you will be able to run the server under your own user ID. In this case, replace mysqladm and mysqlgrp with your own login name and user group.

If you use an rpm file to install MySQL on RedHat Linux, the installation will automatically create an account named mysql and use this account instead of mysqladm.

If necessary, use the system's normal user creation process to create a server account. You need to use root to do it.​
​ If the server is running, stop it.

Modify the ownership of the data directory and any subdirectories and files so that the mysqladm user owns them. For example, if the data directory is /usr/local/var, you can set the owner of mysqladm as follows (you need to run these commands as root):

#cd /usr/local/var
#chown -R mysqladm.mysqlgrp

Modify the permissions of the data directory and any subdirectories and files so that they can only be accessed by the mysqladm user. If the data directory is /usr/local/var, you can set anything owned by mysqladm:

# cd /usr/local/var
#chmod -R go- rwx
When you set the owner and mode of the data directory and its contents, pay attention to symbolic links. You need to follow them and change the ownership and mode of the files or directories they point to. This can be a bit troublesome if the directory where the connection files are located is somewhere you don't own, and you may need to be root.

After you have completed the above process, you should make sure to always start the server while logged in as mysqladm or root. In the latter, be sure to specify the --user=mysqladm option to enable the server to switch its user ID. to mysqladm (also applies to the system startup process).

The --user option was introduced in MySQL 3.22. If you have an older version, you can use the su command to tell the system to run the server under a specific user when running as root.



Method to start the server

After we determine the account used to run the server, you can choose how to arrange to start the server. You can run it manually from the command line or automatically during system boot. There are three main methods for starting the server:

Directly call mysqld.

This may be the least commonly used method, and it is recommended not to use it more, so this article will not introduce it in detail.

Call the safe_mysqld script.

safe_mysqld attempts to determine the location of the server program and data directories. The server is then called with options reflecting these values. safe_mysqld relocates the standard error device from the server to an error file in the data directory so that there is a record of it. After starting the server, safe_mysqld also monitors it and restarts it if it dies. safe_mysqld is commonly used on BSD-style Unix systems.

If you start sqfe_mysqld as root or during system boot, the error log is owned by root, which may cause a "permission denied" error when you later try to call safe_mysqld as an unprivileged user. DeleteError log and try again.

Call the mysql.server script.

This script starts the server via safe_mysqld.mysql.server, which is intended for use on System V start and stop systems that contain several files that are included in the machine entry or exit of a given The script directory used when running the level. It can use a start or stop parameter point to indicate whether you want to start or stop the server.

The safe_mysqld script is installed in the bin directory of the MySQL installation directory, or can be found in the scripts directory of the MySQL source code distribution. The mysql.server script is installed in the share/mysqld directory under the MySQL installation directory or can be found in the support_files directory of the MySQL source code distribution. If you want to use them, you need to copy them to the appropriate directory.

For BSD-style systems (FreeBSD, OpenBSD, etc.), there are usually several files in the /etc directory to initialize services during boot. These files usually have names starting with "rc", and it is possible Consisting of a file called "rc.local" (or something similar), specifically used to start locally installed services. On such a system, you might start the server by adding a line similar to the following to the rc.local file (if the safe_mysqld directory is different on your system, just modify it):

if [ -x /usr/local/bin/safe_mysqld ]; then
/usr/local/bin/safe_mysqld &
fi
For System V style systems, you can pass mysql .server is placed in the appropriate startup directory under /etc to install it. If you're running Linux and installing MySQL from an RPM file, this is already done for you, otherwise install the script in the main startup directory and place the connection to it in the appropriate runlevel directory. You can also make the script only startable by root.​

​ The directory layout of startup files varies from system to system, so you need to check to see how your system organizes them. For example, on Linux PPC, the directories are /etc/rc.d and /etc/rc.d/rc3.d, so you can install the script like this:

#cp mysql.server /etc/rc.d /init.d
#cd /etc/init.d
#chmod 500 mysql.server
#cd /etc/rc.d/rc3.d
#ln -s ../init .d/mysql.server S99mysql
On solaris, the main script directory is /etc/init.d, and the run-level directory is /etc/rd2.d, so the command looks like this:

#cp mysql.server /etc/rc.d/init.d
#cd /etc/init.d
#chmod 500 mysql.server
#cd /etc/rc2.d
# ln -s ../init.d/mysql.server S99mysql
When the system starts, the S99mysql script will automatically be called with a start parameter. If you have the chkconfig command (available on Linux), you can use it to help install the mysql.server script instead of manually running the above command as above.

Specify startup options

If you want to specify additional startup options when the server starts, you have two methods. You can modify the startup script you use (safe_mysqld or mysql.server) and specify options directly on the line calling the server, or specify options in an options file. It is recommended that you specify options if possible in a global options file, which is usually located at /etc/my.cnf (Unix) or c:my.cnf (Windows).

Certain types of information cannot be specified with server options. For these you may need to modify safe_mysqld. For example, if your server cannot correctly select the local time zone and returns time values ​​in GMT, you can set the TZ environment variable to give it an indication. If you start the server with safe_mysqld or mysql.server, you can add a time zone setting to safe_mysqld. Find the line that starts the server and add the following command before the line:

TZ=US/Central
export TZ

The syntax of the above command is Solaris, and the syntax may be different for other systems , please consult the relevant manual. If you do modify your startup script, keep in mind that the next time you install MySQL (such as upgrading to a new version), your changes will be lost unless you first copy the startup script elsewhere. After installing the new version, compare the old and new scripts to see what changes you need to rebuild.

Checking your tables at startup

In addition to arranging for your server to start at system boot, you may want to install the myisamchk and isamchk scripts to check your tables before the server starts. You may be restarting after a crash. It's possible that the table has been corrupted. Checking it before starting is a good way to find the problem.

The above is the detailed content of Teach you how to start and stop one of the Mysql services. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

MySQL: An Introduction to the World's Most Popular Database MySQL: An Introduction to the World's Most Popular Database Apr 12, 2025 am 12:18 AM

MySQL is an open source relational database management system, mainly used to store and retrieve data quickly and reliably. Its working principle includes client requests, query resolution, execution of queries and return results. Examples of usage include creating tables, inserting and querying data, and advanced features such as JOIN operations. Common errors involve SQL syntax, data types, and permissions, and optimization suggestions include the use of indexes, optimized queries, and partitioning of tables.

How to open phpmyadmin How to open phpmyadmin Apr 10, 2025 pm 10:51 PM

You can open phpMyAdmin through the following steps: 1. Log in to the website control panel; 2. Find and click the phpMyAdmin icon; 3. Enter MySQL credentials; 4. Click "Login".

MySQL's Place: Databases and Programming MySQL's Place: Databases and Programming Apr 13, 2025 am 12:18 AM

MySQL's position in databases and programming is very important. It is an open source relational database management system that is widely used in various application scenarios. 1) MySQL provides efficient data storage, organization and retrieval functions, supporting Web, mobile and enterprise-level systems. 2) It uses a client-server architecture, supports multiple storage engines and index optimization. 3) Basic usages include creating tables and inserting data, and advanced usages involve multi-table JOINs and complex queries. 4) Frequently asked questions such as SQL syntax errors and performance issues can be debugged through the EXPLAIN command and slow query log. 5) Performance optimization methods include rational use of indexes, optimized query and use of caches. Best practices include using transactions and PreparedStatemen

Why Use MySQL? Benefits and Advantages Why Use MySQL? Benefits and Advantages Apr 12, 2025 am 12:17 AM

MySQL is chosen for its performance, reliability, ease of use, and community support. 1.MySQL provides efficient data storage and retrieval functions, supporting multiple data types and advanced query operations. 2. Adopt client-server architecture and multiple storage engines to support transaction and query optimization. 3. Easy to use, supports a variety of operating systems and programming languages. 4. Have strong community support and provide rich resources and solutions.

How to connect to the database of apache How to connect to the database of apache Apr 13, 2025 pm 01:03 PM

Apache connects to a database requires the following steps: Install the database driver. Configure the web.xml file to create a connection pool. Create a JDBC data source and specify the connection settings. Use the JDBC API to access the database from Java code, including getting connections, creating statements, binding parameters, executing queries or updates, and processing results.

How to start mysql by docker How to start mysql by docker Apr 15, 2025 pm 12:09 PM

The process of starting MySQL in Docker consists of the following steps: Pull the MySQL image to create and start the container, set the root user password, and map the port verification connection Create the database and the user grants all permissions to the database

MySQL's Role: Databases in Web Applications MySQL's Role: Databases in Web Applications Apr 17, 2025 am 12:23 AM

The main role of MySQL in web applications is to store and manage data. 1.MySQL efficiently processes user information, product catalogs, transaction records and other data. 2. Through SQL query, developers can extract information from the database to generate dynamic content. 3.MySQL works based on the client-server model to ensure acceptable query speed.

How to install mysql in centos7 How to install mysql in centos7 Apr 14, 2025 pm 08:30 PM

The key to installing MySQL elegantly is to add the official MySQL repository. The specific steps are as follows: Download the MySQL official GPG key to prevent phishing attacks. Add MySQL repository file: rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm Update yum repository cache: yum update installation MySQL: yum install mysql-server startup MySQL service: systemctl start mysqld set up booting

See all articles