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!