Enseñarle cómo compilar e instalar la base de datos MySQL y explicar los comandos (versión 5.7)

Uno, el paquete de dependencia del entorno necesario para instalar MySQL

[root@localhost opt]# yum -y install \
gcc \
gcc-c++ \
make \
ncurses \
ncurses-devel \
bison \
cmake

Descripción del paquete dependiente del entorno

gcc Compilador de lenguaje C
gcc-c ++ Compilador C ++
hacer Compilación de código fuente (el código fuente se convierte en archivos binarios)

2. Crea una cuenta corriente

[root@localhost ~]# useradd -s /sbin/nologin  mysql

Tres, compila e instala

[root@localhost ~]# cd /opt
[root@localhost opt]# tar xzvf mysql-boost-5.7.20.tar.gz
[root@localhost opt]#cd /opt/mysql-5.7.20/
[root@localhost mysql-5.7.20]#
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1

[root@localhost mysql-5.7.20]#make -j3
[root@localhost mysql-5.7.20]#make install

Significado de las opciones de configuración

  • DCMAKE_INSTALL_PREFIX: Especifica la instalación del programa de base de datos mysql en un directorio determinado, como el directorio / usr / local / mysql.

  • DMYSQL_UNIX_ADDR: especifique la ruta de almacenamiento del archivo de socket, el archivo conectado a la base de datos

  • DSYSCONFDIR: especifique el directorio del archivo de parámetros de inicialización

  • DDEFAULT_CHARSET: especifique la codificación del juego de caracteres que se usa de forma predeterminada, como utf8.

  • DDEFAULT_COLLATION: especifique las reglas de clasificación para el juego de caracteres predeterminado, utf8_general_ci es una regla general para el juego de caracteres UTF-8.

  • DWITH_INNOBASE_STORAGE_ENGINE = 1: Instale el motor de almacenamiento INNOBASE

  • DWITH_ARCHIVE_STORAGE_ENGINE = 1: Instale el motor de almacenamiento ARCHIVE

  • DWITH_BLACKHOLE_STORAGE_ENGINE = 1: Instale el motor de almacenamiento ARCHIVE

  • DWITH_PERFSCHEMA_STORAGE_ENGINE: instalar motor de almacenamiento FEDERATED

  • DMYSQL_DATADIR = / data / mysql: ruta de instalación de datos

Para especificar explícitamente no compilar un motor de almacenamiento, puede utilizar una opción similar a la siguiente:
-DWITHOUT__STORAGE_ENGINE = 1

Si desea compilar en otras funciones, como SSL, puede usar opciones como las siguientes para usar una biblioteca o no usar una biblioteca al compilar:
-DWITH_READLINE = 1
-DWITH_SSL = sistema significa usar la biblioteca SSL incorporada en el sistema
-DWITH_ZLIB = sistema
-DWITH_LIBWRAP = 0

Otras opciones de uso común:
-DMYSQL_TCP_PORT = 3306: Establecer el puerto predeterminado
-DMYSQL_UNIX_ADDR = / tmp / mysql.sock: La ubicación del socket para la comunicación entre procesos de MySQL
-DENABLED_LOCAL_INFILE = 1: Ya sea para iniciar el LOCAL_INFILE local
-DEXTRA_ all: Soporte Qué juegos de caracteres adicionales -
DDEFAULT_CHARSET = utf8: el juego de caracteres predeterminado -
DDEFAULT_COLLATION = utf8_general_ci: la colación del juego de caracteres predeterminado -
DWITH_DEBUG = 0: si habilitar la función DEBUG -
DENABLE_PROFILING = 1: si habilitar la función de análisis de rendimiento

Nota :

  • Si hay un error en el proceso
    de CMAKE, después de que se resuelva el error, debe eliminar el archivo CMakeCache.txt en el directorio de origen y luego volver a CMAKE; de lo contrario, el error permanece.
  • 报错 : make: *** No se han especificado objetivos y no se ha encontrado ningún archivo MAKE. Deténgase. 解决 方法
    1 、 wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.6.tar.gz
    2. 、 tar zxvf ncurses-5.6.tar.gz
    3 、 ./configure -prefix = / usr / local -with-shared-without-debug
    4 、 make
    5 、 make install

Cuatro, modificación de los permisos del directorio de la base de datos

chown -R mysql:mysql /usr/local/mysql/

Cinco, modificar el archivo de configuración

vi /etc/my.cnf

[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

[root@localhost ~]# chown mysql:mysql /etc/my.cnf

Seis, establecer variables de entorno

echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
echo 'export PATH' >> /etc/profile
source /etc/profile

Siete, inicializa la base de datos

cd /usr/local/mysql/

bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
systemctl enable mysqld
systemctl start mysqld
systemctl status mysqld
netstat -anpt | grep 3306

8. Establezca la contraseña de inicio de sesión e inicie sesión en la base de datos.

mysqladmin -u root -p password "abc123" ##刚开始没密码是空的直接回车,然后输入密码abc123,在此确认abc123,这是在root账户下运行的
mysql -u root -p     ##这个命令敲下,提示要输入密码,这个就是刚才设置的密码abc123,可登录数据库

Supongo que te gusta

Origin blog.csdn.net/qq_41786285/article/details/109314823
Recomendado
Clasificación