Install mysql-5.7.24 under Linux to solve error while loading shared libraries: libnuma.so.1:

Original: https://www.jianshu.com/p/276d59cbc529

初始化 MySQL 数据库: /usr/sbin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open sha:https://blog.csdn.net/qq_33468857/article/details/83146293

初始化 MySQL 数据库: /usr/sbin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

按照mysql出现这个错误:bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

这是缺少numactl。这个时候如果是Centos就yum -y install numactl就可以解决这个问题了. 
ubuntu的就sudo apt-get install numactl就可以解决这个问题了

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

The following records the complete process of installing Mysql in the Linux (Centos 7) environment. The actual operation record is by no means hydrology . If there are errors or omissions, please correct me.

 This document explains that the installation version is mysql-5.7.24. For versions after 5.7.24, this document is not applicable. The main reason is that the directory location and structure of the mysql configuration file of the later version have changed. Use this instruction may appear The configuration file cannot be found or the configuration does not take effect.

 During the installation process, ensure that the file path is consistent, otherwise it may cause unpredictable results. It is recommended to use the commands in the text directly.

One preparation before installation

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

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

From the execution result, 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 the mysql folder does not exist 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 after the error is correct!

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 when storing, and is not case-sensitive when operating; 0 means case-sensitive; it cannot be dynamically set, after modification, it must be restarted to take effect:
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 checking 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 re-execute the start command

#查询服务
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 to start automatically after booting

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

At this point, the database installation of mysql5.7.24 has been completed.

 

 

 

Guess you like

Origin blog.csdn.net/qq_29752857/article/details/112303737