NO.A.0002-mysql / mariadb5.5.65-yum instalación / configuración

1. Descripción general:
Sitio web oficial : Sitio web oficial de MySQL: https://www.mysql.com/
Sitio web oficial de mariadb: https://mariadb.com/
Documento oficial: MySQL: https://dev.mysql.com/doc/
Mariadb: https://mariadb.com/kb/en
Evolución de la versión: MySQL: 5.1 (centos6.x) ——> 5.5 ——> 5.6 ——> 5.7
MariaDB: 5.5 (centos7.x) ——> 10.0—— > 10.1 ——> 10.2 ——> 10.3
Versión de MySQL: versión
comunitaria de MySQL Community Server, de código abierto y gratuito, pero no admite soporte técnico oficial.
MySQL Enterprise Edition es una versión empresarial que se puede utilizar durante 30 días por una tarifa.
La versión del clúster de MySQL Cluster, de código abierto y gratuito, puede encapsular varios servidores MySQL en un servidor.
MySQL Cluster CGE Advanced Cluster Edition requiere pago.
2. Cómo instalar mariadb:
código fuente: compila e instala
el paquete en formato binario, expande a una ruta específica, y luego de una configuración simple, puedes usar el
paquete administrado por el administrador de paquetes;
instala mariadb bajo el tutorial oficial de centos: https: / /downloads.mariadb.org/mariadb/repositories/

2. Tutorial de instalación de mysql / mariadb.server:

1、centos6.5下安装mysql-server
//1、查询mysql-server并安装mysql软件
[root@localhost ~]# yum  info mysql-server      //查询mysql-server安装包
Name        : mysql-server
Arch        : x86_64
Version     : 5.1.73
Release     : 8.el6_8
Size        : 8.6 M

//2、安装mysql-server程序
[root@localhost ~]# yum install -y mysql-server         
//安装centos6.x里面自带mysql-server版本,若需要新版本,可以去配置yum源,下文有配置教程
Installed:
  mysql-server.x86_64 0:5.1.73-8.el6_8                                    
Dependency Installed:
  mysql.x86_64 0:5.1.73-8.el6_8         perl-DBD-MySQL.x86_64 0:4.013-3.el6 

//3、查看mysql-server安装是否成功
[root@localhost ~]# rpm -ql mysql-server
  /etc/rc.d/init.d/mysqld                //启动文件
  /usr/libexec/mysqld                    //数据库的主程序、二进制程序
  /var/lib/mysql                         //将来存放用户数据的数据目录
  /var/log/mysqld.log                    //日志文件包
  /var/run/mysqld

//4、设置程序密码安全
[root@localhost ~]# mysql_secure_installation 

//5、设置开机自启动
[root@localhost ~]# chkconfig --list mysqld
mysqld             0:off    1:off    2:off    3:off    4:off    5:off    6:off
[root@localhost ~]# chkconfig mysqld on
[root@localhost ~]# chkconfig --list mysqld
mysqld             0:off    1:off    2:on    
3:on    4:on    5:on    6:off

//6、启动mysqld程序
[root@localhost ~]# service mysqld start
[root@localhost ~]# ss -tnl            //查看它的端口号
LISTEN     0      50          *:3306 

//7、查看mysql配置文件
[root@localhost ~]# ll /var/lib/mysql/              //第一次启动的时候会生成数据库文件。 
total 20488
-rw-rw---- 1 mysql mysql 10485760 Nov  5 18:04 ibdata1
-rw-rw---- 1 mysql mysql  5242880 Nov  5 18:04 ib_logfile0
-rw-rw---- 1 mysql mysql  5242880 Nov  5 18:04 ib_logfile1
drwx------ 2 mysql mysql     4096 Nov  5 18:04 mysql
srwxrwxrwx 1 mysql mysql        0 Nov  5 18:04 mysql.sock            
//mysql.sock主要用于本地通讯
drwx------ 2 mysql mysql     4096 Nov  5 18:04 test
[root@localhost ~]# date                 //通过时间可以看出来
Thu Nov  5 18:07:13 CST 2020     

//8、利用mysql客户端工具去链接mysql数据库
[root@localhost ~]# which mysql            
/usr/bin/mysql   
[root@localhost ~]# rpm -qf /usr/bin/mysql            //属于哪个包
mysql-5.1.73-8.el6_8.x86_64

//9、mysql客户端下常用操作:
[root@localhost ~]# mysql           //默认是无密码登录,未设置密码默认无密码。
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.    
//输入“help;”或“\h”请求帮助。键入'\c'以清除当前输入语句。

