MySQL安装指导与用法简介

本文主要介绍 MySQL 的相关知识,及其安装方法和常见用法。

1. 简介

MySQL 是一个关系型数据库管理系统(关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性),由瑞典MySQL AB公司开发,目前属于 Oracle 旗下产品。

MySQL 所使用的 SQL 语言是用于访问数据库的、最常用的标准化语言。

2. 安装方法

本文介绍 MySQL 在 CentOS 7 上的安装方法。

利用 MySQL 的 Yum 仓库,我们可以使用 Yum 命令简便地安装/更新 MySQL 。在这里介绍使用 Yum 方式安装 MySQL 的方法。

2.1 下载MySQL仓库

下载、添加 MySQL 的 Yum 仓库,命令如下:

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm

此时,在系统的 Yum 仓库目录下,查看 MySQL 的仓库文件是否已经添加了,如下:


根据查询结果,能够看到 MySQL 的 Yum 仓库已经添加了。

2.2 安装MySQL

使用 Yum 命令安装 MySQL ,如下:

yum install mysql-server -y

2.3 启动MySQL

systemctl start mysqld

默认情况下,MySQL 将会绑定到 localhost (127.0.0.1) 。

2.4 测试MySQL

MySQL 的标准客户端工具会随着 mysql-server 包一起安装,这个 MySQL 客户端需要通过终端连接 MySQL 服务器。如下:

[root@node1 /opt/liitdar/mydemos]# mysql

运行上述命令后,观察 mysql 客户端是否成功连接到了 mysql 服务器,如下:


上述结果说明 MySQL 安装成功了。

3. 常见用法

3.1 远程连接数据库

默认情况下, MySQL 会绑定到 localhost (127.0.0.1) ,即只允许本机连接 MySQL 。

本文将介绍几种允许远程连接数据库的方法。

3.1.1 修改user表

MySQL 数据库中默认会有一个名为“mysql”的数据库,在该数据库中,有一个名为“user”的数据表,该表会控制mysql服务器的外部连接权限(信息),如下:

mysql> select host,user,password from user;
+-----------+------+----------+
| host      | user | password |
+-----------+------+----------+
| node1     | root |          |
| 127.0.0.1 | root |          |
| ::1       | root |          |
| localhost |      |          |
| node1     |      |          |
+-----------+------+----------+
5 rows in set (0.00 sec)

mysql> 

在 user 表中,存在“host”、“user”和“password”字段,这些字段即控制着能够连接到mysql服务器的“主机名”、“用户名”和“密码”。所以,为了能让所有的外部主机访问到这个mysql数据库,需要进行以下操作:

1. 我们更新“user”表的 host 字段的值,如下:

mysql> update user set host = '%' where user = 'root' and host = '127.0.0.1';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> 

说明:我们将host为“127.0.0.1”的记录改为了host = '%'。host 字段的值为“%”、user 字段的值为“root”表示在任何客户端机器上都能以 root 用户身份登录到mysql服务器上。建议在软件开发过程中将 host 的值设为“%”。

2. 执行完上述操作后,查询一下更新后的 user 表,如下:

mysql> select host,user,password from user;
+-----------+------+----------+
| host      | user | password |
+-----------+------+----------+
| node1     | root |          |
| %         | root |          |
| ::1       | root |          |
| localhost |      |          |
| node1     |      |          |
+-----------+------+----------+
5 rows in set (0.00 sec)

mysql> 

在上述查询结果能够看到,更新的内容已经写入到 user 表中了。

3. 此时,我们需要把此设置(更新mysql服务器的访问权限)推送到内存中(或重启mysql服务器),这样外部客户端才能访问mysql服务器。

推送设置到内容中的命令如下:

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> 

4. 完成上述操作后,我们就可以通过外部客户端(如192.168.213.129)访问mysql数据库(192.168.213.128)了,如下:

[root@node2 ~]# mysql -h 192.168.213.128 -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.6.40 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, 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> 

3.2 数据库常见操作

3.2.1 创建数据库

创建一个名称为“testdb”的数据库,命令如下:

mysql> 
mysql> create database testdb;
Query OK, 1 row affected (0.01 sec)的

查询数据库信息,观察数据库“testdb”是否创建成功了,如下:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| testdb             |
+--------------------+
4 rows in set (0.01 sec)

mysql> 

上述查询结果说明:数据库“testdb”已经创建成功了。

3.2.2 创建表

在上面创建的数据库“testdb”中,创建一个名为“customers”的表,命令如下:

mysql> 
mysql> use testdb;
Database changed
mysql> 
mysql> create table customers (customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);
Query OK, 0 rows affected (0.03 sec)

mysql> 

查询数据库“testdb”的表信息,观察表“customers”是否创建成功了,如下:

mysql> show tables;
+------------------+
| Tables_in_testdb |
+------------------+
| customers        |
+------------------+
1 row in set (0.00 sec)

mysql> 

上述查询结果说明:表“customers”已经创建成功了。

3.2.3 插入数据操作

在前面创建的数据库“testdb”中的表“customers”中,进行插入数据操作,如下:

mysql> insert into customers values(1, "liitdar", "me");
Query OK, 1 row affected (0.01 sec)

mysql> 

3.2.4 查询数据操作

查询表“customers”的信息,如下:

mysql> select * from customers;
+-------------+------------+-----------+
| customer_id | first_name | last_name |
+-------------+------------+-----------+
|           1 | liitdar    | me        |
+-------------+------------+-----------+
1 row in set (0.00 sec)

mysql> 

从上述查询结果能够看到,3.1.3节中插入的数据已经在表“customers”中了。

3.2.5 修改(更新)数据操作

更新表“customers”中 first_name 的值为 “liitdar” 的记录,将该记录的 last_name 的值修改为“itsme”,如下:

mysql> update customers set last_name = 'itsme' where first_name = 'liitdar';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> 

查询表“customers”,观察修改操作是否成功:

mysql> select * from customers;
+-------------+------------+-----------+
| customer_id | first_name | last_name |
+-------------+------------+-----------+
|           1 | liitdar    | itsme     |
+-------------+------------+-----------+
1 row in set (0.01 sec)

mysql> 

上述查询结果显示,修改操作已经成功。

3.2.6 删除数据操作

删除表“customers”中 first_name 的值为 “liitdar”,如下:

mysql> delete from customers where first_name = 'liitdar';
Query OK, 1 row affected (0.00 sec)

mysql> 

查询表“customers”,观察删除操作是否成功:

mysql> select * from customers;
Empty set (0.01 sec)

mysql> 

上述查询结果显示,删除操作已经成功。


猜你喜欢

转载自blog.csdn.net/liitdar/article/details/80410910