search
HomeDatabaseMysql Tutorialmysql source code installation linux

MySQL is a free open source database management system that is widely used in Linux systems. This article will introduce the source code installation process of MySQL to help readers install MySQL and run it smoothly.

  1. Download MySQL source code

The source code of MySQL can be downloaded from the official website of MySQL. Before downloading, you need to pay attention to the version number of the database and the system architecture. Downloading the correct version of the source code can ensure a successful installation.

  1. Installing the compiler and dependency packages

Compilation of MySQL requires the use of the gcc compiler and some related dependency packages, such as zlib, openssl, cmake, etc. Before installation, you need to check whether these dependency packages are installed. In most Linux systems, these dependency packages are installed by default. However, if they are not installed, you can install them through the command line. For example, the command to install dependency packages in Ubuntu system:

sudo apt-get install build-essential cmake zlib1g-dev openssl libssl-dev
  1. Unzip the source code package

After downloading the MySQL source code, you can unzip the compressed package to the appropriate directory. In this article, we unzip the source code to /usr/local.

  1. Compile and install MySQL

After entering the MySQL source code directory, you can use the following command to compile and install MySQL:

cd /usr/local/mysql-5.7.28
cmake .
make && make install

Among them, the "." of cmake. Indicates that the current directory is passed into cmake as a parameter, and the Makefile required for compilation will be automatically generated. The make command will compile MySQL and you will need to wait from a few minutes to dozens of minutes. The specific length of time varies according to the computer hardware configuration. Finally, make install will install MySQL into the default installation directory (usually /usr/local/mysql).

  1. Configure MySQL environment variables

In order to facilitate the use of MySQL, you need to configure some environment variables after the installation process. Edit the /etc/profile file and add the following lines at the end:

export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin

After saving and exiting, use the following command to make the environment variables take effect:

source /etc/profile
  1. Initialize MySQL

After completing the compilation and installation, MySQL still needs to be initialized. First, you need to modify the MySQL configuration file my.cnf and set some properties of the database, such as listening address, port, character encoding, etc. Here you choose to use the vim editor to edit the my.cnf file:

cd /usr/local/mysql
cp support-files/my-default.cnf /etc/my.cnf
vim /etc/my.cnf

in my.cnf Add the following content to the file:

[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port=3306
bind-address=127.0.0.1
character-set-server=utf8

Among them, basedir is the installation path of MySQL, datadir is the storage path of the MySQL database, port is the default listening port of MySQL, bind-address is the IP address of MySQL monitoring, character-set -server is the database character set. Save and exit after completing the modifications.

Next use the following command to initialize MySQL:

cd /usr/local/mysql
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

MySQL will generate a random password during initialization and save it in the MySQL log file. You can use the following command to view the password:

cat /usr/local/mysql/data/*-error.log | grep password

Use this password to log in to MySQL and change the password:

/usr/local/mysql/bin/mysql -uroot -p

Use the initial password you just obtained to log in to MySQL, and then change the password:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
  1. Start MySQL

Now, MySQL has been successfully installed and initialized. You can use the following command to start MySQL:

/usr/local/mysql/support-files/mysql.server start

If you are prompted for Permission denied, you need to change the permissions of the file:

chmod +x /usr/local/mysql/support-files/mysql.server

Then start MySQL:

/usr/local/mysql/support-files/mysql.server start

You can use the following command to verify MySQL Status:

/usr/local/mysql/support-files/mysql.server status

At this point, the MySQL source code installation has been completed. You can start using MySQL for database development work.

The above is the detailed content of mysql source code installation linux. 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
How does MySQL handle data replication?How does MySQL handle data replication?Apr 28, 2025 am 12:25 AM

MySQL processes data replication through three modes: asynchronous, semi-synchronous and group replication. 1) Asynchronous replication performance is high but data may be lost. 2) Semi-synchronous replication improves data security but increases latency. 3) Group replication supports multi-master replication and failover, suitable for high availability requirements.

How can you use the EXPLAIN statement to analyze query performance?How can you use the EXPLAIN statement to analyze query performance?Apr 28, 2025 am 12:24 AM

The EXPLAIN statement can be used to analyze and improve SQL query performance. 1. Execute the EXPLAIN statement to view the query plan. 2. Analyze the output results, pay attention to access type, index usage and JOIN order. 3. Create or adjust indexes based on the analysis results, optimize JOIN operations, and avoid full table scanning to improve query efficiency.

How do you back up and restore a MySQL database?How do you back up and restore a MySQL database?Apr 28, 2025 am 12:23 AM

Using mysqldump for logical backup and MySQLEnterpriseBackup for hot backup are effective ways to back up MySQL databases. 1. Use mysqldump to back up the database: mysqldump-uroot-pmydatabase>mydatabase_backup.sql. 2. Use MySQLEnterpriseBackup for hot backup: mysqlbackup--user=root-password=password--backup-dir=/path/to/backupbackup. When recovering, use the corresponding life

What are some common causes of slow queries in MySQL?What are some common causes of slow queries in MySQL?Apr 28, 2025 am 12:18 AM

The main reasons for slow MySQL query include missing or improper use of indexes, query complexity, excessive data volume and insufficient hardware resources. Optimization suggestions include: 1. Create appropriate indexes; 2. Optimize query statements; 3. Use table partitioning technology; 4. Appropriately upgrade hardware.

What are views in MySQL?What are views in MySQL?Apr 28, 2025 am 12:04 AM

MySQL view is a virtual table based on SQL query results and does not store data. 1) Views simplify complex queries, 2) Enhance data security, and 3) Maintain data consistency. Views are stored queries in databases that can be used like tables, but data is generated dynamically.

What are the differences in syntax between MySQL and other SQL dialects?What are the differences in syntax between MySQL and other SQL dialects?Apr 27, 2025 am 12:26 AM

MySQLdiffersfromotherSQLdialectsinsyntaxforLIMIT,auto-increment,stringcomparison,subqueries,andperformanceanalysis.1)MySQLusesLIMIT,whileSQLServerusesTOPandOracleusesROWNUM.2)MySQL'sAUTO_INCREMENTcontrastswithPostgreSQL'sSERIALandOracle'ssequenceandt

What is MySQL partitioning?What is MySQL partitioning?Apr 27, 2025 am 12:23 AM

MySQL partitioning improves performance and simplifies maintenance. 1) Divide large tables into small pieces by specific criteria (such as date ranges), 2) physically divide data into independent files, 3) MySQL can focus on related partitions when querying, 4) Query optimizer can skip unrelated partitions, 5) Choosing the right partition strategy and maintaining it regularly is key.

How do you grant and revoke privileges in MySQL?How do you grant and revoke privileges in MySQL?Apr 27, 2025 am 12:21 AM

How to grant and revoke permissions in MySQL? 1. Use the GRANT statement to grant permissions, such as GRANTALLPRIVILEGESONdatabase_name.TO'username'@'host'; 2. Use the REVOKE statement to revoke permissions, such as REVOKEALLPRIVILEGESONdatabase_name.FROM'username'@'host' to ensure timely communication of permission changes.

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

Video Face Swap

Video Face Swap

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

Hot Tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!