mysql> show databases;                  //查询当前系统中所有数据库列表  
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.00 sec) 

mysql> system hostname                  //mysql下可以执行linux命令
localhost.localdomain

mysql> status                          //查看系统的状态信息
Current database:                      //当前不在任何数据库里  
Current user:        root@localhost    
//当前与数据库连接时的用户名  ,是MySQL账户自身的用户;我是在本机用root登录到数据库中

mysql> use mysql                       //切换到mysql数据库
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

mysql> status
Current database:    mysql            //当前在mysql数据库中
Current user:        root@localhost   

mysql> \s                            //    \s也可以表示为status,是status的简写
mysql>quit                           //退出mysql客户端

2. Instale el servicio mariadb-server en centos7.x:

//1、安装部署mariadb-server
[root@localhost ~]# yum install mariadb-server -y
 Installing:
 mariadb-server                       x86_64        1:5.5.65-1.el7      //服务器端包
Installing for dependencies:    
 mariadb                              x86_64         1:5.5.65-1.el7     //客户端包

//2、查看mysql安装路径,及部署的版本
[root@localhost bin]# which mysql
/usr/bin/mysql
[root@localhost bin]# rpm -qf /usr/bin/mysql
mariadb-5.5.65-1.el7.x86_64

//3、登录mysql客户端
[root@localhost ~]# mysql       //服务没有启动;mysql.sock文件不会生成
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '
/var/lib/mysql/mysql.sock'
[root@localhost ~]# rpm -ql mariadb-server   //查看mariadb包含的包列表
/usr/lib/systemd/system/mariadb.service   //服务名,意外的我们后期操作时使用mariadb.service
/var/lib/mysql
/var/log/mariadb
/var/log/mariadb/mariadb.log
/var/run/mariadb

//4、启动mariad.service
[root@localhost ~]# systemctl start mariadb.service
[root@localhost ~]# ss -tunlp  |grep mysqld
tcp    LISTEN     0      50    *:3306  *:*   users:(("mysqld",pid=115344,fd=14))

root@localhost ~]# pstree -p                    //mysql工作原理是基于单进程多线程
[root@localhost ~]# ll /var/lib/mysql/          //存放的就是数据库的列表
total 28700
drwx------ 2 mysql mysql     4096 Nov  5 21:56 mysql
srwxrwxrwx 1 mysql mysql        0 Nov  5 21:56 mysql.sock
drwx------ 2 mysql mysql     4096 Nov  5 21:56 performance_schema  //在内存里虚拟的数据库
drwx------ 2 mysql mysql        6 Nov  5 21:56 test         

//5、mysql数据库一般操作;
MariaDB [(none)]> show databases;               //查看支持的数据库列表
+--------------------+
| Database           |
+--------------------+|
| mysql              |

//利用复制的方法克隆一个数据库
[root@localhost ~]# cd /var/lib/mysql/          //进入到mysql数据库列表文件夹
[root@localhost mysql]# cp -a mysql mysqlclone  //克隆一个mysql数据库mysqlclone   
MariaDB [(none)]> show databases;               //此时可以看到mysqlclone数据库
+--------------------+
| Database           |
+--------------------+|
| mysql              |
| mysqlclone

注:克隆技术
//此方法也可以用作数据库备份的时候方案,一种备份手段
//但要确保数据库的一致性,数据完整性,确保同一时间点的一个文件

3. Operaciones comunes de la base de datos mysql:

MariaDB [(none)]> use mysqlclone                    //use把当前访问的数据库切换到目标数据库
Database changed
MariaDB [mysqlclone]> 
MariaDB [mysqlclone]> show tables;                  //查看这个数据库中有哪些表
MariaDB [mysqlclone]> select * from user;           //查询user这个表里的内容;
MariaDB [mysqlclone]> select * from user\G          //加\G表示横着往下写
MariaDB [mysqlclone]> drop database mysqlclone;     //删掉数据库mysqlclone  
Query OK, 24 rows affected (0.07 sec)
MariaDB [mysqlclone]> drop tables mysqlclone;      //删掉数据库里的表
MariaDB [(none)]> system id
uid=0(root) gid=0(root) groups=0(root)
MariaDB [(none)]> select user();                    //查看当前登录的用户
MariaDB [mysql]> select user,password,host from user;       //查看服务器中创建的用户信息
+------+----------+-----------------------+
| user | password | host                  |
+------+----------+-----------------------+
| root |          | localhost             |         //密码是空的
| root |          | localhost.localdomain |
| root |          | 127.0.0.1             |
| root |          | ::1                   |
|      |          | localhost             |
|      |          | localhost.localdomain |
+------+----------+-----------------------+
6 rows in set (0.00 sec)

