1. Compruebe si MySQL está instalado
Compruebe si el sistema actual ha instalado mysql
Antes de ejecutar el comando de instalación, ejecute primero el comando de consulta
1. CentOS6
rpm -qa|grep mysql
Si hay un paquete de versión anterior de mysql-libs de la siguiente manera:
Ejecute primero el comando de desinstalación:rpm -e --nodeps mysql-libs
2. CentOS7
Primero ejecuta la consulta:rpm -qa|grep mariadb
Si existe mariadb eliminar:rpm -e --nodeps mariadb-libs
2. Instalar MySQL
1. Envía el paquete comprimido al servidor
Estoy usando mysql-5.7.16 aquí, si necesita otras versiones, puede descargarlas usted mismo.
Aquí está el paquete comprimido de mysql-5.7.16:
Enlace: https://pan.baidu.com/s/1zNmv-0Io2BQmp0e3go72Gg
Código de extracción: wjud
2. Descomprimir el archivo
tar -zxv mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar.gz
3. Instalación (ejecutada en orden)
rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.16-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.16-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm
Compruebe la versión instalada:mysqladmin --version
Ver usuarios de mysql:id mysql
4. Inicialización del servicio MySQL
Ejecute el siguiente comando para inicializar:
mysqld --initialize --user=mysql
Use el usuario del sistema mysql para generar una contraseña para el usuario raíz en modo seguro y marque la contraseña como caducada. Después de iniciar sesión, debe establecer una nueva contraseña
Ver contraseña:cat /var/log/mysqld.log
5. Modificar la contraseña de inicialización
Para modificar MySQL, primero se debe iniciar el servicio MySQL y la contraseña solo se puede cambiar después de iniciar sesión con la contraseña inicial:
Inicie el servicio MySQL:systemctl start mysqld.service
Cierre el servicio MySQL:systemctl stop mysqld.service
cambiar la contraseña:ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
6. Inicio automático de MySQL
Compruebe si mysql se inicia automáticamente ( inicio automático predeterminado )
systemctl list-unit-files|grep mysqld.service
Si no está habilitado, puede ejecutar el siguiente comando para configurar el inicio automático
systemctl enable mysqld.service
7. Modificar el problema del juego de caracteres
Prueba el uso de mysql:
Hay un problema de codificación, el motivo: verifique la codificación mysql ( show variables like '%character%';
) y descubra que la codificación predeterminada es latin1
Para modificar la codificación, debe modificar el archivo de configuración mysql:vi /etc/my.cnf
Agregue una línea de configuración de codificación en mysqld: character_set_server=utf8
guarde y salga, reinicie el servicio mysql:systemctl restart mysqld
¿Cómo cambia el conjunto de caracteres de la tabla de biblioteca generada?
Modifique el juego de caracteres de la base de datos:alter database mydb character set 'utf8';
Modifique el juego de caracteres de la tabla de datos:alter table mytbl convert to character set 'utf8';
8. Acceso remoto a MySQL
A continuación, utilice el cliente host navicat para acceder al servicio MySQL e informe el siguiente error: ( Asegúrese de que el cortafuegos esté desactivado )
Razón: Por defecto, mysql no permite conexiones remotas. Solo permitir conexiones de host local
implementar:select host,user,authentication_string,select_priv,insert_priv from mysql.user;
solución:
- Crear un nuevo usuario (se omite aquí)
- Modificar los derechos de acceso del usuario raíz
9. Otorgar acceso remoto a la raíz
Comando de autorización:
Otorgar permiso 1, permiso 2,... permiso n en nombre de base de datos nombre de tabla a nombre de usuario@dirección de usuario identificado por 'contraseña de conexión';
Si se determina que el usuario no tiene dicho permiso, se creará un nuevo usuario directamente.
Por ejemplo
grant all privileges on *.* to root@'%' identified by 'root'; #授予通过网络方式登录的的root用户,对所有库所有表的全部权限,密码设为root.
extensión:
Ver los permisos de usuario actuales:show grants;
Ver los permisos globales del usuario actual:select * from user ;
Ver los permisos de una tabla para un usuario:select * from tables_priv;
Comando para revocar permisos:
revocar autoridad 1, autoridad 2, ... autoridad n en el nombre de la base de datos nombre de la tabla de nombre de usuario@dirección de usuario;
Para revocar todos los permisos de toda la base de datos y las tablas:REVOKE ALL PRIVILEGES ON mysql.* FROM li4@localhost;
Recupere el permiso para insertar, eliminar, modificar y consultar todas las tablas en la biblioteca mysql:REVOKE select,insert,update,delete ON mysql.* FROM li4@localhost;
El usuario debe iniciar sesión nuevamente para que surta efecto
10. Conexión de prueba
Prueba de conexión: