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.
- 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.
- 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
- 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.
- 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).
- 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
- 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';
- 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!

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.

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.

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

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.

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.

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

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 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.


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 Mac version
God-level code editing software (SublimeText3)

Zend Studio 13.0.1
Powerful PHP integrated development environment

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

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
Recommended: Win version, supports code prompts!
