Install mysql-5.7.24 under Linux

The installation of Mysql database is a problem we will inevitably face for developers. Its installation process is actually not complicated, and there are many installation tutorials on the Internet, but for novices, various forms of installation The tutorial has brought the novices the difficulty of which way to choose to install, and in many cases, the installation failed according to the tutorial, and various errors occurred during the installation process.

One preparation before installation

1. Check whether mysql has been installed and execute the command

 

[root@localhost /]# rpm -qa | grep mysql

From the execution results, we can see that we have installed mysql-libs-5.1.73-5.el6_6.x86_64 , execute the delete command

 

[root@localhost /]# rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64

Execute the query command again to see if it is deleted

 

[root@localhost /]# rpm -qa | grep mysql

2. Query all folders corresponding to Mysql

 

[root@localhost /]# whereis mysql
mysql: /usr/bin/mysql /usr/include/mysql
[root@localhost lib]# find / -name mysql
/data/mysql
/data/mysql/mysql

Delete related directories or files

 

[root@localhost /]#  rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql 

Verify that the deletion is complete

 

[root@localhost /]# whereis mysql
mysql:
[root@localhost /]# find / -name mysql
[root@localhost /]# 

3. Check whether the mysql user group and user exist, if not, create

 

[root@localhost /]# cat /etc/group | grep mysql
[root@localhost /]# cat /etc/passwd |grep mysql
[root@localhost /]# groupadd mysql
[root@localhost /]# useradd -r -g mysql mysql
[root@localhost /]# 

4. Download the Mysql installation package for Linux from the official website

Download command:

 

[root@localhost /]#  wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

You can also go directly to the mysql official website to select the corresponding version to download.

Two install Mysql

1. Find the Mysql installation package in the directory where the wget command is executed or your upload directory: mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
execute the decompression command:

 

[root@localhost /]#  tar xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
[root@localhost /]# ls
mysql-5.7.24-linux-glibc2.12-x86_64
mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

After the decompression is complete, you can see that there is an additional decompressed file in the current directory. Move the file to /usr/local/ and modify the folder name to mysql .

If mysql already exists under /usr/local/ , please modify the existing mysql file to another name, otherwise the subsequent steps may not be performed correctly.

The execution command is as follows:

 

[root@localhost /]# mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/
[root@localhost /]# cd /usr/local/
[root@localhost /]# mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql

If there is no mysql folder under /usr/local/ , you can directly execute the following command to achieve the above effect.

 

[root@localhost /]# mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql

2. Create a data directory under the /usr/local/mysql directory

 

[root@localhost /]# mkdir /usr/local/mysql/data

3. Change the user groups and users, and permissions of all directories and folders in the mysql directory

 

[root@localhost /]# chown -R mysql:mysql /usr/local/mysql
[root@localhost /]# chmod -R 755 /usr/local/mysql

4. Compile, install and initialize mysql, be sure to remember the password at the end of the initial output log (temporary password of the database administrator)

 

[root@localhost /]# cd /usr/local/mysql/bin
[root@localhost bin]# ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

Supplementary note:

In step 4, an error may occur:

When this problem occurs, first check whether the link library file is installed and use the command to check

[root@localhost bin]# rpm -qa|grep libaio   
[root@localhost bin]# 

After running the command, it is found that there is no such link library file in the system

[root@localhost bin]#  yum install  libaio-devel.x86_64

After the installation is successful, continue to run the database initialization command, the following errors may occur at this time:

After executing the following command:

[root@localhost bin]#  yum -y install numactl

After the execution is correct, re-execute the 4th step initialization command, and then proceed to the 5th step again!

5. After running the initialization command successfully, the output log is as follows:

Record the string after root@localhost: at the end of the log . This string is the temporary login password of the MySQL administrator.

6. Edit the configuration file my.cnf and add the configuration as follows

 

[root@localhost bin]#  vi /etc/my.cnf

[mysqld]
datadir=/usr/local/mysql/data
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=600
innodb_file_per_table=1
lower_case_table_names=1
character_set_server=utf8

lower_case_table_names:Whether it is case sensitive, 1 means that the table name is lowercase during storage, and is not case-sensitive when operating; 0 means case-sensitive; it cannot be dynamically set, and must be restarted to take effect after modification:
character_set_server:Set the database default character set, if not set The default is latin1
innodb_file_per_table: whether to store the data of each table separately, 1 means to store separately; 0 means to close the independent table space, you can check the difference in file structure by viewing the data directory;

7, test to start the mysql server

 

[root@localhost /]# /usr/local/mysql/support-files/mysql.server start

The following results are displayed, indicating that the database is installed and can be started normally

abnormal situation

If the following message appears

Starting MySQL... ERROR! The server quit without updating PID file

Check whether there are mysql and mysqld services, if they exist, terminate the process, and then execute the start command again

#查询服务
ps -ef|grep mysql | grep -v grep
ps -ef|grep mysqld | grep -v grep

#结束进程
kill -9 PID

#启动服务
 /usr/local/mysql/support-files/mysql.server start

8. Add a soft connection and restart the mysql service

 

[root@localhost /]#  ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 
[root@localhost /]#  ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
[root@localhost /]#  service mysql restart

9. Log in to mysql and change the password (the password is the temporary password generated in step 5)

 

[root@localhost /]#  mysql -u root -p
Enter password:
mysql>set password for root@localhost = password('yourpass');

注意:输入密码时,Enter password 后面不会有任何显示,此时实际是输入成功的,输入完密码后直接回车即可。或使用:mysql -u root -p 密码 ,回车后,即可直接进入数据库

10. Open remote connection

 

mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;

11. Set automatic startup

 

1、将服务文件拷贝到init.d下,并重命名为mysql
[root@localhost /]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
2、赋予可执行权限
[root@localhost /]# chmod +x /etc/init.d/mysqld
3、添加服务
[root@localhost /]# chkconfig --add mysqld
4、显示服务列表
[root@localhost /]# chkconfig --list

 

Guess you like

Origin blog.csdn.net/qq_30960647/article/details/111241449