动手实战-MySQL数据库快速部署实践

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 在ECS上快速安装mysql,体验数据库基本操作及数据的导入导出。

一 创建体验资源

本次体验创建并使用了如下资源

ECS服务器

ECS公网地址:

101.132.193.208

ECS登录名:

root

登录密码:

Vg6Et8Wr5A

ECS实例ID:

i-uf66g3m67qx1v27adv3p

IP白名单:

121.43.229.190,120.55.43.55,114.55.110.50,47.98.219.184,47.96.60.0/24,118.31.243.0/24,121.43.224.157,47.99.67.70,112.224.21.220

地域:

华东 2 (上海)

二 MYSQL的安装配置及使用

1 更新yam源

[root@iZuf66g3m67qx1v27adv3pZ ~]# rpm -Uvh  http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

   Retrieving http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

   warning: /var/tmp/rpm-tmp.gskoxE: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY

   Preparing...                          ################################# [100%]

   Updating / installing...

      1:mysql57-community-release-el7-9  ################################# [100%]

2 安装mysql

[root@iZuf66g3m67qx1v27adv3pZ ~]# yum -y install mysql-community-server --nogpgcheck

  Downloading packages:

  Delta RPMs disabled because /usr/bin/applydeltarpm not installed.

  (1/7): libaio-0.3.109-13.el7.x86_64.rpm                                                      |  24 kB  00:00:00

  (2/7): mysql-community-common-5.7.37-1.el7.x86_64.rpm                                        | 311 kB  00:00:01

  (3/7): mysql-community-libs-5.7.37-1.el7.x86_64.rpm                                          | 2.4 MB  00:00:01

  (4/7): mysql-community-libs-compat-5.7.37-1.el7.x86_64.rpm                                   | 1.2 MB  00:00:00

  (5/7): postfix-2.10.1-9.el7.x86_64.rpm                                                       | 2.4 MB  00:00:00

  (6/7): mysql-community-client-5.7.37-1.el7.x86_64.rpm                                        |  25 MB  00:00:06

  (7/7): mysql-community-server-5.7.37-1.el7.x86_64.rpm                                        | 174 MB  00:00:44

  --------------------------------------------------------------------------------------------------------------------

                                                                   9/9

  Installed:

    mysql-community-libs.x86_64 0:5.7.37-1.el7             mysql-community-libs-compat.x86_64 0:5.7.37-1.el7

    mysql-community-server.x86_64 0:5.7.37-1.el7

  Dependency Installed:

    libaio.x86_64 0:0.3.109-13.el7                           mysql-community-client.x86_64 0:5.7.37-1.el7

    mysql-community-common.x86_64 0:5.7.37-1.el7

  Dependency Updated:

    postfix.x86_64 2:2.10.1-9.el7

  Replaced:

    mariadb-libs.x86_64 1:5.5.64-1.el7

  Complete!

3 查看mysql版本

[root@iZuf66g3m67qx1v27adv3pZ ~]# mysql -V

  mysql  Ver 14.14 Distrib 5.7.37, for Linux (x86_64) using  EditLine wrapper

4 启动mysql数据库,命令执行成功,没有任何报错。

[root@iZuf66g3m67qx1v27adv3pZ ~]# systemctl start mysqld

5 设置MySQL数据库开机自动启动,命令执行成功,没有任何报错

[root@iZuf66g3m67qx1v27adv3pZ ~]# systemctl enable mysqld

6 配置root密码

6.1 获取mysql数据库root用户初始密码

[root@iZuf66g3m67qx1v27adv3pZ ~]# grep 'temporary password' /var/log/mysqld.log

 2022-02-16T02:25:55.057985Z 1 [Note] A temporary password is generated for root@localhost: U&Q2tNk85ot>

6.2 使用初始密码登陆到mysql

