When using CentOS system for development or deployment, installing MySQL is a basic task. Although you can use the system's default package manager yum to install MySQL, in some cases (such as customizing compilation options, etc.), using source code to install MySQL is a more flexible option. This article will introduce how to install MySQL from source code on CentOS systems, including steps such as dependency installation, compilation and installation of MySQL.
1. Install dependencies
Before installing the MySQL source code, we need to install some dependencies. In the CentOS system, you can install it through the following command:
yum install -y gcc gcc-c++ make ncurses-devel cmake bison
Among them, the functions of each dependency are as follows:
- gcc, gcc-c: C, C compiler
- make: Compilation tool
- ncurses-devel: Provides ncurses library, including API for processing terminal input and output
- cmake: Compilation tool, used to generate Makefile files
- bison: Syntax analyzer generator, used for compiling MySQL source code
2. Download and decompress the MySQL source code
from the MySQL official website (https://dev.mysql. com/downloads/mysql/) to download the latest version of the MySQL source code package (tar.gz format), and select the appropriate platform version. This article takes version 5.7.32 as an example for demonstration. After the download is complete, use the following command to decompress the source code package:
tar -xzf mysql-5.7.32.tar.gz cd mysql-5.7.32
3. Edit the compilation options
MySQL default compilation options do not necessarily meet our needs, so we need to edit the compilation options. After entering the MySQL source code directory in the previous step, use the following command to open the CMakeLists.txt file:
vim CMakeLists.txt
Find the following lines in the file:
# Settings for a "typical" MySQL build, using all of the default components. SET(VARIANTS a b c) SET(BUILD_CONFIG "community")
Among them, the VARIANTS variable in the second line The compilation options of MySQL are defined, and we can use the following command to overwrite them to the compilation options we need:
SET(VARIANTS server)
In this way, MySQL will only compile server-side programs, excluding client programs and other components. In addition, we also need to modify the following two lines:
SET(DEFAULT_CHARSET "utf8") SET(DEFAULT_COLLATION "utf8_general_ci")
Modify them respectively to:
SET(DEFAULT_CHARSET "utf8mb4") SET(DEFAULT_COLLATION "utf8mb4_general_ci")
In this way, MySQL will use the utf8mb4 character set by default and support the storage of 4-byte unicode character.
4. Compile MySQL source code
After editing the compilation options, use the following command to generate the Makefile:
cmake .
After that, use the make command to compile MySQL:
make
The compilation takes a long time, please wait patiently. If you encounter an error during compilation, please fix it according to the error message.
5. Install MySQL
After successful compilation, use the following command to install MySQL:
make install
After successful installation, MySQL is installed in the /usr/local/mysql directory by default . We also need to perform some configuration operations:
cd /usr/local/mysql chown -R mysql:mysql . bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data chown -R root . chown -R mysql:mysql data bin/mysqld_safe --user=mysql &
The meaning of the above commands is as follows:
- Use the chown command to attribute the ownership of the MySQL directory to the mysql user and mysql group;
- Use the mysqld command to initialize MySQL and generate a temporary password for the root user;
- Use the chown command again to attribute the ownership of the MySQL data directory to the mysql user and mysql group;
- Use the mysqld_safe command Start the MySQL service.
At this point, we have successfully installed and started the MySQL service.
6. Set the MySQL root user password
In the fifth step just now, MySQL generated a temporary password for the root user during initialization. We need to use this password to log in to MySQL and change the password of the root user:
bin/mysql -uroot -p
At this time, the system will prompt you to enter the password. We enter the temporary password we just generated. After successful login, use the following SQL to modify the root user password:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';
Among them, your_new_password is the new password you set.
At this point, we have successfully completed the entire process of installing MySQL from source code on the CentOS system.
The above is the detailed content of centos source code installation mysql. For more information, please follow other related articles on the PHP Chinese website!

InnoDBBufferPool reduces disk I/O by caching data and indexing pages, improving database performance. Its working principle includes: 1. Data reading: Read data from BufferPool; 2. Data writing: After modifying the data, write to BufferPool and refresh it to disk regularly; 3. Cache management: Use the LRU algorithm to manage cache pages; 4. Reading mechanism: Load adjacent data pages in advance. By sizing the BufferPool and using multiple instances, database performance can be optimized.

Compared with other programming languages, MySQL is mainly used to store and manage data, while other languages such as Python, Java, and C are used for logical processing and application development. MySQL is known for its high performance, scalability and cross-platform support, suitable for data management needs, while other languages have advantages in their respective fields such as data analytics, enterprise applications, and system programming.

MySQL is worth learning because it is a powerful open source database management system suitable for data storage, management and analysis. 1) MySQL is a relational database that uses SQL to operate data and is suitable for structured data management. 2) The SQL language is the key to interacting with MySQL and supports CRUD operations. 3) The working principle of MySQL includes client/server architecture, storage engine and query optimizer. 4) Basic usage includes creating databases and tables, and advanced usage involves joining tables using JOIN. 5) Common errors include syntax errors and permission issues, and debugging skills include checking syntax and using EXPLAIN commands. 6) Performance optimization involves the use of indexes, optimization of SQL statements and regular maintenance of databases.

MySQL is suitable for beginners to learn database skills. 1. Install MySQL server and client tools. 2. Understand basic SQL queries, such as SELECT. 3. Master data operations: create tables, insert, update, and delete data. 4. Learn advanced skills: subquery and window functions. 5. Debugging and optimization: Check syntax, use indexes, avoid SELECT*, and use LIMIT.

MySQL efficiently manages structured data through table structure and SQL query, and implements inter-table relationships through foreign keys. 1. Define the data format and type when creating a table. 2. Use foreign keys to establish relationships between tables. 3. Improve performance through indexing and query optimization. 4. Regularly backup and monitor databases to ensure data security and performance optimization.

MySQL is an open source relational database management system that is widely used in Web development. Its key features include: 1. Supports multiple storage engines, such as InnoDB and MyISAM, suitable for different scenarios; 2. Provides master-slave replication functions to facilitate load balancing and data backup; 3. Improve query efficiency through query optimization and index use.

SQL is used to interact with MySQL database to realize data addition, deletion, modification, inspection and database design. 1) SQL performs data operations through SELECT, INSERT, UPDATE, DELETE statements; 2) Use CREATE, ALTER, DROP statements for database design and management; 3) Complex queries and data analysis are implemented through SQL to improve business decision-making efficiency.

The basic operations of MySQL include creating databases, tables, and using SQL to perform CRUD operations on data. 1. Create a database: CREATEDATABASEmy_first_db; 2. Create a table: CREATETABLEbooks(idINTAUTO_INCREMENTPRIMARYKEY, titleVARCHAR(100)NOTNULL, authorVARCHAR(100)NOTNULL, published_yearINT); 3. Insert data: INSERTINTObooks(title, author, published_year)VA


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

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

Hot Article

Hot Tools

SublimeText3 English version
Recommended: Win version, supports code prompts!

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SublimeText3 Mac version
God-level code editing software (SublimeText3)

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.

Atom editor mac version download
The most popular open source editor