Installez mysql sur Linux en utilisant l'installation de la version glibc

1. Vérifiez avant l'installation

1.1 Vérifiez la version du système Linux

[root @ localhost ~] # cat / etc / system-release

Remarque: la version de Xiaosheng est Linux 64 bits: CentOS Linux version 7.4.1708 (Core)

1.2 Vérifiez si mysql est installé

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

S'il existe un fichier d'installation mysql, les informations de version de l'installation mysql seront affichées

如 : mysql-connector-odbc-5.2.5-6.el7.x86_64

Désinstallez MySQL installé, désinstallez la commande mysql, comme suit:

[root @ localhost ~] # rpm -e --nodeps mysql-connector-odbc-5.2.5-6.el7.x86_64

Remarque pour les détails:
  vérifiez si la base de données mariadb existe dans le système. Si c'est le cas, elle doit être désinstallée, sinon elle peut entrer en conflit avec mysql.
  Le mode d'installation du système est une installation minimale, il n'existe donc pas de telle base de données.
  Vérifiez si mariadb est installé: [root @ localhost ~] # rpm -qa | grep mariadb
  Si oui, désinstallez-le:
systemctl stop mariadb
rpm -qa | grep mariadb
rpm -e --nodeps mariadb-5.5.52-1.el7. x86_64
rpm -e --nodeps mariadb-server-5.5.52-1.el7.x86_64
rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64
  1.3 Vérification de la mémoire système

Vérifiez la taille de la mémoire virtuelle du système Linux. Si la mémoire est inférieure à 1 Go, le message d'erreur suivant peut être généré lors du démarrage de mysql:

Démarrage de mysqld (via systemctl): Le travail pour mysqld.service a échoué car le processus de contrôle s'est terminé avec un code d'erreur.

Voir «systemctl status mysqld.service» et «journalctl -xe» pour plus de détails. [FAILED]

Lorsque Xiaosheng l'a installé pour la première fois, il a utilisé le partitionnement automatique de la machine virtuelle et la mémoire a été réglée sur 1G. En conséquence, j'ai passé beaucoup d'énergie et de temps à déboguer là-dessus, mais cela n'a jamais démarré avec succès.

Après avoir installé mysql via lnmp, mysql n'est pas en cours d'exécution s'affiche. L'erreur est la suivante:
  Démarrage de MySQL ... Le serveur s'est arrêté sans mettre à jour le fichier PID (/usr/local/mysql/var/localhost.localdomain.pid)
Différentes solutions se trouvent sur Internet, dont la plupart sont des permissions de fichiers et mysql les journaux sont trop volumineux et lourds. Installation et autres problèmes. J'ai essayé les solutions une par une, mais elles
sont toutes apparues ... Enfin, j'ai ouvert le tutoriel d'installation https://lnmp.org/install.html sur le site officiel de lnmp, et j'ai réalisé que c'était parce que la version mysql J'ai choisi lors de l'installation était 5.6., Et l'installation de mysql version 5.6 et supérieure nécessite la mémoire du serveur au moins 1G. Et je l'ai installé sur le VPS. La mémoire est de 256 Mo, il y a un problème s'il n'y a pas d'erreur. Immédiatement coincé.
Enfin, désinstallez d'abord lnmp, puis installez-le. L'installation peut se référer au tutoriel officiel.

2. Téléchargez et téléchargez le package d'installation de mysql depuis le site officiel de mysql

2.1 Téléchargez le package d'installation mysql

Xiaosheng utilise mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

2.2 Téléchargez le fichier d'installation sur le système Linux

Utilisez ftp pour télécharger sur le système Linux, téléchargez dans le répertoire de fichiers / var / ftp / pub

Insérez la description de l'image ici

Remarque
  pour les détails: Pour les problèmes de sécurité, il est recommandé d'utiliser la commande md5sum pour vérifier la source du fichier: [root @ localhost pub] # md5sum mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

1、下载tar包,这里使用wget从官网下载
 
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
 
2、将mysql安装到/usr/local/mysql下
 
# 解压
 
tar -xvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
 
# 移动
 
mv mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/
 
# 重命名
 
mv /usr/local/mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql
 
3、新建data目录
 
mkdir /usr/local/mysql/data
 
4、新建mysql用户、mysql用户组
 
# mysql用户组
 
groupadd mysql
 
# mysql用户
 
useradd mysql -g mysql
 
5、将/usr/local/mysql的所有者及所属组改为mysql
 
chown -R mysql.mysql /usr/local/mysql
 
6、配置
 
/usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
 
# 如果出现以下错误:
 
复制代码
2018-07-14 06:40:32 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2018-07-14 06:40:32 [ERROR]   Child process: /usr/local/mysql/bin/mysqldterminated prematurely with errno= 32
2018-07-14 06:40:32 [ERROR]   Failed to execute /usr/local/mysql/bin/mysqld --bootstrap --datadir=/usr/local/mysql/data --lc-messages-dir=/usr/local/mysql/share --lc-messages=en_US --basedir=/usr/local/mysql
-- server log begin --
 
-- server log end --
复制代码
# 则使用以下命令:
 
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize
# 如果出现以下错误:
 
/usr/local/mysql/bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
# 则执行以下命令:
 
yum -y install numactl
 
# 完成后继续安装:
 
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize
# 编辑/etc/my.cnf
 
复制代码
[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
user=mysql
port=3306
character-set-server=utf8
# 取消密码验证
skip-grant-tables
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# skip-grant-tables
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
复制代码
7、开启服务
 
# 将mysql加入服务
 
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
 
# 开机自启
 
chkconfig mysql on
 
# 开启
 
service mysql start
 
8、设置密码
 
# 登录(由于/etc/my.cnf中设置了取消密码验证,所以此处密码任意)
 
/usr/local/mysql/bin/mysql -u root -p
 
# 操作mysql数据库
 
>>use mysql;
 
# 修改密码
 
>>update user set authentication_string=password('你的密码') where user='root';
 
>>flush privileges;
 
>>exit;
 
9、将/etc/my.cnf中的skip-grant-tables删除
 
10、登录再次设置密码(不知道为啥如果不再次设置密码就操作不了数据库了)
 
/usr/local/mysql/bin/mysql -u root -p
 
 >>ALTER USER 'root'@'localhost' IDENTIFIED BY '修改后的密码';
 
>>exit;
 
11、允许远程连接
 
/usr/local/mysql/bin/mysql -u root -p
 
>>use mysql;
 
>>update user set host='%' where user = 'root';
 
>>flush privileges;
 
>>eixt;
 
12、添加快捷方式
 
ln -s /usr/local/mysql/bin/mysql /usr/bin

Je suppose que tu aimes

Origine blog.csdn.net/qq_2662385590/article/details/112970564
conseillé
Classement