C贸mo instalar y configurar MySQL Server en Windows

    Introducci贸n

    MySQL Es el sistema de gesti贸n de bases de datos de relaciones (RDBMS) m谩s utilizado en el mundo, y proporciona datos para aproximadamente un tercio de las aplicaciones actuales.

    MySQL utiliza un lenguaje de datos SQL estandarizado y funciona en muchos sistemas operativos con controladores que permiten a los desarrolladores conectarse a todos los lenguajes de programaci贸n populares.

    Es un sistema de administraci贸n de bases de datos confiable, de c贸digo abierto y confiable que utiliza WordPress, Facebook, Twitter y YouTube, creado en 1995 y luego comprado por Sun Microsystems en 2008. Luego fue adquirido por Oracle Microsystems en 2010, dejando a MySQL propiedad .

    En este art铆culo, descargaremos e instalaremos MySQL en Windows y validaremos c贸mo funciona creando una base de datos simple con algunas tablas.

    C贸mo configurar MySQL

    Windows (especialmente Windows 10) requiere un poco de trabajo. Para descargar la 煤ltima versi贸n de MySQL, debe ir a la p谩gina web oficial y descarga la versi贸n comunitaria. El instalador es bastante simple, pero puede tener algunos problemas.

    Si no tiene problemas, elija una contrase帽a y espere a que el procedimiento de instalaci贸n siga todos los pasos.

    Ahora, dependiendo del idioma con el que desee utilizar MySQL, deber谩 instalar un conector que es esencialmente un controlador espec铆fico para cada idioma. Por ejemplo, Conector / J. El controlador oficial es Java Database Connectivity (JDBC), sin embargo Conector / Python El conector oficial es Python.

    Todos los conectores se pueden encontrar en el Descargas de MySQL p谩gina.

    Usaremos un root usuario con la contrase帽a simplepassword. Mucha gente decide dejar la contrase帽a en blanco para simplificar las cosas en su entorno de desarrollo.

    Ahora que MySQL (con suerte) est谩 instalado en Windows, debe navegar a la instalaci贸n bin una carpeta que parece algo C:Program filesMySQLMySQL Server 8.0bin en la l铆nea de comando:

    > cd C:Program filesMySQLMySQL Server 8.0bin
    

    O agregue la carpeta bin a una variable de entorno de ruta yendo a Propiedades del sistema -> Variables ambientales -> Agregar una ruta y una ruta a su bin carpeta:

    Establecimiento de la base de datos

    Crearemos una base de datos de muestra llamada studies para ayudar a los estudiantes a realizar un seguimiento de su Licenciatura en Ciencias de la Computaci贸n. Primero creemos dos tablas:

    • exams – realiza un seguimiento de todos los ex谩menes tomados / reprobados por el estudiante.
    • courses – contiene todos los cursos que el estudiante debe tomar para completar sus estudios de licenciatura.

    Nota: Las declaraciones de MySQL terminan con un punto y coma (;)

    Si agreg贸 MySQLs bin carpeta como una variable de entorno, puede usarla a trav茅s del terminal simplemente llame mysql. Por supuesto, necesitamos proporcionar credenciales junto con el comando inicial:

    > mysql -u root -p simplepassword
    

    El es -u Una bandera indica el nombre de usuario y el -p Una bandera indica la contrase帽a.

    Iniciar sesi贸n en MySQL Monitor le pedir谩 que:

    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 2
    Server version: 8.0.0-log MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2019, 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>
    

    Ahora, hagamos el help ordene y vea lo que podemos hacer:

    List of all MySQL commands:
    Note that all text commands must be first on line and end with ';'
    ?         (?) Synonym for `help'.
    clear     (c) Clear the current input statement.
    connect   (r) Reconnect to the server. Optional arguments are db and host.
    delimiter (d) Set statement delimiter.
    ego       (G) Send command to mysql server, display result vertically.
    exit      (q) Exit mysql. Same as quit.
    go        (g) Send command to mysql server.
    help      (h) Display this help.
    notee     (t) Don't write into outfile.
    print     (p) Print current command.
    prompt    (R) Change your mysql prompt.
    quit      (q) Quit mysql.
    rehash    (#) Rebuild completion hash.
    source    (.) Execute an SQL script file. Takes a file name as an argument.
    status    (s) Get status information from the server.
    tee       (T) Set outfile [to_outfile]. Append everything into given outfile.
    use       (u) Use another database. Takes database name as argument.
    charset   (C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
    warnings  (W) Show warnings after every statement.
    nowarning (w) Don't show warnings after every statement.
    resetconnection(x) Clean session context.
    
    For server side help, type 'help contents'
    
    mysql>
    

    Lo que realmente nos interesa son los comandos que podemos usar para manipular datos. Entonces podemos navegar a help <item> sitio <item> pueden ser: Gesti贸n de cuentas, Composition Statements, Manipulaci贸n de datos, Funciones, Plugins, etc … Nos interesa la Manipulaci贸n de datos, ya que queremos crear una tabla:

    mysql> help Data Manipulation
    You asked for help about help category: "Data Manipulation"
    For more information, type 'help <item>', where <item> is one of the following
    topics:
       CALL
       DELETE
       DO
       DUAL
       HANDLER
       INSERT
    ...
    

    Puede leer m谩s sobre estos llamando help <item> de nuevo, pero generalmente son bastante f谩ciles.

    Vamos create base de datos llamada studies:

    mysql> create database studies;
    

    Est谩 probado, pero no estamos “en la base de datos” por defecto. Observamos todas las bases de datos que hemos creado actualmente en el servidor:

    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | studies            |
    +--------------------+
    1 rows in set (0.00 sec)
    

    Ahora, sigamos adelante y use la base de datos:

    mysql> use studies;
    

    Deber铆a ver “Base de datos cambiada” impresa despu茅s de ese comando si todo sali贸 bien.

    Echemos un vistazo a c贸mo nuestro courses la tabla aparecer谩:

    CourseIDNombreSemestreAEC
    clave primaria, intvarcharEn tEn t

    Nota: MySQL admite el salto de l铆nea en la l铆nea de comando y permanece con una l铆nea que termina con ; para finalizar la declaraci贸n, de modo que pueda escribir lo siguiente l铆nea por l铆nea, reemplaz谩ndolos todos a la vez.

    CREATE TABLE courses (
        CourseID INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
        Name VARCHAR(50) NOT NULL,
        Semester INT NOT NULL,
        ESPB INT NOT NULL
    );
    

    Esto crea una tabla, llamada courses con varias capas CourseID, Name, SemesteryESPB. Cada uno tiene sus respectivos tipos de datos como INT y VARCHAR. Hay todos ellos NOT NULL, lo que significa que si intentamos ingresar un NULL valor, reparto de excepciones.

    El es CourseID la columna est谩 configurada para ser PRIMARY KEY, lo que significa que se utilizar谩 como clave de identificaci贸n para los cursos. AUTO_INCREMENT eso significa que cada vez que agregamos un nuevo curso a la tabla, el CourseID 1 se incrementar谩 autom谩ticamente para evitar ID duplicados.

    Ahora, hagamos lo mismo con el exams mesa:

    CARN脡 DE IDENTIDADCourseIDA帽o de construcci贸nPer铆odoGradoPuntosFinal
    clave primaria, intclave externa, intEn tvarcharEn tflotadorbooleano
    CREATE TABLE exams (
        ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
        CourseID INT NOT NULL REFERENCES courses(CourseID),
        YearTaken INT DEFAULT NULL,
        Period VARCHAR(20) DEFAULT NULL,
        Grade INT NOT NULL,
        Points FLOAT NOT NULL,
        Final BOOLEAN NOT NULL
    );
    

    Aqu铆 estamos acostumbrados REFERENCES para definir un ID externo, que es solo un ID de otra tabla que debe coincidir con el ID en esta tabla. Debido a que los ex谩menes est谩n relacionados con el curso, todos los ex谩menes deben ser v谩lidos CourseID.

    Estamos acostumbrados YearTaken reemplace “A帽o” simplemente porque “A帽o” es una palabra clave en SQL.

    Completemos estas dos tablas con algunos detalles para que tengamos algo con lo que trabajar:

    INSERT INTO courses VALUES (2100, "Algorithms and Data Structures", 3, 6);
    INSERT INTO courses VALUES (1520, "Linear Algebra and Analytic Geometry", 1, 7);
    INSERT INTO courses VALUES (666, "Calculus 2", 4, 6);
    INSERT INTO courses VALUES (782, "Methodology of Scientific Research", 8, 2);
    INSERT INTO courses VALUES (1890, "Object-Oriented Programming", 4, 6);
    INSERT INTO courses VALUES (220, "Programming 1", 1, 8);
    
    INSERT INTO exams (CourseID, YearTaken, Period, Grade, Points, Final)
        VALUES (2100, 2018, "june", 9, 82, true);
    INSERT INTO exams (CourseID, YearTaken, Period, Grade, Points, Final)
        VALUES (1520, 2017, "july", 5, 41, false);
    INSERT INTO exams (CourseID, YearTaken, Period, Grade, Points, Final)
        VALUES (1520, 2017, "sept", 8, 71, true);
    INSERT INTO exams (CourseID, Grade, Points, Final)
        VALUES (1890, 10, 100, true);
    INSERT INTO exams (CourseID, Grade, Points, Final)
        VALUES (220, 8, 79, false);
    INSERT INTO exams (CourseID, Grade, Points, Final)
        VALUES (220, 10, 92, true);
    

    Pasar estos comandos deber铆a resultar en lo siguiente

    Query OK, `n` rows affected (time_elapsed)
    

    Echemos un vistazo a las tablas que tenemos en ejecuci贸n:

    mysql> show tables;
    

    Como resultado:

    +-------------------+
    | Tables_in_studies |
    +-------------------+
    | courses           |
    | exams             |
    +-------------------+
    2 rows in set (0.00 sec)
    

    Ahora, podemos llamar a algunas consultas en estas tablas, como INSERT, ALTER, DELETE, SELECTetc.

    Mediante la ejecuci贸n:

    select * from courses;
    

    queremos todo de courses mesa:

    mysql> select * from courses;
    +----------+--------------------------------------+----------+------+
    | CourseID | Name                                 | Semester | ESPB |
    +----------+--------------------------------------+----------+------+
    |      220 | Programming 1                        |        1 |    8 |
    |      666 | Calculus 2                           |        4 |    6 |
    |      782 | Methodology of Scientific Research   |        8 |    2 |
    |     1520 | Linear Algebra and Analytic Geometry |        1 |    7 |
    |     1890 | Object-Oriented Programming          |        4 |    6 |
    |     2100 | Algorithms and Data Structures       |        3 |    6 |
    +----------+--------------------------------------+----------+------+
    6 rows in set (0.00 sec)
    

    隆Nuestra base de datos parece funcionar perfectamente!

    Problemas de instalaci贸n de Windows 10

    El instalador se inicia, pero luego se detiene solo. Soluciones posibles:

    • Abra el “Administrador de tareas” y si “Windows Installer” se est谩 ejecutando y no utiliza recursos, elim铆nelo, es probable que la instalaci贸n contin煤e normalmente despu茅s de eso.
    • Ejecute el instalador como administrador; no puede hacer esto con el clic derecho normal -> Ejecutar como administrador (no disponible para .msi archivos). En su lugar, debe navegar hasta el instalador en la consola de administraci贸n (haga clic con el bot贸n derecho en el 铆cono de Windows, luego en PowerShell (Admin) y ejec煤telo desde all铆, o simplemente escriba la ruta completa en la consola de administraci贸n. En nuestro caso el camino estaba completo H:Downloadsmysql-installer-community-8.0.17.0.msi.

    Las necesidades fallaron:

    • Si recibe un mensaje durante la instalaci贸n que dice que tiene “Requisitos de falla”, regrese a la pesta帽a “Seleccionar tipo de conjunto” y “Personalizar” y luego elimine los requisitos de falla (si no es arriba, ha instalado una instancia de ejemplo) que pueden resolver la cuesti贸n.

    Conclusi贸n

    MySQL es el sistema de gesti贸n de bases de datos de relaciones (RDBMS) m谩s utilizado en el mundo y proporciona datos para aproximadamente un tercio de las aplicaciones actuales.

    Utiliza un lenguaje de datos SQL estandarizado y funciona en muchos sistemas operativos con controladores que permiten a los desarrolladores conectarse a todos los lenguajes de programaci贸n populares.

    Hemos instalado y configurado una base de datos simple con algunas tablas para validar si est谩 funcionando correctamente.

    .

    Etiquetas:

    Deja una respuesta

    Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *