Home  >  Article  >  Database  >  linux mysql compile and install mysql

linux mysql compile and install mysql

WBOY
WBOYOriginal
2023-05-23 09:43:06974browse

In the Linux operating system, MySQL is a very commonly used database management system. However, the MySQL version that comes with many Linux operating systems may not be the latest, or may not support some of the latest features; therefore, compiling and installing MySQL is a very practical approach to ensure that you are using the latest MySQL version. And can support the latest features. In this article, we will introduce how to compile and install MySQL in the Linux operating system.

  1. Environment preparation
    Before starting to compile and install MySQL, you need to ensure that some compilation tools and library files have been installed in the system, otherwise some compilation errors will occur. You can execute the following commands to install the necessary dependencies:

sudo apt-get install -y build-essential cmake libncurses5-dev libssl-dev

  1. Download MySQL source code
    Download the latest MySQL source code package from the MySQL official website. You can choose files in tar.gz or zip format and choose according to your needs. After the download is complete, unzip it to the specified directory. For example, assume that we have unzipped the MySQL source code to the /home/mysql directory.

tar -zxvf mysql-5.7.28.tar.gz -C /home/mysql

  1. Configure MySQL compilation options
    Enter the MySQL source code directory, Execute the following command:

cd /home/mysql/mysql-5.7.28
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/usr/local/mysql /data
-DSYSCONFDIR=/etc
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_ZLIB =system
-DWITH_LIBWRAP=0
-DENABLED_LOCAL_INFILE=1
-DENABLE_DOWNLOADS=1

In the above command, we configured some compilation options, the description is as follows:

-DCMAKE_INSTALL_PREFIX: Specify the installation path of MySQL.

-DMYSQL_DATADIR: Specify the MySQL data file storage path.

-DSYSCONFDIR: Specify the MySQL configuration file storage path.

-DWITH_INNOBASE_STORAGE_ENGINE: Enable InnoDB storage engine.

-DWITH_ARCHIVE_STORAGE_ENGINE: Enable Archive storage engine.

-DWITH_BLACKHOLE_STORAGE_ENGINE: Enable Blackhole storage engine.

-DWITH_READLINE: Enables the Readline library to provide better command line editing and input capabilities.

-DWITH_SSL: Enable SSL support, use system libraries.

-DWITH_ZLIB: Use the Zlib library of the system library to provide compression support.

-DWITH_LIBWRAP: Disable the Libwrap library to limit application access.

-DENABLED_LOCAL_INFILE: Enables reading and writing of local files.

-DENABLE_DOWNLOADS: Enable downloading to download missing files from the internet.

  1. Compilation and installation
    When compiling MySQL source code, you can use the make command, which will compile the source code and generate a binary file. After compilation is completed, install MySQL to the specified path through the make install command.

make && make install

  1. Configuring MySQL
    After the MySQL installation is completed, some configuration is required to ensure that it can run normally. First, create the MySQL user and group:

groupadd mysql
useradd -r -g mysql mysql

Then, create the MySQL data directory and set permissions:

mkdir -p /usr/local/mysql/data
chown -R mysql:mysql /usr/local/mysql
chmod 750 /usr/local/mysql/data

Then, MySQL can be initialized using the following command:

cd /usr/local/mysql
bin/mysqld --initialize-insecure --user=mysql

Finally, start MySQL and enter the console :

bin/mysqld_safe --user=mysql &
mysql -u root

Now, you have successfully compiled and installed MySQL and configured it correctly. Next, you can start trying to use MySQL for database management and operations.

The above is the detailed content of linux mysql compile and install mysql. 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
Previous article:mysql batch deleteNext article:mysql batch delete