1. Instalación
Método 1: instalar MySQL a través de Docker
1. búsqueda
docker search mysql
2. tirar
docker pull mysql
3. imágenes
docker images
4. Instale el cambio de nombre del puerto asignado
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
5. Ver el contenedor en ejecución
docker ps
En este punto, ¡has terminado! Utilice software de base de datos para conectarse
Los caracteres chinos confusos aparecen cuando Docker instala mysql, ¡haga clic aquí!
Método 2: instalar MySQL a través de la duplicación
El primer paso: descargar
Método 1: haga clic aquí para descargar , como se muestra a continuación:
Método 2: Ejecute la siguiente instrucción en el directorio donde desea colocar el paquete de instalación
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
Paso 2: descomprime y mueve
Nota: No es necesario mover, pero hay directorios de archivos especificados en la siguiente configuración, y la instalación de mysql en Mac también se ubicará en / usr / local de forma predeterminada, por lo que es mejor seguir los pasos a continuación.
Abrir la cremallera:
tar -zxvf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
móvil:
mv mysql-5.7.29-linux-glibc2.12-x86_64 /usr/mysql
Cambiar nombre (cambiar el nombre y el enlace suave, elegir uno de los dos)
① Cambiar nombre:
mv mysql-5.7.29-linux-glibc2.12-x86_64/ mysql-5.7.29
② Comando de conexión suave:
ln -s mysql-5.7.29-linux-glibc2.12-x86_64/ mysql-5.7.29
Paso 3: cree usuarios y asigne permisos al directorio de datos
Cree el grupo y el usuario de mysql:
groupadd mysql
useradd -r -g mysql mysql
Cree el directorio de datos de mysq (de regreso al directorio raíz):
cd /
mkdir -p data
cd data/
mkdir -p mysql
Otorgar permisos:
chown mysql:mysql -R /data/mysql
Paso 4: configurar los parámetros
llevado a cabo:
vim /etc/my.cnf
Luego presione i para ingresar al modo de edición y copie el siguiente contenido en él:
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/mysql/mysql-5.7.29/
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
# character config
character_set_server=utf8mb4
symbolic-links=0
Después de editar, presione esc y mantenga presionada la tecla shift +: ingrese wq para guardar y salir.
Paso 5: inicializar mysql
cd /usr/mysql/mysql-5.7.29/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/mysql/mysql-5.7.29/ --datadir=/data/mysql/ --user=mysql --initialize
Pueden ocurrir los siguientes problemas (ignórelos si no es así):
Solución: Esto es menos numactl. En este momento, si es Centos, ejecute yum -y install numactl para resolver este problema. Ejecute sudo apt-get install numactl en ubuntu. como sigue:
Luego ejecute la declaración anterior y descubra que la ejecución es exitosa:
Verifique la contraseña inicial y cópiela:
cat /data/mysql/mysql.err
Paso 6: inicie mysql y cambie la contraseña de root
Primero ponga mysql.server en /etc/init.d/mysql:
cp /usr/mysql/mysql-5.7.29/support-files/mysql.server /etc/init.d/mysql
puesta en marcha:
service mysqld start
Pueden ocurrir los siguientes problemas (ignórelos si no es así):
Razón: debido a que no hay ruta ni permisos, esta ruta se crea y se autoriza al usuario de mysql, de la siguiente manera:
¡resolver!
Compruebe si comenzar:
ps -ef|grep mysql
cambiar la contraseña:
cd /usr/mysql/mysql-5.7.29/bin
./mysql -u root -p
Solicite la contraseña, pegue la contraseña que acaba de copiar
Luego realice la modificación y actualice
SET PASSWORD = PASSWORD('**********');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
Este es el final, si desea cerrar mysql, ejecute el servicio mysqld stop
Si usa una conexión remota en este momento, encontrará que no puede conectarse ...
Los siguientes tres comandos se ejecutan principalmente aquí (primero inicie sesión en la base de datos):
use mysql # 访问mysql库
update user set host = '%' where user = 'root'; # 使root能再任何host访问
FLUSH PRIVILEGES; # 刷新
resolver:
Precauciones:
Si los pasos anteriores tienen problemas de permisos, puede ejecutar los siguientes comandos y activar el inicio automático:
cp ./support-files/mysql.server /etc/init.d/mysqld
chown 777 /etc/my.cnf
chmod +x /etc/init.d/mysqld
Además, si su sistema tiene Mariadb antes de la instalación, desinstálelo.
El primer comando se usa para ver, si lo hay, use el siguiente comando para desinstalar
rpm -qa|grep mariadb
rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
Además, si algo que aparece durante la instalación 5.7 no se resuelve, es posible que su sistema no estuviera limpio antes de la instalación y necesite desinstalar los archivos mysql residuales.
Configurar MySQL para que se inicie en el arranque
1. Copie el archivo de servicio a init.d y cámbiele el nombre a mysqld
cp /usr/mysql/mysql-5.7.29/support-files/mysql.server /etc/init.d/mysqld
2. Otorgar permisos ejecutables
chmod +x /etc/init.d/mysqld
3. Agregar servicio
chkconfig --add mysqld
4. Mostrar lista de servicios
chkconfig --list
Si ve el servicio mysql, y 3, 4 y 5 están todos activados, entonces tiene éxito; si está desactivado, escriba
chkconfig --level 345 mysqld on
5. Reinicie para que surta efecto
reboot
Dos, desinstalar
1. Verifique la instalación actual de mysql
rpm -qa | grep -i mysql
2. Detenga el servicio mysql y elimine el mysql instalado previamente
Eliminar comando:rpm -ev 包名
Si muestra un error de paquete de dependencia, use el siguiente comando para intentarlo:rpm -ev 包名 –-nodeps
Si obtiene un error:, error: %preun(xxxxxx) scriptlet failed, exit status 1
intente con el siguiente comando:rpm -e --noscripts 包名
3. Busque el directorio de la versión anterior de mysql y elimine los archivos y bibliotecas de la versión anterior de mysql
find / -name mysql
Utilice el siguiente comando para eliminar el directorio especificado:rm -rf 路径
Nota: /etc/my.cnf no se eliminará después de la desinstalación, debe eliminarse manualmente:
rm -rf /etc/my.cnf
4. Busque nuevamente si la máquina tiene instalado mysql
rpm -qa | grep -i mysql
Si no hay ningún resultado, mysql se ha desinstalado por completo.
Si hay un problema fuera del artículo, puede escribirle en privado al autor.