Home >Database >Mysql Tutorial >Linux source code installation mysql

Linux source code installation mysql

WBOY
WBOYOriginal
2023-05-23 14:14:381266browse

In Linux systems, MySQL is a very common database management system, and its installation is also very simple. However, in some cases, it is necessary to install MySQL through source code. Now, let us learn together how to install MySQL through source code in Linux system.

1. Download the MySQL source code

First, we need to download the MySQL source code from the official website of MySQL (https://dev.mysql.com/downloads/mysql/). On the download page, we need to select the "Source Code Version" option and select the version number we need.

After the download is completed, unzip the source code package to a directory, such as /usr/local/src directory.

2. Install the necessary dependencies

Before compiling and installing MySQL, we need to install some necessary dependencies first. These dependencies include the C compiler, make, cmake, etc. We can install it through the following command:

yum install gcc gcc-c++ make cmake ncurses ncurses-devel bison

3. Create the MySQL installation directory

Before installing MySQL, we need to create the MySQL installation directory first. Normally, we can install MySQL in the /usr/local/mysql directory. Before creating the directory, make sure the directory does not exist.

mkdir -p /usr/local/mysql

4. Modify the system configuration

Before installing MySQL, we need to modify some system configurations. Specifically, we need to modify the value of ulimit.

We can use the vim editor to open the /etc/security/limits.conf file and add the following two lines of code at the end of the file:

* soft nofile 4096
* hard nofile 65535

Next, we need to change /etc/pam Remove the comment character "#" in front of the "session required pam_limits.so" line in the .d/login file:

# End of file
session required pam_limits.so

After saving and exiting, execute the "ulimit -n 65535" command to update the system configuration.

5. Compile MySQL source code

Before executing the compilation, we need to create a user and user group for MySQL. We can use the following command to complete:

useradd mysql -d /usr/local/mysql -M -s /sbin/nologin

Next, we need to enter the MySQL source code directory and execute the following command:

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql 
-DMYSQL_DATADIR=/usr/local/mysql/data 
-DWITH_INNOBASE_STORAGE_ENGINE=1 
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 
-DWITH_BOOST=/usr/local/src/boost 
-DWITH_SSL=/usr/local/openssl 
-DWITH_ZLIB=bundled
make -j$(nproc) && make install

The above command is to compile and install MySQL. Among them, -DCMAKE_INSTALL_PREFIX is used to specify the installation path of MySQL; -DMYSQL_DATADIR is used to specify the data directory of MySQL; -DWITH_INNOBASE_STORAGE_ENGINE is used to specify the use of InnoDB storage engine, it is recommended to turn it on; -DWITHOUT_EXAMPLE_STORAGE_ENGINE is used to turn off the example storage engine, it is recommended to turn it off; -DWITH_BOOST is used to specify the path of boost; -DWITH_SSL is used to specify the path of OpenSSL; -DWITH_ZLIB is used to specify whether MySQL uses the bundled ZLIB library. Among them, boost, OpenSSL and ZLIB are all dependencies of MySQL.

Note: During the compilation process, if an error occurs, you can try to change the parameters in the cmake command and recompile.

6. Configure MySQL

After the MySQL compilation is completed, we need to configure MySQL. We can use the following command to configure:

groupadd mysql
useradd -r -g mysql mysql
cd /usr/local/mysql
mkdir data
chown -R mysql:mysql .
cp support-files/my-default.cnf /etc/my.cnf
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

In the above command, we created the MySQL configuration file /etc/my.cnf and used the mysql_install_db script to create the MySQL database and table. Among them, --user=mysql is used to specify the running user of MySQL; --basedir is used to specify the installation directory of MySQL; --datadir is used to specify the data directory of MySQL.

7. Start MySQL

After completing the configuration of MySQL, we need to start the MySQL service. We can use the following command to start the MySQL service:

service mysql start

After the startup is successful, we can use the following command to check whether the MySQL service has been started successfully:

ps -ef |grep mysql

If you can see something like the following The output result indicates that the MySQL service has been started successfully:

mysql     4989     1  0 21:12 ?        00:00:00 /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/mysql.pid
mysql     5094  4989  7 21:12 ?        00:00:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/mysql-error.log --pid-file=/usr/local/mysql/data/mysql.pid --socket=/usr/local/mysql/data/mysql.sock --port=3306
root      5159  4909  0 21:12 pts/0    00:00:00 grep --color=auto mysql

8. Set the password of the root account of MySQL

After the MySQL service is started, we need to set the password of the root account. We can use the following command to set the password of the root account:

/usr/local/mysql/bin/mysqladmin -u root password 'your_password'

where your_password is the MySQL administrator password you set.

After completing the above steps, we successfully installed MySQL. Now, you can connect to the MySQL database through MySQL client tools (such as mysql, phpmyadmin, etc.) and manage the MySQL database.

The above is the detailed content of Linux source code installation 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 query enable logNext article:mysql query enable log