[CentOS Python系列] 三.阿里云MySQL数据库开启配置及SQL语句基础知识

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 本篇文章讲解阿里云服务器CentOS系统下的MySQL数据库开启及配置过程,同时教大家如何编写Python操作MySQL数据库的基础代码,为后面的存储至服务器打下基础。

随着人工智能和深度学习的风暴来临,Python变得越来越火热,作者也准备从零学习这些知识,写相关文章。本篇文章讲解阿里云服务器CentOS系统下的MySQL数据库开启及配置过程,同时教大家如何编写Python操作MySQL数据库的基础代码,为后面的网络爬虫并存储至服务器打下基础。文章非常基础,希望这系列文章对您有所帮助,如果有错误或不足之处,还请海涵~

系列文章:

一. MySQL数据库开启

1.检查数据库是否安装

  • 命令:rpm -qa | grep mysql

image.png

2.检查MySQL服务是否开启

  • 命令:service mysqld status

image.png

3.开启MySQL服务

  • 命令:service mysqld start

image.png

可以看到 /usr/bin 目录下存在mysqladmin命令。

image.png

image.png

4.使用root用户登录mysql数据

  • 命令:mysqladmin -u root -p password 123456

image.png

但是报如下错,这是连接MySQL数据库最常见的一个错误,怎么解决呢?

mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: NO)'

5.更新root密码登录

命令如下:

--关闭服务
service mysqld stop
 
--安装赋权限
mysqld_safe --skip-grant-tables &
 
--root用户登录
mysql -u root -p 
 
--输入密码
123456
 
--使用数据库
use mysql;
 
--更新密码
update user set password=PASSWORD("123456") where user="root";
 
--更新权限
flush privileges; 
 
--退出
quit
 
--服务器重启
service mysqld restart
 
--root用户登录
mysql -u root -p 
新密码进入

如下图所示:

image.png

然后输入“use mysql;”使用数据库,尝试“show databases;”显示所有数据库。

image.png

接下来就是更新root用户的密码:

image.png

6.重启服务本地连接mysql数据库

  • 命令:service mysqld restart
  • 命令:mysql -u root -p

image.png

image.png


二. MySQL数据库增加新用户

1.使用mysql数据库

  • 命令:use mysql;

image.png

2.显示所有表

  • 命令:show tables;

这里我们使用user表,定义mysql数据库的用户。

image.png

3.查看表结构

  • 命令:describe user;
| Host                  | char(60)                          | NO   | PRI |                            |       |
| User                  | char(16)                          | NO   | PRI |                            |       |
| Password              | char(41)                          | NO   |     |                            |       |

4.添加一个新用户yxz,密码为123456
命令如下:

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> insert into mysql.user(Host,User,Password) value ("localhost","yxz",password("123456"));
Query OK, 1 row affected, 3 warnings (0.00 sec)
 
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
 
mysql> create database Eastmount;
Query OK, 1 row affected (0.00 sec)
 
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| Eastmount          |
| junyun             |
| mysql              |
| test               |
+--------------------+
5 rows in set (0.00 sec)
 
mysql> grant all privileges on Eastmount.* to yxz@localhost identified by "yxz";
Query OK, 0 rows affected (0.00 sec)
 
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
 
mysql>quit;

如下图所示:

image.png

但是同样报错:error: 'Access denied for user 'root'@'localhost' (using password: NO)',需要像前面一样修订密码,代码如下:

[root@iZ2ze9134z8zlqupc9t6mzZ ~]# service mysqld stop
Stopping mysqld:                                           [  OK  ]
[root@iZ2ze9134z8zlqupc9t6mzZ ~]# mysqld_safe --skip-grant-tables &
[1] 24403
[root@iZ2ze9134z8zlqupc9t6mzZ ~]# 180217 13:50:37 mysqld_safe Logging to '/var/log/mysqld.log'.
180217 13:50:37 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
mysql -u yxz -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.73 Source distribution
 
Copyright (c) 2000, 2013, 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> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| Eastmount          |
| junyun             |
| mysql              |
| test               |
+--------------------+
5 rows in set (0.00 sec)
 
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> update user set password=PASSWORD("123456") where user="yxz";
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
 
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
 
mysql> quit;

三. SQL语句

1.root登录并进入Eastmount数据库

命令如下:

[root@iZ2ze9134z8zlqupc9t6mzZ ~]# mysql -u yxz -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.1.73 Source distribution
 
Copyright (c) 2000, 2013, 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> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| Eastmount          |
| test               |
+--------------------+
3 rows in set (0.00 sec)
 
mysql> use Eastmount;
Database changed
mysql> show tables;
Empty set (0.00 sec)
 
mysql>

2.创建表
命令如下:

create table student(
    id int not null primary key,
    name varchar(16) not null,
    pwd varchar(20) not null
);

3.显示表结构

  • 命令:describe student;

image.png

4.插入数据

  • 命令:insert into student(id,name,pwd) values(1,'yxz','111111');

5.查询数据

  • 命令:select * from student;

image.png

6.更新数据

  • 命令:update student set pwd='123456' where name='yxz';

image.png

7.删除数据

  • 命令:delete from student where id='1';

image.png

8.删除表

  • 命令:drop table studentl;

image.png

总之,希望这篇基础文章对您有所帮助,尤其是刚接触云服务器的新手,如果您是高手,还请多提意见,共同提高。很高兴重回阿里云,开心能与大家在这里认识,希望能分享更高质量的文章帮助大家,且行且珍惜。

(By:Eastmount 2021-11-09 夜于武汉)

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
4月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
865 152
|
4月前
|
SQL 存储 关系型数据库
MySQL体系结构详解:一条SQL查询的旅程
本文深入解析MySQL内部架构,从SQL查询的执行流程到性能优化技巧,涵盖连接建立、查询处理、执行阶段及存储引擎工作机制,帮助开发者理解MySQL运行原理并提升数据库性能。
|
4月前
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。
|
4月前
|
SQL 监控 关系型数据库
SQL优化技巧:让MySQL查询快人一步
本文深入解析了MySQL查询优化的核心技巧,涵盖索引设计、查询重写、分页优化、批量操作、数据类型优化及性能监控等方面,帮助开发者显著提升数据库性能,解决慢查询问题,适用于高并发与大数据场景。
|
4月前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
4月前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
485 7
|
4月前
|
SQL 监控 关系型数据库
查寻MySQL或SQL Server的连接数,并配置超时时间和最大连接量
以上步骤提供了直观、实用且易于理解且执行的指导方针来监管和优化数据库服务器配置。务必记得,在做任何重要变更前备份相关配置文件,并确保理解每个参数对系统性能可能产生影响后再做出调节。
460 11
|
4月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
|
4月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
329 102