search
HomeDatabaseMysql TutorialTeach you how to start and stop one of the Mysql services

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
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
MySQL's Place: Databases and ProgrammingMySQL's Place: Databases and ProgrammingApr 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

MySQL: From Small Businesses to Large EnterprisesMySQL: From Small Businesses to Large EnterprisesApr 13, 2025 am 12:17 AM

MySQL is suitable for small and large enterprises. 1) Small businesses can use MySQL for basic data management, such as storing customer information. 2) Large enterprises can use MySQL to process massive data and complex business logic to optimize query performance and transaction processing.

What are phantom reads and how does InnoDB prevent them (Next-Key Locking)?What are phantom reads and how does InnoDB prevent them (Next-Key Locking)?Apr 13, 2025 am 12:16 AM

InnoDB effectively prevents phantom reading through Next-KeyLocking mechanism. 1) Next-KeyLocking combines row lock and gap lock to lock records and their gaps to prevent new records from being inserted. 2) In practical applications, by optimizing query and adjusting isolation levels, lock competition can be reduced and concurrency performance can be improved.

MySQL: Not a Programming Language, But...MySQL: Not a Programming Language, But...Apr 13, 2025 am 12:03 AM

MySQL is not a programming language, but its query language SQL has the characteristics of a programming language: 1. SQL supports conditional judgment, loops and variable operations; 2. Through stored procedures, triggers and functions, users can perform complex logical operations in the database.

MySQL: An Introduction to the World's Most Popular DatabaseMySQL: An Introduction to the World's Most Popular DatabaseApr 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.

The Importance of MySQL: Data Storage and ManagementThe Importance of MySQL: Data Storage and ManagementApr 12, 2025 am 12:18 AM

MySQL is an open source relational database management system suitable for data storage, management, query and security. 1. It supports a variety of operating systems and is widely used in Web applications and other fields. 2. Through the client-server architecture and different storage engines, MySQL processes data efficiently. 3. Basic usage includes creating databases and tables, inserting, querying and updating data. 4. Advanced usage involves complex queries and stored procedures. 5. Common errors can be debugged through the EXPLAIN statement. 6. Performance optimization includes the rational use of indexes and optimized query statements.

Why Use MySQL? Benefits and AdvantagesWhy Use MySQL? Benefits and AdvantagesApr 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.

Describe InnoDB locking mechanisms (shared locks, exclusive locks, intention locks, record locks, gap locks, next-key locks).Describe InnoDB locking mechanisms (shared locks, exclusive locks, intention locks, record locks, gap locks, next-key locks).Apr 12, 2025 am 12:16 AM

InnoDB's lock mechanisms include shared locks, exclusive locks, intention locks, record locks, gap locks and next key locks. 1. Shared lock allows transactions to read data without preventing other transactions from reading. 2. Exclusive lock prevents other transactions from reading and modifying data. 3. Intention lock optimizes lock efficiency. 4. Record lock lock index record. 5. Gap lock locks index recording gap. 6. The next key lock is a combination of record lock and gap lock to ensure data consistency.

See all articles

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

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools