精华内容
下载资源
问答
  • 步骤超级详细!!!安装mysql实验过程
    千次阅读
    2020-09-01 22:23:41

    安装mysql

    
    
    #######如果是直接安装mysql数据库请先安装下面的环境,如已经安装跳过下面一步
    yum -y install \
    gcc \
    gcc-c++ \
    make \
    pcre-devel \  让数据库支持正则表达式
    expat-devel \  支持多种开发语言
    perl    是指多种程序运行的解释器。
    
    
    
    
    yum -y install \
    ncurses \
    ncurses-devel \  这俩个包适用于字符终端和开发软件包
    bison \ 这是一个同步解析器生成器,关联底层的c或者c++编程会使用
    cmake
    
    useradd -s /sbin/nologin  mysql       //创建用户及指定shell环境,另外创建账户之后会在普通用户的家目录/home建立一个mysql的家目录
    
    

    上传mysql-boost-5.7.20.tar.gz到opt目录下

    cd /opt // 切到/opt目录下
    tar xf mysql-boost-5.7.20.tar.gz //把上传进去的包进行解压
    cd /opt/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 \ pid进程路径
    -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 \  兼容c++库的解析器
    -DWITH_SYSTEMD=1  自己的进程id
    

    编译安装

    make && make install

    数据库目录进行权限调整

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

    建立调整配置文件

    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
    这是一个默认的语法
    
    

    chown mysql:mysql /etc/my.cnf //改变文件的属主

    设置环境变量

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

    注释:命令让系统识别的几种方式:1.建立软链接,建立在/usr/local/bin或/usr/bin/目录下;
    2.cp到系统环境(bin)目录下;3.环境变量的设置,在/etc/profile文件里修改

    切到该目录下,进行下面的配置操作,配置的意思就是初始化

    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/
    注释:把mysqld.service拷贝到/usr/lib/systemd/system/目录下,便于使用systemctl命令管理
    systemctl enable mysqld
    systemctl start mysqld
    systemctl status mysqld
    netstat -anpt | grep 3306
    

    mysql -u root -p ##这个命令敲下,提示要输入密码,这个就是刚才设置的密码abc123

    cd /usr/local/httpd/bin/

    安装PHP环境

    yum -y install \
    libjpeg \
    libjpeg-devel \  前面俩句专门处理png图片的 和开发包的
    libpng libpng-devel \ 处理png图片
    freetype freetype-devel \ 字体样式开发包
    libxml2 \
    libxml2-devel \ 处理文件的格式xml格式,版本2
    zlib zlib-devel \ 压缩和压缩开发工具包
    curl curl-devel \ curl可以不用是浏览器,直接用curl的应用打开一个网页,展示一个内容,相当于字符界面的浏览器工具
    openssl openssl-devel 用证书做安全认证
    

    上传php-7.1.10.tar.bz2包到opt目录下

    cd /opt
    tar xjvf php-7.1.10.tar.bz2
    cd php-7.1.10
    ./configure \
    --prefix=/usr/local/php \ 安装路劲
    --with-apxs2=/usr/local/httpd/bin/apxs \
    --with-mysql-sock=/usr/local/mysql/mysql.sock \ 通信文件
    --with-mysqli \ 连接数据库
    --with-zlib \ 使用过压缩
    --with-curl \  使用curl的浏览工具
    --with-gd \   使用之前安装的gdku
    --with-jpeg-dir \ 使用jpg图片处理目录
    --with-png-dir \  使用png图片处理目录
    --with-freetype-dir \ 字体样式
    --with-openssl \ 使用证书安全认证
    --enable-mbstring \开启mbstring库,能够支持多字节的字符串,处理中文字符串
    --enable-xml \ xml格式处理
    --enable-session \ 开启会话共享
    --enable-ftp \ 开启ftp服务
    --enable-pdo \ 连接数据库驱动
    --enable-tokenizer \ 做身份认证的
    --enable-zip  开启zip压缩
    

    make && make install

    cp php.ini-development /usr/local/php/lib/php.ini

    在解压缩目录下cp一个php的默认核心配置文件模板到php工作目录下的lib叫做php.ini

    vi /usr/local/php/lib/php.ini 在配置文件修改搜索以下俩条进行补全

    mysqli.default_socket = /usr/local/mysql/mysql.sock
    date.timezone = Asia/Shanghai

    /usr/local/php/bin/php -m //验证安装的模块

    vi /etc/httpd.conf //在合适位置新增

    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps

    DirectoryIndex index.php index.html

    rm -f /usr/local/httpd/htdocs/index.html
    vi /usr/local/httpd/htdocs/index.php

    <?php
    phpinfo();
    ?>
    

    systemctl restart httpd

    vi /etc/httpd.conf

    Include conf/extra/httpd-vhosts.conf   前面加#
    Listen 80 其他都注释掉
    

    用真机浏览器可以输入虚拟机的ip检测一下

    cd
    mysqladmin -uroot -p password
    ‘abc123’ 之前设置过密码直接进行后面一步
    这个地方回车后,输入是初始密码,我们这边安装的初始密码是空的。回车即可
    --------下面测试数据库工作是否正常-----
    mysql -u root -p //这边是登录进去之后进行授权
    CREATE DATABASE myadm; 创建数据库
    GRANT all ON myadm.* TO ‘myadm’@’%’ IDENTIFIED BY ‘admin123’; //对于来自公网ip地址访问的授权,授权账号:myadm ,密码是admin123,myadm.意思是可以访问myadm下面所有的表
    GRANT all ON myadm.
    TO ‘myadm’@‘localhost’ IDENTIFIED BY ‘admin123’; //对于本地的ip地址的授权
    flush privileges; 刷新后台的意思 ,刷新好之后exit退出

    vi /usr/local/httpd/htdocs/index.php //然后在首页信息里面修改,把之前的信息全部删除,把下面的东西复制进去,然后修改一下ip地址就可以了

    <?php           //首页网页语言是PHP的
    $link=mysqli_connect('192.168.32.21','myadm','admin123');  访问哪个数据库   这边ip地址也是要修改
    if($link) echo "<h1>Success!!</h1>";  如果能连接通的话显示成功
    else echo "Fail!!";                                   //否则失败
    ?>
    
    

    ########http://192.168.32.21/测试下###在浏览器上可以检测一下

    #########上传phpMyAdmin-4.7.6-all-languages.zip到opt下面#####
    —以下安装phpMyadmin------

    cd /opt
    unzip phpMyAdmin-4.7.6-all-languages.zip -d /opt/   把phpMyAdmin管理工具解压到/opt目录下去
    mv phpMyAdmin-4.7.6-all-languages /usr/local/httpd/htdocs/myadm   //将解压的东西移到apache中去,相当于在首页htdocs下面嵌套了一层
    cd /usr/local/httpd/htdocs/myadm                                    //切到该目录下
    cp config.sample.inc.php config.inc.php
    
    

    vi config.inc.php

    $cfg['Servers'][$i]['host'] = '127.0.0.1'; //把localhost 改成IP 31行
    
    http://192.168.32.21/myadm                 这边要改成自己的ip http://20.0.0.25/myadm
    使用root 以及前面为root配置的密码登录管理系统。可以对数据库进行管理操作了
    

    用浏览器输入http://192.168.32.21/myadm ,第一次访问需要输入账号和密码,就直接可以登进去了
    在这里插入图片描述

    更多相关内容
  • 实验MySQL的触发器.pdf
  • 数据库维护、建立账户、用户授权、数据导入导出、数等案例截图操作等等共18页这里很多是用命令操作的,有详细步骤和命令、截图。适合小白。
  • 有安装、创建库、创建表、增加、修改、删除、查询等等一共16页,有截图、很详细的步骤讲解、操作,用于国家开发大学形考考试作业用。
  • 主要介绍了JDBC连接MySql数据库步骤,以及查询、插入、删除、更新等十一个处理数据库信息的功能,需要的朋友可以参考下
  • 很多时候也牵涉到mysql相关的开发工作。于是就把整个过程做了一个整理,以方便以后再次安装配置的时候参考,也希望能够让新手少走点弯路。其实当时要做的事情主要也就是以下几件,首先要在ubuntu的机器上装一个mysql...

    因为经常要在ubuntu linux的环境下做一些开发工作。很多时候也牵涉到mysql相关的开发工作。于是就把整个过程做了一个整理,以方便以后再次安装配置的时候参考,也希望能够让新手少走点弯路。

    其实当时要做的事情主要也就是以下几件,首先要在ubuntu的机器上装一个mysql server,然后需要配置特定的帐号和权限来执行一些sql脚本,创建一个包含有完整数据的环境。现在开始:

    1. 安装

    如果我们在没有安装mysql的ubuntu系统中输入如下的命令:mysql, 系统会给出如下的提示:

    Sql代码  134beedad545e7b5f4a9bd2dd4de7500.png

    The program 'mysql' is currently not installed.  You can install it by typing:

    sudo apt-get install mysql-client-core-5.5

    实际上我们安装mysql的时候,可以选择安装server或者client,如果只是安装有client端的话,要连接到安装有server的服务器端才能访问。client提供了和sql脚本交互以及连接某个特定mysql服务器的功能。我们因为需要安装server,使用如下的命令就可以,而且同时也将client也包含安装在内了。

    Sql代码  134beedad545e7b5f4a9bd2dd4de7500.png

    sudo apt-get install mysql-server

    安装过程中会提示输入root帐号的密码。root是mysql系统中的管理员角色,具有最高的权限。

    23a46623a97ea01220c3bcdd55bdab6a.png

    输入密码之后会提示再次确认密码,如下图:

    ed9b58fd308c5727b75669c36b575aaa.png

    确认完密码之后系统会自动完成后续的安装过程。

    2. 采用root登录

    安装过程之后,我们就可以登录进入mysql server了。mysql 默认的情况下是不允许匿名登录的。如果我们输入如下的命令:mysql,可能会得到如下的错误信息:

    Sql代码  134beedad545e7b5f4a9bd2dd4de7500.png

    ERROR 1045 (28000): Access denied for user 'frank'@'localhost' (using password: NO)

    既然我们前面指定了root用户的密码,可以采用如下的命令来登录:

    Sql代码  134beedad545e7b5f4a9bd2dd4de7500.png

    mysql -u root -p

    -u 选项用来指定登录的用户,后面的root表示采用root帐号登录。-p选项表示采用密码验证的方式登录。

    在输入前面的命令后,系统会提示输入密码,如果正确的话就可以进入系统了。

    3. 创建新用户

    在大多数情况下,如果我们将结合mysql进行一些开发工作的话,不会直接采用root账户。一般root账户用来做一些系统管理和维护的工作,而且因为root权限太高。如果mysql系统出现问题容易导致所有数据的破坏。所以我们需要专门创建一个特定的用户,由root来给它指派一定的权限。这样,就算该账户出现问题,造成的损失也可能只是该帐号权限范围内的,不至于整体的破坏。

    比如说我们要创建一个新的用户,并设置该用户的访问密码,在以root用户登录进入系统后,执行如下命令:

    Sql代码  134beedad545e7b5f4a9bd2dd4de7500.png

    create user 'frank'@'localhost';

    Java代码  134beedad545e7b5f4a9bd2dd4de7500.png

    set password for 'frank'@'localhost' = password('abcdefg');

    前面两条命令分别创建了用户frank并设置了该用户的密码。对于第一个命令,因为该用户是运行在本地'localhost'实例上的,所以需要指定为'用户名'@‘实例名’这种样式。如果我们要采用字符密码的方式来设置的话,需要采用password(''),在后面的括号参数里指定密码。如本例,密码为'abcdefg'。

    这样,我们就创建了一个用户并指定了他的密码。后面,我们就需要指定分配权限的资源。假设我们创建一个数据库:sampledb。

    Java代码  134beedad545e7b5f4a9bd2dd4de7500.png

    create database sampledb;

    4. 配置新用户权限

    假设我们需要将sampledb的全部权限赋予新创建的用户frank,我们需要执行如下的命令:

    Sql代码  134beedad545e7b5f4a9bd2dd4de7500.png

    grant all privileges on sampledb.* to 'frank'@'localhost';

    这是设置权限最简单的一种方式,表示将数据库sampledb的所有访问权限都赋予用户frank.如果需要更加细粒度的控制,则需要考虑不同的访问操作以及数据库的不同部分。

    5. 执行脚本

    当我们配置好用户之后就可能需要执行一些sql脚本。脚本的执行方式有几种,一种是没有登录进入mysql server的情况下。典型的执行方式如下:

    Java代码  134beedad545e7b5f4a9bd2dd4de7500.png

    shell> mysql db_name 

    shell> mysql db_name -u username -p 

    这两种方式分别基于用户认证和非认证的方式来执行。

    在登录进入mysql的情况下,可以采用更简单的方式执行:

    Sql代码  134beedad545e7b5f4a9bd2dd4de7500.png

    mysql> source file_name

    mysql> \. file_name

    总结:

    安装和配置mysql的过程稍微有点麻烦,如果习惯了windows下面手工的配置方式的话,会不太习惯。故总结一下,以备参考。

    展开全文
  • MySQL安装创建和维护数据库实验实验目的 1掌握在Windows 平台下安装与配置MySQL 5.6 的方法 2掌握启动服务并登录MySQL 5.6 数据库的方法和步骤 3了解手工配置MySQL 5.6 的方法 4掌握MySQL 数据库的相关概念 5掌握...
  • MySQL数据库实验(一):数据库备份MySQL安装包下载安装实验目的实验内容实验步骤实验中可能遇到的问题 MySQL安装包下载安装 下载地址:https://dev.mysql.com/downloads/mysql/ cmd进入到Windows的DOS命令下,切换...
  • MYSQL 之 MHA架构搭建实验步骤

    千次阅读 2020-11-05 09:41:11
    案例实现思路 1、 安装MySQL数据库 2、 配置MySQl一主两从 3、 安装MHA软件 4、 配置无密码认证 5、 配置MySQL MHA 高可用 6、 模拟 master 故障切换 3.2具体搭建过程 这里建议实验主机用 hostnamectl 命令修改,...

    一、MHA的概述

    MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司的youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。

    MHA的组成
    该软件由两部分组成:MHA Manager(管理节点)和MHA Node(数据节点)。MHA Manager可以单独部署在一台独立的机器上管理多个master-slave集群,也可以部署在一台slave节点上。MHA Node运行在每台MySQL服务器上,MHA Manager会定时探测集群中的master节点,当master出现故障时,它可以自动将最新数据的slave提升为新的master,然后将所有其他的slave重新指向新的master。整个故障转移过程对应用程序完全透明。

    在MHA自动故障切换过程中,MHA试图从宕机的主服务器上保存二进制日志,最大程度的保证数据的不丢失,但这并不总是可行的。例如,如果主服务器硬件故障或无法通过ssh访问,MHA没法保存二进制日志,只进行故障转移而丢失了最新的数据。使用MySQL 5.5的半同步复制,可以大大降低数据丢失的风险。MHA可以与半同步复制结合起来。如果只有一个slave已经收到了最新的二进制日志,MHA可以将最新的二进制日志应用于其他所有的slave服务器上,因此可以保证所有节点的数据一致性。

    MHA特点

    • 自动故障切换过程中,MHA试图从宕机的主服务器.上保存二进制日志,最大程度的保证数据的不丢失
    • 使用MySQL 5.5的半同步复制,可以大大降低数据丢失的风险

    1.1MHA工作原理总结为以下几条:

    从宕机崩溃的master保存二进制日志事件(binlog events);
    识别含有最新更新的slave;
    应用差异的中继日志(relay log)到其他slave;
    应用从master保存的二进制日志事件(binlog events);
    提升一个slave为新master;
    使用其他的slave连接新的master进行复制。
    验证复制设置以及确认当前master状态

    • 连接所有hosts,MHA自动来确认当前master是哪个,配置文件中无需指定哪个是master。如果其中有任何一个slave挂了,脚本立即退出,停止监控。如果有一些必要的脚本没有在MHA
      Node节点安装,那么MHA在这个阶段终止,且停止监控。

    监控master

    • 监控master,直到master挂了。这个阶段,MHA不会监控slave,Stopping/Restarting/Adding/Removing操作在slave上,不会影响当前的MHA监控进程。当你添加或者删除slave的时候,请更新好配置文件,最好重启MHA。

    检测master是否失败

    • 如果MHA Manger三次间隔时间都没办法连接master
      server,就会进入这个阶段。如果你设置了secondary_check_script
      ,那么MHA会调用脚本做二次检测来判断master是否是真的挂了。接下来的步骤,就是masterha_master_switch的工作流程了

    再次验证slave的配置

    • 如果发现任何不合法的复制配置(有些slave的master不是同一个),那么MHA会停止监控,且报错。可以设置ignore_fail忽略。这一步是处于安全考虑,很有可能,复制的配置文件已经被改掉了,所以double
      check是比较推荐的做法。检查最后一次failover(故障转移)的状态
      如果上一次的failover报错,或者上一次的failover结束的太近(默认3天),MHA停止监控,停止failover,那么在masterha_manager命令中设置ignore_last_failover,wait_on_failover_error来改变这一检测。这么做,也是出于安全考虑。频繁的failover,检查下是否网络出问题,或者其他错误呢?

    关掉失败的master的服务器(可选)

    • 如果在配置文件中定义了master_ip_failover_script and/or shutdown_script
      ,MHA会调用这些的脚本。关闭dead master,避免脑裂(值得商榷)。

    恢复一台新master

    • 从crashed master服务器上保存binlog到Manager(如果可以的话如果dead
      master可以SSH的话,拷贝binary
      logs从最新的slave上的end_log_pos(Read_Master_Log_Pos)位置开始拷贝。选举新master
      一般根据配置文件的设置来决定选举谁,如果想设置一些候选master,设置candidate_master=1;如果想设置一些host,永远都不会选举,设置no_master=1;确认最新的slave
      (这台slave拥有最新的relay-log)。恢复和提升新master根据老master binlog生成差异日志,应用日志到new
      master,如果这一步发生错误(如:duplicate key error),MHA停止恢复,并且其余的slave也停止恢复。

    二:MHA切换

    2.1 验证复制设置以及确认当前master状态

    连接配置文件中列出的所有hosts,MHA自动来确认当前master是哪个,配置文件中无需指定哪个是master。执行 flush tables 命令在master上(可选). 这样可以缩短FLUSH TABLES WITH READ LOCK的时间。
    既不监控master,也不会failover。
    检查下面的条件是否满足。

    I

    • O线程是否在所有slave上都是running
    • SQL线程是否在所有slave上都是running
    • Seconds_Behind_Master 是否低于2秒(—running_updates_limit=N)
    • master上是否没有长的更新语句大于2秒

    2.2 确认新master

    • 新master需要设置:
      –new_master_host参数。原来的master和新的master必须要有同样的复制过滤条件(binlog-do-db and
      binlog-ignore-db)。

    2.3 当前master停写

    • 如果你在配置中定义了master_ip_online_change_script,MHA会调用它。可以通过设置SET GLOBAL
      read_only=1来完美的阻止写入。在老master上执行FLUSH TABLES WITH READ
      LOCK来阻止所有的写(–skip_lock_all_tables可以忽略这一步)。

    2.4 等待其他slave追上当前master,同步无延迟

    • 调用这个函数MASTER_LOG_POS()。

    2.5 确保新master可写

    • 执行SHOW MASTER STATUS来确定新master的binary
      log文件名和position。如果设置了master_ip_online_change_script,会调用它。可以创建写权限的用户,SET
      GLOBAL read_only=0。

    2.6 让其他slave指向新master

    • 并行执行CHANGE MASTER, START SLAVE。

      MHA组件介绍 MHA软件由两部分组成,Manager工具包和Node工具包,具体的说明如下。

      Manager工具包主要包括以下几个工具:

    (1)masterha_check_ssh #检查MHA的SSH配置状况;

    (2)masterha_check_repl #检查MySQL复制状况;

    (3)masterha_manger #启动MHA;

    (4)masterha_check_status #检测当前MHA运行状态;

    (5)masterha_master_monitor #检测master是否宕机;

    (6)masterha_master_switch #控制故障转移(自动或者手动);

    (7)masterha_conf_host #添加或删除配置的server信息;

    Node工具包(这些工具通常由MHA Manager的脚本触发,无需人为操作)主要包括以下几个工具:

    (1)save_binary_logs #保存和复制master的二进制日志;

    (2)apply_diff_relay_logs #识别差异的中继日志事件并将其差异的事件应用于其他的slave;

    (3)purge_relay_logs #清除中继日志(不会阻塞SQL线程);

    三、MHA的案例

    3.1、案例需求

    • 本案例要求通过MHA监控MySQL数据库在故障时进行自动切换,不影响业务。
      案例实现思路
      1、 安装MySQL数据库
      2、 配置MySQl一主两从
      3、 安装MHA软件
      4、 配置无密码认证
      5、 配置MySQL MHA 高可用
      6、 模拟 master 故障切换

    3.2具体搭建过程

    这里建议实验主机用 hostnamectl 命令修改,方便实验。

    #将manager服务器的主机名改为manager
    hostnamectl set-hostname manager
    su
    #修改服务器名称,将manster服务器的主机名改为manster
    hostnamectl set-hostname manster
    su
     #修改服务器名称,将slave1服务器的主机名改为slaveq
    hostnamectl set-hostname slave1
     su
     #修改服务器名称,将slave2服务器的主机名改为slave2
    hostnamectl set-hostname slave2
     su
    
    

    实现MySQL的一主两从
    一、MYSQL数据库已经安装完成,接下来是 Mysql 的一主两从部署。

    主服务器 master:

    vim /etc/my.cnf
    server-id = 1               //指定id号,服务器的唯一标识,不能相同
    log-bin=master-bin           //主服务器日志文件
    log-slave-updates=true       //从服务器更新二进制日志
    
    

    在这里插入图片描述
    重启服务

    systemctl restart mysqld
    
    
    • 从服务器slave1:
      1、修改配置文件
    vim /etc/my.cnf
    
    server-id = 2       
    relay-log=relay-log-bin     //从主服务器上同步日志文件记录到本地  
    relay-log-index=slave-relay-bin.index   //定义relay-log的位置和名称
    
    

    在这里插入图片描述
    注意:如果你的 mysql 手工编译安装的是 5.7 版本,从服务器一定要在client段把 utf-8 这行注释掉,否则在最后检查MHA健康状况时报错。

    [client]
    #default-character-set=utf8	  //注释掉此行代码
    
    

    2、重启服务

    systemctl restart mysqld
    
    

    同样从服务器 slave2 修改id和日志,重启服务。

    vim /etc/my.cnf
    server-id = 3       
    relay-log=relay-log-bin     //从主服务器上同步日志文件记录到本地  
    relay-log-index=slave-relay-bin.index   //定义relay-log的位置和名称
    #重启服务
    systemctl restart mysqld
    
    

    在这里插入图片描述
    3、给master、slave1、slave2 分别建立软链接

    ln -s /usr/local/mysql/bin/mysql /usr/sbin/
    ln -s /usr/local/mysql/bin/mysqlbinlog /usr/sbin/
    
    

    4、数据库的授权。在所有的数据库节点上授权两个用户,一个是从库同步使用,另外一个是 manager 使用监控,即在master、slave1、slave2 上搭建。

    mysql -u root -pabc123
    
    grant replication slave on *.* to 'myslave'@'192.168.220.%' identified by '123';
    grant all privileges on *.* to 'mha'@'192.168.220.%' identified by 'manager';
    flush privileges;      //刷新数据库的权限相关表
    
    

    在这里插入图片描述
    在master服务器上查看二进制文件和位置,File和Position这两个值在后面配置从服务器的时候会用到。
    在这里插入图片描述
    在slave1和slave2服务器上加权限。

    mysql -u root -pabc123
    #授权要根据在master上看到的日志文件和position填写,不能乱填
    change master to master_host='192.168.220.136',master_user='myslave',master_password='123123',master_log_file='master-bin.000002',master_log_pos=774;
    
    

    在这里插入图片描述
    5、启动同步,查看slave状态,确保以下两个值为YES

    start slave;    //开启从服务       
    show slave status\G;    //查看状态
    
    
    1、将master数据库关闭,模拟宕机
    [root@Master ~]# pkill -9 mysql
    
    2、查看从库状态
    
    mysql> show slave status \G
    *************************** 1. row ***************************
                   Slave_IO_State: Waiting for master to send event
                      Master_Host: 192.168.100.20 ###主库成功切换到备选主库
                      Master_User: myslave
                      Master_Port: 3306
                    Connect_Retry: 60
                  Master_Log_File: master-bin.000003
              Read_Master_Log_Pos: 1232
                   Relay_Log_File: relay-log-bin.000002
                    Relay_Log_Pos: 284
            Relay_Master_Log_File: master-bin.000003
                 Slave_IO_Running: Yes
                Slave_SQL_Running: Yes
    
    
    必须设置两个从库slave为只读模式
    set global read_only=1;
    
    flush privileges;      //刷新数据库的权限相关表
    
    

    3.3、安装 MHA

    1、给所有服务器安装 MHA 的依赖环境

    [root@MHA-manager ~]# yum install epel-release --nogpgcheck
    yum -y install perl-DBD-MySQL \
    perl-Config-Tiny \
    perl-Log-Dispatch \
    perl-Parallel-ForkManager \
    perl-ExtUtils-CBuilder \
    perl-ExtUtils-MakeMaker \
    perl-CPAN
    
    

    2、所有服务器必须先安装node组件,然后在 manager 节点上安装 manager 组件。

    • 因为manager依赖node 组件

    先在所有服务器安装node组件

    #挂载共享文件
    mount.cifs //192.168.220.128/share /mnt
    cd ~
    tar zxvf /mnt/mysql/mha/mha4mysql-node-0.57.tar.gz
    cd mha4mysql-node-0.57/
    perl Makefile.PL     
    make && make install
    
    
    • 在 manager 节点上安装 manager 组件 manager 安装后在 /usr/local/bin/ 目录下会生成几个工具
      在这里插入图片描述
    • node 安装后也会在/usr/local/bin/目录下会生成几个脚本。

    这些工具通常由Manager 的脚本触发,无需人为操作, 主要如下:
    在这里插入图片描述

    3.5、配置无密码访问

    //1、在 manager 上配置到所有数据库节点的无密码认证
    ssh-keygen -t rsa     //一路按回车键
    ssh-copy-id 192.168.100.20     按yes回车密码:123
    ssh-copy-id 192.168.100.21
    ssh-copy-id 192.168.100.22
    
    //2、在 master 上配置到数据库节点 slave1 和 slave2 的无密码认证
    ssh-keygen -t rsa     //一路按回车键
    ssh-copy-id 192.168.100.21   按yes回车密码:123
    ssh-copy-id 192.168.100.22
    
    //3、在 slave1 上配置到数据库节点 master 和slave2 的无密码认证
    ssh-keygen -t rsa     //一路按回车键
    ssh-copy-id 192.168.100.20   按yes回车密码:123
    ssh-copy-id 192.168.100.22
    
    //4、在 slave2 上配置到数据库节点 master 和 slave1 的无密码认证
    ssh-keygen -t rsa     //一路按回车键
    ssh-copy-id 192.168.100.20    按yes回车密码:123
    ssh-copy-id 192.168.100.21
    
    

    在这里插入图片描述

    3.5、配置MHA

    1、在manager节点上复制相关脚本到/usr/local/bin 的目录

    cp -ra /root/mha4mysql-manager-0.57/samples/scripts /usr/local/bin
    
    

    拷贝后会有四个执行文件:
    在这里插入图片描述

    2、复制上述的自动切换时VIP管理的脚本到/usr/local/bin 目录,这里使用脚本管理VIP

    cp /usr/local/bin/scripts/master_ip_failover /usr/local/bin
    
    

    重新编写master_ip_failover脚本,内容如下:

    vim /usr/local/bin/master_ip_failover
    #!/usr/bin/env perl
    use strict;
    use warnings FATAL => 'all';
    
    use Getopt::Long;
    
    my (
    $command, $ssh_user, $orig_master_host, $orig_master_ip,
    $orig_master_port, $new_master_host, $new_master_ip, $new_master_port
    );
    #####添加内容部分
    my $vip = '192.168.100.200';
    my $brdc = '192.168.100.255';
    my $ifdev = 'ens33';
    my $key = '1';
    my $ssh_start_vip = "/sbin/ifconfig ens33:$key $vip";
    my $ssh_stop_vip = "/sbin/ifconfig ens33:$key down";
    my $exit_code = 0;
    #my $ssh_start_vip = "/usr/sbin/ip addr add $vip/24 brd $brdc dev $ifdev label $ifdev:$key;/usr/sbin/arping -q -A -c 1 -I $ifdev $vip;iptables -F;";
    #my $ssh_stop_vip = "/usr/sbin/ip addr del $vip/24 dev $ifdev label $ifdev:$key";
    ##
    GetOptions(
    'command=s' => \$command,
    'ssh_user=s' => \$ssh_user,
    'orig_master_host=s' => \$orig_master_host,
    'orig_master_ip=s' => \$orig_master_ip,
    'orig_master_port=i' => \$orig_master_port,
    'new_master_host=s' => \$new_master_host,
    'new_master_ip=s' => \$new_master_ip,
    'new_master_port=i' => \$new_master_port,
    );
    
    exit &main();
    
    sub main {
    
    print "\n\nIN SCRIPT TEST====$ssh_stop_vip==$ssh_start_vip===\n\n";
    
    if ( $command eq "stop" || $command eq "stopssh" ) {
    
    my $exit_code = 1;
    eval {
    print "Disabling the VIP on old master: $orig_master_host \n";
    &stop_vip();
    $exit_code = 0;
    };
    if ($@) {
    warn "Got Error: $@\n";
    exit $exit_code;
    }
    exit $exit_code;
    }
    elsif ( $command eq "start" ) {
    
    my $exit_code = 10;
    eval {
    print "Enabling the VIP - $vip on the new master - $new_master_host \n";
    &start_vip();
    $exit_code = 0;
    };
    if ($@) {
    warn $@;
    exit $exit_code;
    }
    exit $exit_code;
    }
    elsif ( $command eq "status" ) {
    print "Checking the Status of the script.. OK \n";
    exit 0;
    }
    else {
    &usage();
    exit 1;
    }
    }
    sub start_vip() {
    `ssh $ssh_user\@$new_master_host \" $ssh_start_vip \"`;
    }
    # A simple system call that disable the VIP on the old_master
    sub stop_vip() {
    `ssh $ssh_user\@$orig_master_host \" $ssh_stop_vip \"`;
    }
    ####
    sub usage {
    print
    "Usage: master_ip_failover --command=start|stop|stopssh|status --orig_master_host=host --orig_master_ip=ip --orig_master_port=port --new_master_host=host --new_master_ip=ip --new_master_port=port\n";
    }
    
    

    注意:复制此脚本内容到脚本文件中,如果出现每一行多一个#号,可以在行尾模式输入 :% s/#/ 回车即可

    3、创建 MHA 软件目录并拷贝配置文件

    mkdir /etc/masterha  #创建MHA目录
    #复制配置文件到新建的MHA目录下
    cp /root/mha4mysql-manager-0.57/samples/conf/app1.cnf /etc/masterha  
    vim /etc/masterha/app1.cnf
    
    [server default]
    manager_workdir=/var/log/masterha/app1
    manager_log=/var/log/masterha/app1/manager.log
    master_binlog_dir=/usr/local/mysql/data
    master_ip_failover_script=/usr/local/bin/master_ip_failover
    master_ip_online_change_script=/usr/local/bin/master_ip_online_change
    password=manager
    remote_workdir=/tmp
    repl_password=123
    repl_user=myslave
    secondary_check_script=/usr/local/bin/masterha_secondary_check -s 192.168.100.21 -s 192.168.100.22
    shutdown_script=""
    ssh_user=root
    user=mha
    
    [server1]
    hostname=192.168.100.20
    port=3306
    
    [server2]
    candidate_master=1
    check_repl_delay=0
    hostname=192.168.100.21
    port=3306
    
    [server3]
    hostname=192.168.100.22
    port=3306                                                                                                                                                                
    
    

    4、在 manager服务器上测试ssh无密码认证,如果正常,最后会输出 successfully。

    masterha_check_ssh -conf=/etc/masterha/app1.cnf
    all SSH	connection tests passed successfully	#####表示成功
    

    检查健康状况

    masterha_check_repl -conf=/etc/masterha/app1.cnf
    
    

    5、在master上手动开启虚拟IP

    /sbin/ifconfig ens33:1 192.168.100.200/24
    
    

    6、启动MHA

    nohup masterha_manager --conf=/etc/masterha/app1.cnf --remove_dead_master_conf --ignore_last_failover < /dev/null > /var/log/masterha/app1/manager.log 2>&1 &
    
    

    7、查看MHA状态,可以看到当前的 master 是Mysqll 节点

    [root@manager ~]# nohup masterha_manager --conf=/etc/masterha/app1.cnf --remove_dead_master_conf --ignor_last_failover < /dev/null > /var/log/masterha/app1/manager.long 2>&1 &
    [1]   9186
     [root@manager ~]# masterha_check_status --conf=/etc/masterha/app1.cnf
     app1 (pid:9186) is running(0:PING_OK),master:192.168.100.20
    

    也可以通过查看MHA日志,显示当前的master 是192.168.100.20

    cat /var/log/masterha/app1/manager.log
    
    

    3.6、故障模拟
    1、在manager节点上启用监控观察日志记录。

    tailf /var/log/masterha/app1/manager.log  
    
    
    [root@manager ~]#tailf /var/ 1og/ masterha/ app1/ manager .1og
    Sun Jan 12 07 :39:032020  -  [ info] Executing secandary network check script: /usr/1ocal/bin/masterha_ secondary_ check -S 192.168.100.21 -s 192. 168.100.22    -- user=root
    --master_ host=192.168.100.20 --master ip=192. 168.100.20 --master port=3306 --master user=mha --master passw
    ord=manager --ping_ type=SELECT
    Sun Jan 12 07 :39:03 2020
    [info] HealthCheck: SSH to 192. 168.100.20 is reachable .
    Monitoring server 192.168. 100.21 is reachable, Master is not reachable from 192.168 .100.21
    OK.
    Monitoring server 192.168.100.22is reachable, Master fis not reachable from 192.168.100.22
    OK.
    Sun Jan 12 07:39:04 2020
    [info] Master is not reachable from al1 other monitoring servers .
    Failover should start .
    Sun Jan 12 07:39:06 2020 - [warning] Got error on MySQL connect: 2003 (Can't connect to MySQL
    server on ' 192. 168.100.20'(111)
    Sun Jan 12 07:39:06 2020 - [warning] Got error on MySQL connect: 2003 (Can't connect to MySQL
    server on ' 192. 168.100.20'(111)
    **Sun Jan 12 07:39:06 2020 - [info] Ping (SELECT) succeeded,  waiting  until   MySQL  doesn't respond**表示成功 
    

    2、在master上关闭mysql。

    systemctl stop mysql
    
    

    可以看到从库的状态,vip会切换到其中之一的从库上。

    root@slave1 mysql] # ifconfig
    ens33: T Lags=4163<UP, BRUADCAST, RUNNING, MULTICAST> mtu 1500
    	inet 192. 168. 100.21 netmask 255. 255. 255. 0 
    	broadcast 192. 168. 100. 255
    	inet6 fe80: : 3661: 4f5c: 6149: 3ae1 prefixlen 64 scopeid 0x20<link>
    	inet6 fe80:: c7ca: cf27: fObb: 92aa prefixlen 64 scopeid 0x20<link>
    	ether 00: Oc: 29: 0c: 95: f9 txqueuelen 1000 ( Ethernet)
    	RX packets 1203837 bytes 455699052 ( 434. 5 MiB)
    	RX errors 0
    	dropped 0 overruns 0 frame 0
    	TX packets 1556244 bytes 216492481 ( 206. 4 MiB)
    	TX errors 0 
    	dropped 0 overruns 0 carrier 0 collisions 0
    	
    ens33: 1: flags=4163<UP, BROADCAST, RUNNING, MULTICAST> mtu 1500
    	inet 192. 168. 100. 200 netmask 255. 255.255. 0
    	broadcast 192. 168. 100. 255
    	ether 00: 0c: 29: 0c:95: f9 txqueuelen 1000 ( Ethspstdg.csdnetweixin _49228721 
    
    展开全文
  • 该文档详细介绍了利用Kali Linux破解MySQL数据库的完整过程,并给出了每一操作步骤的截图,包括如何安装和使用MySQL,如何配置Kali Linux,并使用Nmap、vi等工具,是你学习Kali Linux破解MySQL的最佳文档。
  • 最近需要做个小小的验证实验,需要安装MySQL,网上一搜发现教程繁多,bug也多,所以直接把官网的流程翻译过来,注意是压缩文件,不是安装版的,解压直接能用的,下面直接把流程贴过来: 使用压缩文档安装在Windows上...
  • MySQL数据库 实验报告(一)

    千次阅读 2022-03-31 07:38:22
    3、实验内容及步骤 (1)利用SQL命令创建名为“jwgl”+“自己学号”的数据库 (2)使用命令行方式利用SQL语句在第一步创建的数据库中按下列要求创建数据表 a)创建如下表所示的student表(学生表) 列名

    实验报告(一)
    1、实验目的
    (1)掌握系统数据类型的特点和功能
    (2)掌握创建、修改表结构的方法
    (3)掌握数据添加的方法
    2、实验预习与准备
    (1)MYSQL中创建数据库的命令
    (2)表结构的创建、修改和删除
    (3)MYSQL导入导出表数据的方式
    (4)添加数据的SQL命令
    3、实验内容及步骤
    (1)利用SQL命令创建名为“jwgl”+“自己学号”的数据库
    在这里插入图片描述

    (2)使用命令行方式利用SQL语句在第一步创建的数据库中按下列要求创建数据表
    a)创建如下表所示的student表(学生表)
    列名 类型 是否允许为空 字段说明
    sno char(10) not null 学号
    sname char(10) not null 姓名
    sex enum(‘男’,‘女’) not null 性别
    birth date not null 出生日期
    source varchar(16) null 生源地
    clno char(10) null 班级号
    phone char(11) null 电话
    credit smallint null 学分
    picture varchar(30) null 照片(存放地址)
    remark text null 字段说明
    pwd char(6) not null 密码

    在这里插入图片描述

    b)创建如下表所示的course表(课程表)
    列名 数据类型(宽度) 是否允许为空 字段说明
    cno char(6) not null 课程号
    cname varchar(16) not null 课程名
    credit tinyint not null 学分
    hour smallint not null 学时
    term tinyint not null 开课学期(取值范围1-8)
    在这里插入图片描述

    c)创建如下表所示的score表(成绩表)
    列名 类型 是否允许为空 字段说明
    sno char(10) not null 学生编号
    cno char(6) not null 课程编号
    score decimal(4,1) null 期末成绩

    在这里插入图片描述

    d)创建如下表所示的teacher表(教师表)

    列名 数据类型(宽度) 是否允许为空 字段说明
    tno char(4) not null 教师号
    tname char(10) not null 姓名
    pwd char(6) not null 密码
    sex enum(‘男’,‘女’) not null 性别
    tel char(11) null 电话
    department varchar(10) not null 院系名称
    type char(1) not null 身份(0:管理员;1:教师)
    remark text null 字段说明
    在这里插入图片描述

    e)创建如下表所示的class表(班级表)。
    列名 类型 是否允许为空 字段说明
    clno char(8) not null 班级编号
    clname varchar(16) not null 班级名称
    department varchar(12) not null 院系名称
    在这里插入图片描述

    f)创建如下表所示的course_class表(教师授课表)。
    列名 类型 是否允许为空 字段说明
    tno char(4) not null 教师编号
    clno char(8) not null 班级编号
    cno char(6) not null 课程编号
    在这里插入图片描述

    (3)利用SQL语句修改表的结构
    a)修改student表中clno属性的数据类型为varchar(8),并且不允许为空
    在这里插入图片描述

    b)将student表中的phone属性名修改为tel,类型不变
    在这里插入图片描述

    c)为student表增加point属性(入学成绩),数据类型为smallint,允许为空,并将属性至于tel属性之后,credit属性之前
    在这里插入图片描述

    d)为student表增加email属性,数据类型为varchar(30),允许为空,并将属性至于picture属性之后,remark属性之前
    在这里插入图片描述

    e)为score表增加usual属性(平时成绩),数据类型为decimal(4,1),允许为空
    在这里插入图片描述

    f)删除student表中的pwd属性
    在这里插入图片描述

    (4)利用MYSQL的数据导入/导出功能将jwgl数据库中的相应表中数据导入到自己创建的数据表中
    在这里插入图片描述
    在这里插入图片描述

    (5)向student表中插入如下两条学生记录,其中第二条记录,根据个人信息填写:
    学号 0922221326 你本人学号的后十位
    姓名 李杰 你本人姓名
    性别 男 你本人性别
    出生日期 1988-2-3 你本人出生日期
    班级编号 19020301 19020301
    入学成绩 754 本人入学成绩
    电话 13456734522 你本人电话
    电子信箱 Lijie@sina.com 你本人邮箱
    在这里插入图片描述

    (6)向score表中插入一条记录,学生学号为:0922221326,课程编号为:010003,其余属性取空值

    在这里插入图片描述

    4、实验中遇到的问题及解决方法
    a)问题一:导入数据库数据时出现错误,错误提示:ERROR 1273 (HY000): Unknown collation: ‘utf8mb4_0900_ai_ci’
    解决方法:百度搜索后发现是版本问题
    根据百度方法进行设置后成功导入
    • 把文件中的所有的utf8mb4_0900_ai_ci替换为utf8_general_ci
    • 以及utf8mb4替换为utf8
    b)问题二:数据库导入后出现中文乱码
    解决方法:百度后是编码格式问题
    在my.ini文件中找到[client]和[mysqld]字段,在下面均加上default-character-set=utf8,保存并关闭
    c)问题三:不知道为什么student中首行sno出现主键冲突
    解决方法:找了好多方法后,使用ignore忽略错误成功插入数据

    5、实验感想与总结
    在MySQL数据库实训的过程中,我也遇到的一些小问题,例如,知识点记得不够牢固,我会翻看课本教材,去寻找答案;又或者是在百度上寻找相应的博客学习、参考;和同学讨论也是解决问题的方法之一。最后,不断加深我对于MySQL数据库这门课程的理解,更加深入的了解这门课程,在以后对于学习计算机编程所具有的重要意义,MySQL数据库的应用范围非常广泛,学好这门课程就显得尤为重要。
    总而言之,这次的MySQL数据库实训课让我受益匪浅,让我懂得了自主学习,和向他人学习的好处,加深了我对于MySQL数据库的应用,能够更加熟练的掌握MySQL数据库的基本语法和使用方法。感谢老师对本次实训的悉心指导,这些便是我对于本次实训的所有心得。

    展开全文
  • 通过上机实践,配合课堂教学内容加深对数据库的基本概念和基本技术的理解,掌握数据库系统设计的基本思想和基本步骤,熟悉关系数据库的标准语言SQL,并对关系数据库系统的一些典型技术有较深入的了解,使学生的动手...
  • 内蒙古商贸职业学院计算机系学生校内实验实训报告20 --20 学年 第 学期系部:课程名称: Mysql专业班级: 信息管理姓名:内蒙古商贸职业学院计算机系制填写说明1、实验项目名称:要用最简练的语言反映实验的内容,要...
  • 三、实验环境 硬件:PC机 软件:Windows操作系统、 MySQL Server 6.0 和Navicat for MySQL 9.0 四、算法描述及实验步骤 1、基本操作实验 (1)运行“Navicat”,双击“student”表,将学生的信息输入对应位置(如 ...
  • MYSQL——主从复制的原理及实验步骤 文章目录MYSQL——主从复制的原理及实验步骤一、什么是mysql的主从复制?二、mysql主从复制的原理1.主从复制原理图2.主从复制原理描述三、mysql主从复制项目的步骤1.项目环境...
  • 实验报告三实验目的:内容和主要步骤:遇到的问题及体会: 实验目的: 1.熟练掌握各种连接查询及其连接条件。 2.掌握各种嵌套查询的使用。 3.掌握复杂的集合查询。 内容和主要步骤: 第2题: 1> select student...
  • MySQL-Group-Replication 是mysql-5.7.17版本开发出来的新特性;它在master-slave 之间实现了强一致性, 但是就目前来说主要是性能不太好。...【2】实验环境为一台主机上安装3台mysql,它们三个组成一个group-repli
  • v1.0可编辑可修改 v1.0可编辑可修改 PAGE PAGE # MySQL安装创建和维护数据库实验实验目的 1 掌握在 Windows平台下安装与配置 MySQL的方法 2 掌握启动服务并登录 MySQL数据库的方法和步骤 3 了解手工配置 MySQL的...
  • 本次安装两个mysql数据库,版本分别是4.0.18,5.5.36。都是可执行文件直接安装。本机上之前已经安装完5.5.36版本,单个数据库问题不大,一步一步下去便安装完毕。另一个版本也直接点击下一步一直安装,要注意的地方...
  • MySQL数据库应用必做的总共四个实验训练,均有最新的实验步骤截图: 1-实验训练1:在MySQL中创建数据库和表.docx 2-实验训练2:数据查询操作.docx 3-实验训练3:数据增删改操作.docx 4-实验训练4:数据库系统维护....
  • java操作mysql数据库的基本使用 第一步: 通过反射加载驱动: Class.forName("com.mysql.cj.jdbc.Driver"); 这时需要处理ClassNotFoundException 加载mysql数据库驱动:(向下兼容) mysql5:...
  • 数据库原理实验报告(Mysql).doc实验项目列表序号实验项目名称指导教师1实验一 数据库的定义实验(验证性)2实验二 数据库的建立和维护实验(验证性)3实验三 数据库的查询实验(验证性)4实验四 数据库的视图操作实验(验证...
  • 三、实验内容和步骤 1、创建视图: (1)创建qyh数据库上的视图student_view,视图包含学号、姓名、系; (2)创建qyh数据库上的视图sc_view,视图包含sc表的全部列。 2、查询视图: (1)从视图sc_view中查看选修...
  • 数据库MySql实验学习总结(一)

    万次阅读 多人点赞 2019-01-08 19:46:46
    近期课上利用MySql进行数据库实验和课设,遇到了一些问题,也收获了很多,对此进行总结。 实验一 安装与创建模式(数据库)  一、实验目的  理解和掌握数据库DDL语言,能够熟练地使用SQL语句创建、修改和删除...
  • 有截图、很详细的步骤讲解、操作,用于国家开发大学形考考试作业用。...实验训练1:在MySQL中创建数据库和表.docx 实验训练2:数据查询操作.doc 实验训练3:数据增删改操作.docx 实验训练4:数据库系统维护.docx
  • 实验报告二实验目的实验内容和主要步骤实验中遇到的问题和心得体会 实验目的 实验内容和主要步骤实验中遇到的问题和心得体会
  • MySQL数据库 实验报告(三)

    千次阅读 2022-04-21 18:50:51
    实验报告(三) ...3、实验内容及步骤 (1)查询上过“大学英语”且期末成绩在80到90分之间的学生学号、姓名和学分 select cno from course where cname=’大学英语’; select A.sno,B.sname,B.credit ->
  • MySQL数据库技术》实验报告模板MySQL数据库技术实验报告系 别班 级学 号姓 名地点 地点机房课程名称MySQL数据库技术实验名称实验1 MySQL的使用实 验 过 程目的要求:(1)掌握MySQL服务器安装方法(2)掌握MySQL ...
  • 三、实验内容和步骤 用SQL命令,建立学生-课程数据库基本表 : 学生Student(学号Sno,姓名Sname,年龄Sage,性别Ssex,所在系Sdept); 课程Course(课程号Cno,课程名Cname,先行课Cpno,学分Ccredit); 选课SC...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 28,027
精华内容 11,210
关键字:

mysql实验步骤

mysql 订阅