4. Establezca la seguridad de la contraseña de la base de datos mysql:

//1、执行系统自带的安全脚本
[root@localhost ~]# which mysql_secure_installation 
/usr/bin/mysql_secure_installation

[root@localhost ~]# mysql_secure_installation
Enter current password for root (enter for none):  //输入当前root账号的口令,没有口令直接回车
Set root password? [Y/n] y                              //是否设置root账号的密码
New password:                                           //新密码  
Re-enter new password:                                  //再次输入密码
Remove anonymous users? [Y/n] y                         //是否删除匿名账号
Disallow root login remotely? [Y/n] n                   //是否精致root账号远程登录
Remove test database and access to it? [Y/n] y          //是否删除测试数据库
Reload privilege tables now? [Y/n]                      //加载特权表为的就是让你刚才的设置生效

[root@localhost ~]# mysql -uroot -p123456               //登录mysql数据库
MariaDB [(none)]> use mysql
MariaDB [mysql]> select user,host,password from user;   //mysql数据库中查看用户的信息表
+------+-----------------------+-------------------------------------------+
| user | host                  | password                                  |
+------+-----------------------+-------------------------------------------+
| root | localhost             | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | localhost.localdomain | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | 127.0.0.1             | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | ::1                   | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+------+-----------------------+-------------------------------------------+
4 rows in set (0.00 sec)
注:
//mysql下用户名是有两部分组成;user=username@host  “ root | localhost ” 这是一个账号;
//  host表示你从那台电脑上登录;
//  127.0.0.1    默认情况下登录mysql主机的ip地址,默认情况下不允许远程登录。
//  上面的4个账号都是我们本机的,远程主机是连不上来的。
//  远程主机想连到这台服务器的mysql数据库,
[root@localhost ~]# mysql -uroot -p123456 -h 192.168.1.58   
 //此时还是连不了,需要在mysql服务器上授权

5. Operaciones comunes del programa cliente mariadb: programa
cliente:
mysql: herramienta CLI interactiva
mysqldump: herramienta de respaldo, basada en el protocolo MySQL para iniciar una solicitud de consulta a MySQLd, y convertir todos los datos encontrados en declaraciones de operación de escritura como insertar para guardar texto Archivo.
mysqladmin: administrar mysqld basado en el protocolo mysql
mysqlimport: herramienta de importación de datos
myIsam herramienta de administración del motor de almacenamiento:
myisamchk: verificar la biblioteca myisam
myisampack: paquete tabla myisam,
programa del lado del servidor de solo lectura :
mysqld_safe
mysqld
mysqld_multi: múltiples instancias, ejemplo: mysqld_multi --example

//常用操作:
[root@localhost ~]# ps -aux      //可以查看到上面两个服务端程序
mysql    115182  /bin/sh /usr/bin/mysqld_safe --basedir=/usr
mysql    115344   /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql

[root@localhost ~]# getent passwd mysql     //查看mysql的信息
mysql:x:27:27:MariaDB Server:/var/lib/mysql:/sbin/nologin     // /var/lib/mysql它的家目录;

[root@localhost ~]# rpm -q --scripts  mariadb-server  //查看它安装程序的时候以什么方式
[root@localhost ~]# which mysqld_multi      //查看该程序
/usr/bin/mysqld_multi

[root@localhost ~]# rpm -qf /usr/bin/mysqld_multi  //此程序实现多实例,
mariadb-server-5.5.65-1.el7.x86_64

5.1.Cuenta de usuario: br /> La cuenta de usuario de mysql se compone de dos partes: 'NOMBRE DE USUARIO' @ HOST '; descripción: HOST limita los hosts remotos que este usuario puede conectar al servidor MySQL a través del cual
se admiten comodines:% coincide con cualquier carácter de cualquier longitud 172.16. 0.0 / 255.255.0.0 o 172.16.%.%; Coincide con cualquier carácter
5.2, modo de uso del cliente MySQL: modo
interactivo: hay dos tipos de comandos que se pueden ejecutar:
comandos del cliente: \ h: help \ u: use \ s: status!: system // Los comandos del cliente MySQL en sí son comandos que se pueden consultar en la base de datos \ ho \ help, todos son comandos del cliente y no es necesario agregar un punto y coma.
Comando del lado del servidor: SQL, se requiere el terminador de la declaración; // El comando del lado del servidor debe agregar un punto y coma.
Modo de secuencia de comandos:
mysql -uUSERNAME -PASSWORD </path/somefile.sql
mysql> source /path/from/somefile.sql

//创建数据库:
MariaDB [(none)]> create database testdb;
MariaDB [(none)]> show databases;
| testdb             |
MariaDB [(none)]> \! ls /var/lib/mysql      //在MySQL数据库之下执行linux命令
     testdb
MariaDB [(none)]> \! ls /var/lib/mysql/testdb
db.opt

//方法一:交互式的方法
[root@localhost ~]# cat > test.sql          //准备配置文件
create database testdb2;
show databases;
^C
[root@localhost ~]# cat test.sql 
create database testdb2;
show databases;

//方法二:以重定向的方式
[root@localhost ~]# mysql -uroot -p123456 <test.sql  
 //以重定向的方式去执行命令,相当于执行一个脚本;
Database
information_schema
mysql
performance_schema
testdb
testdb2

//方案三:以source命令去创建
MariaDB [(none)]> source test.sql
+--------------------+
| Database           |
+--------------------+
| testdb             |
| testdb2            |
| testdb3            |
+--------------------+
6 rows in set (0.00 sec)

5.3, cambio de indicador del servidor Mariadb

//mariadb服务器提示符更改:
//方案一:
MariaDB [(none)]> prompt \u@[\D] \r:\m:\s->  //更改当前的用户提示信息;一次性的,重新登入会丢失
PROMPT set to '\u@[\D] \r:\m:\s->'
root@[Fri Nov  6 21:40:24 2020] 09:40:24->

//若想长期保存,需要保存到配置文件中。
//方案二:
[root@localhost ~]# ls /etc/my.cnf.d/
client.cnf              //针对全局的配置
mysql-clients.cnf       //针对MySQL这个数据库配置
server.cnf              //针对服务器的配置
[root@localhost ~]# vim /etc/my.cnf.d/mysql-clients.cnf 
prompt=(\\u@\\h) [\\d]>\\
(root@localhost) [(none)]>          //登录数据库查看状态

//方案三:
[root@localhost ~]# vim /etc/profile.d/mysql.sh
export MYSQL_PS1="(\u@\h) [\d]> " 
[root@localhost ~]# . /etc/profile.d/mysql.sh
(root@localhost) [(none)]>  

5.4. Opciones de uso común del cliente MySQL:

MySQL客户端可用选项:
    -A      --no-auto-rehash                禁止补全
    -u      --user=                         用户名,默认是root
    -h      -- host=                        服务器主机,默认为localhost
    -p      --password=                     用户密码,建议使用-p默认为空密码
    -P      --port=                         服务器端口,
    -S      --sockt=                        指定连接socket文件路径
    -D      --database=                     指定默认数据库
    -C      --compress=                     启用压缩
    -e      --“SQL”=                        执行SQL命令
    -V      -- version=                     显示版本信息
    -v      --verbose=                      显示详细信息
    --prin-defaults                         获取程序默认使用的配置

(root@localhost) [(none)]> \s                //可以查看到当前数据库sock文件的地址
UNIX socket:        /var/lib/mysql/mysql.sock
[root@localhost ~]# mysql -uroot -p123456 -D testdb //登录时可以直接指定到testdb数据库中-D选项
(root@localhost) [testdb]> 
[root@localhost ~]# mysql -uroot -p123456 -e "show databases;" //在登录的时候执行命令  -e选项
+--------------------+
| testdb2            |
| testdb3            |
+--------------------+
 [root@localhost ~]# mysql -uroot -p123456 -V                   //查看版本信息
mysql  Ver 15.1 Distrib 5.5.65-MariaDB, for Linux (x86_64) using readline 5.1

6. información del archivo mysql.sock:
dirección de socket:
dos direcciones de socket monitoreadas por el servidor:
socket ip: monitor en el puerto 3306 de tcp, soporte de comunicación remota
unix sock: monitor en archivo sock, solo soporte de comunicación local como: / var /lib/mysql/mysql.sock; Descripción: el host es localhost, Unix sock se usa automáticamente cuando el host es 127.0.0.1 para
ejecutar el comando:
Ejecutar el comando MySQL: contraseña vacía predeterminada iniciar sesión
mysql> usar mysql
mysql> seleccionar usar (); Ver usuario actual
mysql> SELECCIONE Usuario, Host, Contraseña DEL usuario;
sistema de inicio de sesión: mysql -uroot -p
comando del cliente: ejecutar localmente
mysql> ayuda
cada comando tiene una forma completa y abreviada
mysql> estado o \
comando del lado del servidor: enviado a través del protocolo mysql El servidor ejecuta y recupera el resultado.Cada
comando debe terminar con un símbolo, el valor predeterminado es un punto y coma
SELECCT VERSION ();