[root@iZuf66g3m67qx1v27adv3pZ ~]# mysql -uroot -p

   Enter password:

   Welcome to the MySQL monitor.  Commands end with ; or \g.

   Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> set global validate_password_policy=0; 更改密码安全策略为低,只校验密码长度(最小8位)

   Query OK, 0 rows affected (0.00 sec

6.3 更改root用户密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';

   Query OK, 0 rows affected (0.00 sec)

6.4 授予root用户远程管理权限

 sql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '12345678';

Query OK, 0 rows affected, 1 warning (0.00 sec)

6.5 退出数据库

mysql> exit

 Bye

7 使用更改后的root密码登陆数据库

[root@iZuf66g3m67qx1v27adv3pZ ~]# mysql -uroot -p12345678

8 创建test数据库

mysql> create database test;

Query OK, 1 row affected (0.00 sec)

9  显示mysql中现有数据库

mysql> show databases;

   +--------------------+

   | Database           |

   +--------------------+

   | information_schema |

   | mysql              |

   | performance_schema |

   | sys                |

   | test               |

   +--------------------+

5 rows in set (0.00 sec)

10  切换到MySQL库

mysql> use mysql;

   Reading table information for completion of table and column names

   You can turn off this feature to get a quicker startup with -A

   Database changed

显示mysql库中的表

10 mysql> show tables;

   +---------------------------+

   | Tables_in_mysql           |

   +---------------------------+

   | columns_priv              |

   | db                        |

   | engine_cost               |

   | event                     |

   | func                      |

   | general_log               |

   | gtid_executed             |

   | help_category             |

   | help_keyword              |

   | help_relation             |

   | help_topic                |

   | innodb_index_stats        |

   | innodb_table_stats        |

   | ndb_binlog_index          |

   | plugin                    |

   | proc                      |

   | procs_priv                |

   | proxies_priv              |

   | server_cost               |

   | servers                   |

   | slave_master_info         |

   | slave_relay_log_info      |

   | slave_worker_info         |

   | slow_log                  |

   | tables_priv               |

   | time_zone                 |

   | time_zone_leap_second     |

   | time_zone_name            |

   | time_zone_transition      |

   | time_zone_transition_type |

   | user                      |

   +---------------------------+

   31 rows in set (0.00 sec)

11 创建测试表及数据

11.1 创建emp表

mysql> create table emp(

   ->     empno           int unsigned auto_increment primary key COMMENT '雇员编号',

   ->     ename           varchar(15) COMMENT '雇员姓名',

   ->     job             varchar(10) COMMENT '雇员职位',

   ->     mgr             int unsigned COMMENT '雇员对应的领导的编号',

   ->     hiredate        date COMMENT '雇员的雇佣日期',

   ->     sal             decimal(7,2) COMMENT '雇员的基本工资',

   ->     comm            decimal(7,2) COMMENT '奖金',

   ->     deptno          int unsigned COMMENT '所在部门'

   -> )ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='雇员表';

   Query OK, 0 rows affected (0.02 sec)

11.2 向emp表中插入数据

   mysql> INSERT INTO emp VALUES    (7369,'SMITH','CLERK',7902,'1980-12-17',800,NULL,20);

   Query OK, 1 row affected (0.01 sec)

   mysql> INSERT INTO emp VALUES    (7499,'ALLEN','SALESMAN',7698,'1981-2-20',1600,300,30);

   Query OK, 1 row affected (0.00 sec)

   mysql> INSERT INTO emp VALUES    (7521,'WARD','SALESMAN',7698,'1981-2-22',1250,500,30);

   Query OK, 1 row affected (0.01 sec)

   mysql> INSERT INTO emp VALUES    (7566,'JONES','MANAGER',7839,'1981-4-2',2975,NULL,20);

   Query OK, 1 row affected (0.00 sec)

   mysql> INSERT INTO emp VALUES    (7654,'MARTIN','SALESMAN',7698,'1981-9-28',1250,1400,30);

   Query OK, 1 row affected (0.00 sec)

   mysql> INSERT INTO emp VALUES    (7698,'BLAKE','MANAGER',7839,'1981-5-1',2850,NULL,30);

   Query OK, 1 row affected (0.00 sec)

   mysql> INSERT INTO emp VALUES    (7782,'CLARK','MANAGER',7839,'1981-6-9',2450,NULL,10);

   Query OK, 1 row affected (0.00 sec)

   mysql> INSERT INTO emp VALUES    (7788,'SCOTT','ANALYST',7566,'87-7-13',3000,NULL,20);

   Query OK, 1 row affected (0.01 sec)

   mysql> INSERT INTO emp VALUES    (7839,'KING','PRESIDENT',NULL,'1981-11-17',5000,NULL,10);

   Query OK, 1 row affected (0.00 sec)

   mysql> INSERT INTO emp VALUES    (7844,'TURNER','SALESMAN',7698,'1981-9-8',1500,0,30);

   Query OK, 1 row affected (0.00 sec)

   mysql> INSERT INTO emp VALUES    (7876,'ADAMS','CLERK',7788,'87-7-13',1100,NULL,20);

   Query OK, 1 row affected (0.01 sec)

   mysql> INSERT INTO emp VALUES    (7900,'JAMES','CLERK',7698,'1981-12-3',950,NULL,30);

   Query OK, 1 row affected (0.01 sec)

   mysql> INSERT INTO emp VALUES    (7902,'FORD','ANALYST',7566,'1981-12-3',3000,NULL,20);

   Query OK, 1 row affected (0.00 sec)

   mysql> INSERT INTO emp VALUES    (7934,'MILLER','CLERK',7782,'1982-1-23',1300,NULL,10);

   Query OK, 1 row affected (0.01 sec)

11.3   退出mysql

mysql> exit

   Bye

12 导出导入数据

12.1 使用mysqldump导出test数据,需输入root密码

[root@iZuf66g3m67qx1v27adv3pZ ~]# mysqldump -uroot -p test >test.sql

   Enter password:

  检查导出的sql文件

[root@iZuf66g3m67qx1v27adv3pZ ~]# cat test.sql

       DROP TABLE IF EXISTS `emp`;

       CREATE TABLE `emp` (

         `empno` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '雇员编号',

         `ename` varchar(15) DEFAULT NULL COMMENT '雇员姓名',

         `job` varchar(10) DEFAULT NULL COMMENT '雇员职位',

         `mgr` int(10) unsigned DEFAULT NULL COMMENT '雇员对应的领导的编号',

         `hiredate` date DEFAULT NULL COMMENT '雇员的雇佣日期',

         `sal` decimal(7,2) DEFAULT NULL COMMENT '雇员的基本工资',

         `comm` decimal(7,2) DEFAULT NULL COMMENT '奖金',

         `deptno` int(10) unsigned DEFAULT NULL COMMENT '所在部门',

         PRIMARY KEY (`empno`)

       ) ENGINE=InnoDB AUTO_INCREMENT=7935 DEFAULT CHARSET=utf8 COMMENT='雇员表';

       LOCK TABLES `emp` WRITE;

       INSERT INTO `emp` VALUES (7369,'SMITH','CLERK',7902,'1980-12-17',800.00,NULL,20),(7499,'ALLEN','SALESMAN',7698,'1981-02-20',1600.00,300.00,30),(7521,'WARD','SALESMAN',7698,'1981-02-22',1250.00,500.00,30),(7566,'JONES','MANAGER',7839,'1981-04-02',2975.00,NULL,20),(7654,'MARTIN','SALESMAN',7698,'1981-09-28',1250.00,1400.00,30),(7698,'BLAKE','MANAGER',7839,'1981-05-01',2850.00,NULL,30),(7782,'CLARK','MANAGER',7839,'1981-06-09',2450.00,NULL,10),(7788,'SCOTT','ANALYST',7566,'1987-07-13',3000.00,NULL,20),(7839,'KING','PRESIDENT',NULL,'1981-11-17',5000.00,NULL,10),(7844,'TURNER','SALESMAN',7698,'1981-09-08',1500.00,0.00,30),(7876,'ADAMS','CLERK',7788,'1987-07-13',1100.00,NULL,20),(7900,'JAMES','CLERK',7698,'1981-12-03',950.00,NULL,30),(7902,'FORD','ANALYST',7566,'1981-12-03',3000.00,NULL,20),(7934,'MILLER','CLERK',7782,'1982-01-23',1300.00,NULL,10);

       UNLOCK TABLES;

12.3 登陆数据库,drop掉测试表

mysql> use test;

mysql> show tables;

   +----------------+

   | Tables_in_test |

   +----------------+

   | emp            |

   +----------------+

   1 row in set (0.00 sec)

mysql> drop table emp;

   Query OK, 0 rows affected (0.01 sec)

mysql> show tables;

Empty set (0.00 sec)

sql> exit

Bye

12.4 导入数据

[root@iZuf66g3m67qx1v27adv3pZ ~]# mysql -uroot -p -Dtest<test.sql

Enter password:

12.5 检查导入的数据

[root@iZuf66g3m67qx1v27adv3pZ ~]# mysql -uroot -p12345678

mysql> use test;

mysql> show tables;

+----------------+

| Tables_in_test |

+----------------+

| emp            |

+----------------+

1 row in set (0.00 sec)

mysql> select * from emp;

+-------+--------+-----------+------+------------+---------+---------+--------+

| empno | ename  | job       | mgr  | hiredate   | sal     | comm    | deptno |

+-------+--------+-----------+------+------------+---------+---------+--------+

|  7369 | SMITH  | CLERK     | 7902 | 1980-12-17 |  800.00 |    NULL |     20 |

|  7499 | ALLEN  | SALESMAN  | 7698 | 1981-02-20 | 1600.00 |  300.00 |     30 |

|  7521 | WARD   | SALESMAN  | 7698 | 1981-02-22 | 1250.00 |  500.00 |     30 |

|  7566 | JONES  | MANAGER   | 7839 | 1981-04-02 | 2975.00 |    NULL |     20 |

|  7654 | MARTIN | SALESMAN  | 7698 | 1981-09-28 | 1250.00 | 1400.00 |     30 |

|  7698 | BLAKE  | MANAGER   | 7839 | 1981-05-01 | 2850.00 |    NULL |     30 |

|  7782 | CLARK  | MANAGER   | 7839 | 1981-06-09 | 2450.00 |    NULL |     10 |

|  7788 | SCOTT  | ANALYST   | 7566 | 1987-07-13 | 3000.00 |    NULL |     20 |

|  7839 | KING   | PRESIDENT | NULL | 1981-11-17 | 5000.00 |    NULL |     10 |

|  7844 | TURNER | SALESMAN  | 7698 | 1981-09-08 | 1500.00 |    0.00 |     30 |

|  7876 | ADAMS  | CLERK     | 7788 | 1987-07-13 | 1100.00 |    NULL |     20 |

|  7900 | JAMES  | CLERK     | 7698 | 1981-12-03 |  950.00 |    NULL |     30 |

|  7902 | FORD   | ANALYST   | 7566 | 1981-12-03 | 3000.00 |    NULL |     20 |

|  7934 | MILLER | CLERK     | 7782 | 1982-01-23 | 1300.00 |    NULL |     10 |

+-------+--------+-----------+------+------------+---------+---------+--------+

14 rows in set (0.00 sec)

12.6 drop掉测试表后,用另一种方式导入

mysql> drop table emp;

Query OK, 0 rows affected (0.01 sec)

mysql> show tables;

Empty set (0.00 sec)

mysql> source test.sql

 Query OK, 14 rows affected (0.00 sec)

 Records: 14  Duplicates: 0  Warnings: 0

mysql> show tables;

 +----------------+

 | Tables_in_test |

 +----------------+

 | emp            |

 +----------------+

 1 row in set (0.00 sec)

mysql> select * from emp;

 +-------+--------+-----------+------+------------+---------+---------+--------+

 | empno | ename  | job       | mgr  | hiredate   | sal     | comm    | deptno |

 +-------+--------+-----------+------+------------+---------+---------+--------+

 |  7369 | SMITH  | CLERK     | 7902 | 1980-12-17 |  800.00 |    NULL |     20 |

 |  7499 | ALLEN  | SALESMAN  | 7698 | 1981-02-20 | 1600.00 |  300.00 |     30 |

 |  7521 | WARD   | SALESMAN  | 7698 | 1981-02-22 | 1250.00 |  500.00 |     30 |

 |  7566 | JONES  | MANAGER   | 7839 | 1981-04-02 | 2975.00 |    NULL |     20 |

 |  7654 | MARTIN | SALESMAN  | 7698 | 1981-09-28 | 1250.00 | 1400.00 |     30 |

 |  7698 | BLAKE  | MANAGER   | 7839 | 1981-05-01 | 2850.00 |    NULL |     30 |

 |  7782 | CLARK  | MANAGER   | 7839 | 1981-06-09 | 2450.00 |    NULL |     10 |

 |  7788 | SCOTT  | ANALYST   | 7566 | 1987-07-13 | 3000.00 |    NULL |     20 |

 |  7839 | KING   | PRESIDENT | NULL | 1981-11-17 | 5000.00 |    NULL |     10 |

 |  7844 | TURNER | SALESMAN  | 7698 | 1981-09-08 | 1500.00 |    0.00 |     30 |

 |  7876 | ADAMS  | CLERK     | 7788 | 1987-07-13 | 1100.00 |    NULL |     20 |

 |  7900 | JAMES  | CLERK     | 7698 | 1981-12-03 |  950.00 |    NULL |     30 |

 |  7902 | FORD   | ANALYST   | 7566 | 1981-12-03 | 3000.00 |    NULL |     20 |

 |  7934 | MILLER | CLERK     | 7782 | 1982-01-23 | 1300.00 |    NULL |     10 |

 +-------+--------+-----------+------+------------+---------+---------+--------+

 14 rows in set (0.00 sec)

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
缓存 关系型数据库 MySQL
MySQL索引策略与查询性能调优实战
在实际应用中,需要根据具体的业务需求和查询模式,综合运用索引策略和查询性能调优方法,不断地测试和优化,以提高MySQL数据库的查询性能。
244 66
|
7天前
|
关系型数据库 OLAP API
非“典型”向量数据库AnalyticDB PostgreSQL及RAG服务实践
本文介绍了非“典型”向量数据库AnalyticDB PostgreSQL及其RAG(检索增强生成)服务的实践应用。 AnalyticDB PostgreSQL不仅具备强大的数据分析能力,还支持向量查询、全文检索和结构化查询的融合,帮助企业高效构建和管理知识库。
46 19
|
1天前
|
缓存 NoSQL JavaScript
Vue.js应用结合Redis数据库:实践与优化
将Vue.js应用与Redis结合,可以实现高效的数据管理和快速响应的用户体验。通过合理的实践步骤和优化策略,可以充分发挥两者的优势,提高应用的性能和可靠性。希望本文能为您在实际开发中提供有价值的参考。
21 11
|
11天前
|
SQL 关系型数据库 MySQL
docker-compose部署mysql8
使用docker-compose容器化部署mysql8
|
1月前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
148 26
|
1月前
|
弹性计算 安全 关系型数据库
活动实践 | 自建数据库迁移到云数据库
通过阿里云RDS,用户可获得稳定、安全的企业级数据库服务,无需担心数据库管理与维护。该方案使用RDS确保数据库的可靠性、可用性和安全性,结合ECS和DTS服务,实现自建数据库平滑迁移到云端,支持WordPress等应用的快速部署与运行。通过一键部署模板,用户能迅速搭建ECS和RDS实例,完成数据迁移及应用上线,显著提升业务灵活性和效率。
|
1月前
|
缓存 关系型数据库 MySQL
MySQL 索引优化与慢查询优化:原理与实践
通过本文的介绍,希望您能够深入理解MySQL索引优化与慢查询优化的原理和实践方法,并在实际项目中灵活运用这些技术,提升数据库的整体性能。
102 5
|
1月前
|
SQL 弹性计算 安全
在云上轻松部署达梦数据库
达梦数据库(DM Database)是达梦数据库有限公司开发的关系型数据库管理系统,广泛应用于政府、金融、能源等行业。它具备高性能、高安全、兼容性强、易管理等特点,支持多种操作系统,适用于关键业务系统、政务系统及大数据处理等场景。在阿里云上,可通过一键部署快速使用达梦数据库DM8。
|
20天前
|
运维 监控 Cloud Native
云原生之运维监控实践:使用 taosKeeper 与 TDinsight 实现对 时序数据库TDengine 服务的监测告警
在数字化转型的过程中,监控与告警功能的优化对保障系统的稳定运行至关重要。本篇文章是“2024,我想和 TDengine 谈谈”征文活动的三等奖作品之一,详细介绍了如何利用 TDengine、taosKeeper 和 TDinsight 实现对 TDengine 服务的状态监控与告警功能。作者通过容器化安装 TDengine 和 Grafana,演示了如何配置 Grafana 数据源、导入 TDinsight 仪表板、以及如何设置告警规则和通知策略。欢迎大家阅读。
47 0
|
1月前
|
存储 关系型数据库 MySQL
PHP与MySQL动态网站开发:从基础到实践####
本文将深入探讨PHP与MySQL的结合使用,展示如何构建一个动态网站。通过一系列实例和代码片段,我们将逐步了解数据库连接、数据操作、用户输入处理及安全防护等关键技术点。无论您是初学者还是有经验的开发者,都能从中获益匪浅。 ####