Instalación de MySQL 5.7.24
www.mysql.com www.oracle.com
http://dev.mysql.com/doc/refman/5.7/en/linux-installation.html
Oracle MySQL, MariaDB, servidor Percona
Seleccione Plataforma:
Binario rpm Repositorio Yum mysql57-community-release-el7-9.noarch.rpm
Binario precompilado Genérico mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
Instalación del paquete de código fuente Código fuente mysql-5.7. 19.tar.gz
Entorno de instalación
[root@mysql1 ~]# rpm -q el paquete mariadb-server
mariadb-server no está instalado
[root@mysql1 ~]# sed -ri '/^SELINUX=/c\SELINUX=disabled' /etc/selinux/config
[root@mysql1 ~]# setenforce 0
Método 1: rpm binarias
http://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
yum -y install mysql-server
mysql -uroot -p'123'
show databases;
[root@tianyun Downloads]# md5sum mysql57-community-release-el7-9.noarch.rpm
[root@tianyun Downloads]# yum -y install mysql57-community-release-el7-9.noarch.rpm
[root@git ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id repo name status
base/7/x86_64 CentOS-7 - Base 10,019
extras/7/x86_64 CentOS-7 - Extras 321
mysql-connectors-community/x86_64 MySQL Connectors Community 74
mysql-tools-community/x86_64 MySQL Tools Community 74
mysql57-community/x86_64 MySQL 5.7 Community Server 307
updates/7/x86_64 CentOS-7 - Updates 628
repolist: 11,423
[root@git ~]# yum repolist all | grep mysql
mysql-connectors-community/x86_64 MySQL Connectors Community enabled: 74
mysql-connectors-community-source MySQL Connectors Community - S disabled
mysql-tools-community/x86_64 MySQL Tools Community enabled: 74
mysql-tools-community-source MySQL Tools Community - Source disabled
mysql-tools-preview/x86_64 MySQL Tools Preview disabled
mysql-tools-preview-source MySQL Tools Preview - Source disabled
mysql55-community/x86_64 MySQL 5.5 Community Server disabled
mysql55-community-source MySQL 5.5 Community Server - S disabled
mysql56-community/x86_64 MySQL 5.6 Community Server disabled
mysql56-community-source MySQL 5.6 Community Server - S disabled
mysql57-community/x86_64 MySQL 5.7 Community Server enabled: 307
mysql57-community-source MySQL 5.7 Community Server - S disabled
mysql80-community/x86_64 MySQL 8.0 Community Server disabled
mysql80-community-source MySQL 8.0 Community Server - S disabled
[root@git ~]# yum-config-manager --enable mysql56-community
将此56的MySQL设置成开机自启动
报错解决方式:
-bash: yum-config-manager: command not found
这个是因为系统默认没有安装这个命令,这个命令在yum-utils 包里。
yum -y install yum-utils
[root@git ~]# yum repolist enabled | grep mysql
mysql-connectors-community/x86_64 MySQL Connectors Community 74
mysql-tools-community/x86_64 MySQL Tools Community 74
mysql56-community/x86_64 MySQL 5.6 Community Server 429
mysql57-community/x86_64 MySQL 5.7 Community Server 307
[root@mysql1 ~]# yum -y install mysql-community-server
[root@mysql1 ~]# systemctl start mysqld //第一次启动先初始数据库
[root@mysql1 ~]# systemctl enable mysqld
[root@mysql1 ~]# ls /var/lib/mysql
auto.cnf client-key.pem ib_logfile1 mysql.sock.lock server-cert.pem
ca-key.pem ib_buffer_pool ibtmp1 performance_schema server-key.pem
ca.pem ibdata1 mysql private_key.pem sys
client-cert.pem ib_logfile0 mysql.sock public_key.pem
[root@mysql ~]# grep "password" /var/log/mysqld.log
2019-01-15T06:45:28.734665Z 1 [Note] A temporary password is generated for root@localhost: VFISQo_dt7Rt
2019-01-15T06:47:41.765992Z 3 [Note] Access denied for user 'root'@'localhost' (using password: YES)
[root@mysql ~]# mysql -uroot -p'VFISQo_dt7Rt'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.24 MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
mysql> alter user 'root'@'localhost' identified by "1qaz2WSX#"; 修改密码
Query OK, 1 row affected (0.00 sec)
mysql> \q
Bye
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.01 sec)
mysql>
Método 2: compilación e instalación del código fuente
URL: https://dev.mysql.com/downloads/mysql/5.7.html#downloads ------->community---->Mysql Community Server ----->MySQL Community Server 5.7
mysql 5.7 Paquete tar .24: https://dev.mysql.com/downloads/file/?id=481075
Paquete total https://dev.mysql.com/downloads/file/?id=481150
1. 编译安装
[root@mysql1 ~]# yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make
cmake:
[root@mysql1 ~]# yum -y install cmake 跨平台安装工具
boost:
[root@mysql1 ~]# wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz c++库
wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
mysql:
[root@mysql1 ~]# groupadd mysql
[root@mysql1 ~]# useradd -r -g mysql -s /bin/false mysql
[root@mysql1 ~]# tar xvf mysql-5.7.19.tar.gz
[root@mysql1 ~]# cd mysql-5.7.19
[root@mysql1 mysql-5.7.19]# pwd
/root/mysql-5.7.19
解压boost文件
[root@mysql3 ~]# tar xf /root/boost_1_59_0.tar.gz
[[email protected] ~]# cmake . \
-DWITH_BOOST=boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1
下面这个是一定会遇到的,只需加上下面的命令就可以了
提示:boost也可以使用如下指令自动下载
-DDOWNLOAD_BOOST=1
[root@mysql1 ~]# make
[root@mysql1 ~]# make install
2. 初始化
[root@mysql1 local]# cd mysql
[root@mysql1 mysql]# mkdir mysql-files
[root@mysql1 mysql]# chown -R mysql.mysql .
[root@mysql1 mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
[root@mysql1 mysql]# bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
建立MySQL配置文件my.cnf
[root@mysql1 mysql]# vim /etc/my.cnf
[mysqld]sys
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
启动MySQL
***centos6***
使用centos6 mysql.server脚本(system V)
[root@mysql1 mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@mysql1 mysql]# chkconfig --add mysqld
[root@mysql1 mysql]# chkconfig mysqld on
[root@mysql1 mysql]# service mysqld start
[root@mysql1 mysql]# service mysqld start
Starting MySQL.Logging to '/usr/local/mysql/data/mysql2.err'.
SUCCESS!
[root@mysql1 mysql]# ps aux |grep mysqld
mysql 76 pts/0 Sl 14:38 0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=mysql2.err --pid-file=/usr/local/mysql/data/mysql2.pid
报错1:
启动的时候会遇到default-character-set=utf8mb4报错,将下面这个写入到/etc/my.cnf
default-character-set=utf8mb4
报错2:
root@MyServer:~# service mysql start
Starting MySQL
..The server quit without updating PID file (/usr/local/mysql/data/MyServer.pid). ... failed!
错误解决排查思路:
1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限
2.可能进程里已经存在mysql进程
3.实在不行就重新初始化
登陆数据库:
[root@MySQL ~]# /usr/local/mysql/bin/mysql -uroot -p'zijz,Bsqe2<A'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.24
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> alter user 'root'@'localhost' identified by '123' ;
Query OK, 0 rows affected (0.00 sec)
mysql> \q
Bye
RUTA[可选]
[root@mysql2 mysql]# mysql
-bash: mysql: comando no encontrado
[root@mysql2 mysql]# /usr/local/mysql/bin/mysql
[root@mysql1 mysql]# echo “exportar RUTA= $PATH:/usr/local/mysql/bin” >> /etc/profile
[root@mysql1 mysql]# fuente /etc/profile
[root@mysql1 mysql]# mysqladmin -uroot -p'>>e4KKcol6i1' contraseña '( TianYunYang123)'
Podemos encontrarnos con este problema al instalar mysql: Cuando
encontramos esto, significa que ya hemos inicializado la base de datos y necesitamos reinicializarla.
Si se requiere reinicialización...[opcional]
[root@mysql1 ~]# killall mysqld
[root@mysql1 ~]# rm -rf /usr/local/mysql/data
[root@mysql1 mysql]# bin/mysqld --initialize - -user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
[root@mysql1 mysql]# bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
RPM o Yum:
datadir: /var/lib/mysql
paquete fuente y precompilación:
basedir: datadir:
/usr/local/mysql /usr/local/mysql/data
Error de compilación
El siguiente error ocurre cuando cmake compila mysql:
Solución:
Instale ncurses-devel: yum -y install ncurses-devel (Debian/Ubuntu necesita instalar libncurses5-dev).
Elimine CMakeCache.txt (el archivo está en el directorio de descompresión de mysql)
y vuelva a compilar.
Texto original: https://blog. csdn.net /zsl10/article/details/51824091
Olvidé la contraseña de MySQL
MySQL 5.7.5 y anteriores:
[root@mysql1 ~]# vim /etc/my.cnf
[mysqld]
skip-grant-tables 跳过密码验证
[root@mysql1 ~]# service mysqld restart
[root@mysql1 ~]# mysql
mysql> update mysql.user set password=password("123") where user="root" and host="localhost";
mysql> flush privileges;
mysql> \q
[root@mysql1 ~]# vim /etc/my.cnf
[mysqld]
#skip-grant-table
[root@mysql1 ~]# service mysqld restart
MySQL 5.7.6 y posterior:
[root@slave1 ~]# vim /etc/my.cnf
[mysqld]
skip-grant-tables
[root@slave1 ~]# systemctl restart mysqld
'
Comience a ingresar a la base de datos para realizar operaciones relacionadas.
Después de agregar una nueva contraseña, salga de la base de datos
[root@slave1 ~]# vim /etc/my.cnf
elimine la línea agregada
[root@slave1 ~]# systemctl restart mysqld
Modificar la contraseña de root de MySQL
update mysql.user set authentication_string=password('123') where user='root'; 键值(跳过密码验证后,重置数据库密码,建议大小写数字符号),有可能不成功是密码规则不符
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
错误1819 (HY000):您的密码不满足当前的策略要求
alter user user() identified by "1qaz2WSX#"; 修改数据库密码(符合密码规则)
flush privileges; 重新加载特权
修改完 密码后记得进入/etc/my.cnf 下去添加注释# 然后重启服务后,重新进入数据库。
mysqladmin -u root -p')vl*hfrZg3-t' password 'Qianfeng123!' 通过mysqladmin修改数据库密码
Alta, eliminación, modificación y consulta de bases de datos:
Sintaxis: CREAR BASE DE DATOS nombre de la base de datos;
Reglas de nomenclatura de bases de datos:
distingue entre mayúsculas
y minúsculas, es único,
no se pueden usar palabras clave como crear y seleccionar,
no se pueden usar números solos
Utilice la base de datos e inserte datos:
mysql> crear tabla
test1
(test1 是数据库里的表
-> tinyint_test tinyint, tinyint数据类型
-> int_test int
->);
mysql> desc prueba1;
±------------±-----------±-----±----±--------±--- ---+
| Campo | Tipo | Nulo | Clave | Predeterminado | Adicional |
±------------±-----------±-----±----±--------±--- ---+
| prueba_tinyint | pequeñoint(4) | SÍ | | NULO | |
| prueba_int | int(11) | SÍ | | NULO | |
±------------±-----------±-----±----±--------±--- ---+
2 filas en el conjunto (0,01 segundos)
mysql> insertar en los valores de prueba1 (111,111); 输入数值
Consulta OK, 1 fila afectada (0,09 segundos)
mysql> insertar en test1(tinyint_test) valores(128);
ERROR 1264 (22003): el valor fuera de rango para la columna 'tinyint_test' en la fila 1 excede este tipo de valor
mysql> insertar en test1(int_test) valores (2147483647);
consulta correcta, 1 fila afectada (0,05 segundos)
删除表和库
:
Tabla:
Crear tabla crear tabla
Ver estructura de tabla desc tabla, mostrar crear tabla
Restricciones de integridad de la tabla
Modificar tabla alterar tabla
Copiar tabla crear tabla...
Eliminar tabla soltar tabla
Biblioteca
Ver base de datos: MOSTRAR BASES DE DATOS;
Seleccionar base de datos:
SELECCIONAR base de datos();
USAR nombre de base de datos
usar zhaohan
Eliminar base de datos: DROP DATABASE nombre de base de datos;
mysql> soltar base de datos zhaohan;
查询:
Consulta simple
SELECCIONAR * DEL empleado5;
SELECCIONAR nombre, salario, dep_id DEL empleado5;
Evite la duplicación de DISTINCT
SELECT publicación DEL empleado5;
SELECCIONE DISTINCT publicación DEL empleado5; Deduplicación Nota
: DISTINCT no se puede usar parcialmente y generalmente solo se usa para un campo determinado.
Consulta a través de cuatro operaciones aritméticas
SELECCIONAR nombre, salario, salario 14 DE empleado5;
SELECCIONAR nombre, salario, salario 14 AS Salario_anual DE empleado5;
SELECCIONAR nombre, salario, salario*14 Salario_anual DE empleado5;
Definir el formato de visualización La
función CONCAT() se utiliza para conectar la cadena
SELECT CONCAT(nombre, 'salario anual: ', salario*14) AS Salario_anual FROM empleado5;
二、单条件查询
Consulta de condición única
SELECCIONAR nombre, publicación
DESDE empleado5
DONDE publicación = 'hora';
seleccione nombre, publicación del empleado5 donde publicación = 'hora';
Consulta de múltiples condiciones
SELECCIONE nombre, salario
DE empleado5
DONDE publicación = 'hora' Y salario> 10000;
seleccione nombre, puesto de salario del empleado5 donde puesto = 'hora' y salario > 1000;
关键字ENTRE Y
SELECCIONE nombre,salario DEL empleado5
DONDE salario ENTRE 5000 Y 15000;
SELECCIONE nombre, salario DEL empleado5
DONDE el salario NO ESTÁ ENTRE 5000 Y 15000;
seleccione nombre, salario del empleado5 donde el salario no esté entre 5000 y 15000;
关键字IS NULL
SELECT nombre, descripción_trabajo FROM empleado5
DONDE descripción_trabajo ES NULL;
SELECCIONE nombre, descripción_trabajo DEL empleado5
DONDE descripción_trabajo NO ES NULO;
SELECCIONE nombre, descripción_trabajo DEL empleado5
DONDE descripción_trabajo=" ";
Palabra clave EN consulta establecida
SELECCIONE nombre, salario DESDE empleado5
DONDE salario=4000 O salario=5000 O salario=6000 O salario=9000;
SELECCIONE nombre, salario DEL empleado5
DONDE salario EN (4000,5000,6000,9000);
SELECCIONE nombre, salario DEL empleado
DONDE el salario NO ESTÁ EN (4000,5000,6000,9000);
Palabra clave LIKE consulta difusa
Carácter comodín '%'
SELECT * FROM empleado5
WHERE nombre LIKE 'al%';
Carácter comodín ' '
SELECT * FROM empleado5
WHERE nombre LIKE 'al __';
3. Clasificación de consultas Ordenar
por una sola columna
SELECCIONAR * DE empleado5 ORDENAR POR salario;
SELECCIONAR nombre, salario empleado DE5 ORDENAR POR salario ASC; Ordenar una vez de menor a mayor
SELECCIONAR nombre, salario DE empleado5 ORDENAR POR salario DESC; Ordenar una vez de mayor a bajo
Ordenar por varias columnas
SELECCIONAR * DEL empleado5
ORDENAR POR fecha_contratación DESC,
salario ASC;
Almacenamiento del motor de almacenamiento de uso común MySQL
Para decirlo sin rodeos, el motor es la implementación de tecnologías como cómo almacenar datos, cómo indexar los datos almacenados y cómo actualizar y consultar datos. Debido a que los datos se almacenan en forma de tabla en una base de datos relacional, el motor de almacenamiento también se puede llamar tipo de tabla (es decir, el tipo de almacenamiento y operación de esta tabla). Solo hay un motor de almacenamiento en bases de datos como Oracle y SQL Server, y
todos El mecanismo de gestión del almacenamiento de datos es el mismo. La base de datos MySql proporciona una variedad de motores de almacenamiento.
Los usuarios pueden elegir diferentes motores de almacenamiento para tablas de datos según sus diferentes necesidades, y los usuarios también pueden escribir sus propios motores de almacenamiento según sus propias necesidades.
Motor de almacenamiento MyISAM
Dado que este motor de almacenamiento no admite transacciones ni claves externas, las velocidades de acceso son más rápidas. Por lo tanto, este motor de almacenamiento es adecuado para aplicaciones que no requieren integridad de transacciones y se basan principalmente en acceso.
Motor de almacenamiento InnoDB
Dado que este motor de almacenamiento tiene ventajas en las transacciones, es decir, admite funciones de transacción como capacidades de confirmación, reversión y recuperación de fallos, ocupa más espacio en disco que el motor de almacenamiento MyISAM.
Por lo tanto, cuando se requieren operaciones frecuentes de actualización y eliminación, se requieren altos requisitos de integridad de las transacciones y se debe implementar control de concurrencia, se recomienda elegirlo. Se pueden realizar copias de seguridad de tablas y bibliotecas.
MEMORIA
El motor de almacenamiento MEMORIA almacena datos en la memoria, por lo que la velocidad de acceso es la más rápida, pero la seguridad no está garantizada. Adecuado para tablas temporales o tablas temporales que requieren un acceso rápido. No se puede realizar una copia de seguridad y no se utiliza en la empresa.
AGUJERO NEGRO
El motor de almacenamiento del agujero negro se puede aplicar a la biblioteca maestra de distribución en la replicación primaria y secundaria.
精讲:
1.InnoDB
A partir de la versión 5.5 de mysql, innodb es el motor de almacenamiento predeterminado de mysql. InnoDB tiene las siguientes ventajas
: • Buena recuperación ante desastres
• Soporta transacciones El nivel de aislamiento de transacciones predeterminado es lectura repetible y su control de transacciones se logra a través del control de concurrencia de múltiples versiones.
• Utilice bloqueos a nivel de fila
• Para las tablas en el motor InnoDB, la forma de organización física de los datos es una tabla de clúster (tabla de clúster) y los datos están organizados por la clave primaria, es decir, el índice de clave primaria y los datos están juntos y los datos están en el orden de la clave primaria distribución física. Otra forma común de tabla de datos es una tabla no agrupada, donde los índices están ordenados y los datos no están ordenados.
• Se implementó la gestión de búfer, que no sólo almacena índices sino también datos y crea automáticamente índices hash para acelerar la adquisición de datos. Por el contrario, MyISAM sólo almacena en caché el índice.
• Soporta claves foráneas.
• Admite copia de seguridad en caliente
2.MyISAM引擎
• Puede usarse con cerraduras para realizar copias, copias de seguridad y migraciones bajo el sistema operativo.
• Utilice bloqueos a nivel de tabla, mala simultaneidad.
• Admite búsqueda de texto completo (MySQL InonoDB también admite búsqueda de texto completo después de 5.6).
• Después de que el host deja de funcionar, la tabla MyISAM se daña fácilmente y la recuperación ante desastres es deficiente.
• No hay soporte para transacciones.
• Sólo se almacenan en caché los índices, el almacenamiento en caché de datos se implementa mediante búferes del sistema operativo. Puede causar demasiadas llamadas al sistema y ser ineficiente.
• Los datos se almacenan de forma compacta, lo que da como resultado índices más pequeños y un rendimiento de escaneo completo de la tabla más rápido.
3.MEMORY引擎
• El motor de almacenamiento MEMORY proporciona tablas "en memoria" y no admite transacciones ni claves externas.
• El uso de tablas de memoria (motores de memoria) puede aumentar significativamente la velocidad de acceso a los datos y puede usarse para almacenar en caché los datos a los que se accede con frecuencia, resultados de cálculos, valores estadísticos y resultados intermedios que se pueden reconstruir. Sin embargo, también tiene las siguientes desventajas.
• Se utilizan bloqueos a nivel de tabla. Aunque el acceso a la memoria es rápido, los bloqueos a nivel de tabla pueden convertirse en un cuello de botella si se producen lecturas y escrituras frecuentes.
• Sólo se admiten filas de tamaño fijo. Los campos de tipo VARCHAR se almacenarán como tipos CHAR de longitud fija, lo que desperdicia espacio.
• Los campos TEXTO y BLOB no son compatibles. Cuando algunas consultas requieren el uso de tablas temporales (que también usan el motor de almacenamiento MEMORIA), si hay campos TEXTO y BLOB en la tabla, se convertirán en tablas MyISAM basadas en disco, lo que reducirá seriamente el rendimiento.
• Debido al alto costo de los recursos de memoria, generalmente no se recomienda configurar una tabla de memoria demasiado grande. Si la tabla de memoria está llena, se encontrarán errores como "Thetable'table_name'is full" en el registro de errores de MySQL. Puede borrar los datos o ajustar los parámetros de la tabla de memoria para evitar errores.
• Los datos se perderán cuando se reinicie el servidor.
4.ARCHIVE引擎
• El motor de almacenamiento ARCHIVE es un motor de almacenamiento diseñado para almacenar grandes cantidades de datos en ejecución en empresas. El motor ARCHIVE utiliza la compresión de datos sin pérdidas zlib para que los datos se almacenen en tablas de archivo comprimidas. Cuando se insertan datos, se comprimen.
• Sólo admite INSERT y SELECT, admite claves de incremento automático e índices en ellos, y no admite otros índices. Es adecuado para el registro y el análisis del comportamiento del usuario, y no requiere ACTUALIZAR, ELIMINAR ni datos indexados.
Autorización:
远程连接MySQL
Ejemplo:
mysql -h192.168.5.240 -P 3306 -u root -p123 mysql -e 'select user,host from user'
-h especifica el nombre del host [el valor predeterminado es localhost]
-P Puerto del servidor MySQL [el valor predeterminado es 3306]
-u especifica el nombre de usuario [raíz predeterminada]
-p especifica la contraseña de inicio de sesión [la contraseña predeterminada es vacía]
aquí mysql es la base de datos de inicio de sesión especificada
-e se conecta a la declaración SQL
formato de sintaxis de concesión:
otorgar lista de permisos en el nombre de la biblioteca.nombre de la tabla a 'nombre de usuario'@'host del cliente' [identificado por 'contraseña' con parámetro de opción];
== Lista de permisos todos todos los permisos (excluidos los permisos de autorización)
seleccionar, actualizar
==Base de datos.Nombre de la tabla.Todas las tablas en todas las bibliotecasNivel global
web.* Todas las tablas en la biblioteca webNivel de base de datos
web.stu_info tabla stu_info en la biblioteca webNivel de tabla
SELECT (col1), INSERT (col1,col2) ON mydb .mytbl Nivel de columna
==Host del cliente% Todos los hosts
192.168.2.% Todos los hosts en el segmento de red 192.168.2.0
192.168.2.168 Host especificado
localhost Host especificado
==with_option parámetro
GRANT OPTION: Opción de autorización
MAX_QUERIES_PER_HOUR: Define el número de consultas que se permiten ejecutar por hora
MAX_UPDATES_PER_HOUR: Define el número de actualizaciones que se permiten ejecutar por hora MAX_CONNECTIONS_PER_HOUR: Define el
número de conexiones que se pueden establecer por hora MAX_USER_CONNECTIONS
: Definir el número de conexiones que un solo usuario puede establecer al mismo tiempo
Ver permisos autorizados
MOSTRAR SUBVENCIONES\G
MOSTRAR SUBVENCIONES PARA admin1@'%'\G
REVOCAR
la sintaxis para reciclar permisos:
REVOCAR la lista de permisos EN el nombre de la base de datos DESDE el nombre de usuario@'host del cliente'
Ejemplo:
REVOCAR ELIMINACIÓN EN . FROM admin1@'%'; //Recicla algunos permisos
REVOCA TODOS LOS PRIVILEGIOS EN . FROM admin2@'%'; //Recicla todos los permisos
REVOCA TODOS LOS PRIVILEGIOS, CONCEDER OPCIÓN EN . FROM 'admin2'@'% ';