[root@localhost ~]# cat /etc/my.cnf
[mysqld]                //主要存放着我们服务器端的配置
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock    
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid       //进程配置地址

[root@localhost ~]# cat /var/run/mariadb/mariadb.pid
10682                                       //只要进程起来,就会生成一个进程文件

7. Configuración del lado del
servidor : Del lado del servidor (mysqld): Hay varios métodos de configuración para las funciones de trabajo;
1. Opciones de la línea de comandos:
2. Archivo de configuración, formato tipo ini
3. Configuración centralizada, que puede proporcionar la configuración para cada aplicación mysql Información
[mysqld] // Configuración del lado del servidor
[mysqld_safe] // Configuración del lado del servidor
[mysqld_multi] // Configuración multiproceso, multiproceso
[mysql] // MySQL, configuración de la base de datos; lado del cliente
[mysqldump] // Configuración de respaldo
[servidor] // Configuración del servidor
[cliente] //
Formato de configuración del cliente : parámetro = valor
Descripción: _ es lo mismo que-
0, OFF, TRUE tienen el mismo significado, 1, ON, FALSE tienen el mismo significado.
7.1. Archivo de configuración: el reverso cubrirá el archivo de configuración anterior, el orden es el siguiente: (sobrescribir de atrás hacia delante)

[root@localhost ~]# /etc/my.cnf       //Global选项;表示所有实例 ;我们一般写在此位置 
                            或者/etc/my.cnf.d下也可以,因为/etc/my.cnf包含/etc/my.cnf.d文件
/etc/mysql/my.cnf                    //Global全局选项        全局性的设置
SYSCONFDIR/my.cnf                   //Global选项
$MYSQL_HOME/my.cnf                  //Server-specific 选项        特定服务器的设定
--defaults-extra-file=path   
~/my.cnf                            // User-specific选项        特定用户下设定的

//获取可用参数列表:
        mysqld --help -verbose
        mysqld --print-defaults    获取默认设置

8. Configuración de Mariadb: escuchando el puerto 3306 / tcp se puede vincular a una o todas las IP de la interfaz,
vim /etc/my.cnf
[mysqld]
skip-networking = 1 cierre la conexión de red (la conexión remota no es posible, solo local Connection), solo escucha al cliente local, todas las interacciones con el servidor se realizan a través de un socket, la configuración del socket se almacena en /var/lib/mysql/mysql.sock) y se puede modificar en /etc/my.cnf.

[root@localhost ~]# vim /etc/my.cnf
skip-networking=1                           //在这个语句块里加上skip-networking=1重启服务
[root@localhost ~]# ss -antl                //查看此时找不到tcp的3306端口
[root@localhost ~]# mysql -uroot -p123456   //还是可以连上数据库,因为此时它不走tcp的3306端口;
                                                它走的是本地的sock文件,

En tercer lugar, en diferentes sistemas operativos, la configuración especificó el procedimiento de la versión mysql / mariadb:
El tutorial del sitio web oficial eliminó la dirección de origen del sitio web oficial de yum:
1, Paquete de descarga:
https://downloads.mariadb.org/mariadb/10.2.35/ selection La versión que desea instalar;
Inserte la descripción de la imagen aquí

Proporcione oficialmente tres archivos de formato:
código fuente-código
Binaries-binary
Packages-paquete rpm (para centos, Redhat, serie Ubuntu)

2. Herramienta de configuración de repositorio. (Herramienta de repositorio): le
indica directamente el tutorial de configuración; dirección del almacén de YUM:
https://downloads.mariadb.org/mariadb/repositories/#distro=CentOS&distro_release=centos7-amd64--centos7&mirror=ustc- hefei & version = 10.2

Inserte la descripción de la imagen aquí

3. Configuración de instalación: configure directamente una versión específica de yum source e instale esta versión directamente

[root@localhost ~]# vim /etc/yum.repos.d/base.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
[root@localhost ~]# yum repolist            //查看yum源中是否有软件包   
[root@localhost ~]# yum install -y mariadb-server  //我们默认是linux系统源里面有mariadb,
                                            现在又配置一个mariadb源,系统默认会装最新版本的。
10.2.35-1.el7.centos            mariadb

Supongo que te gusta

Origin blog.51cto.com/15005403/2552272
Recomendado
Clasificación