如何安装和配置MySQL数据库

时间:2019-04-29 03:17:36  来源:igfitidea点击:

在SLES / openSUSE系统上安装和配置MySQL数据库。

什么是MySQL?

MySQL是一个免费的开源数据库,可能是世界上使用最广泛的数据库。MySQL是RDBMS数据库(关系数据库管理系统)。MySQL以其创建者女儿My的名字命名。SQL代表结构化查询语言。MySQL被广泛用作所谓的LAMP安装的一部分。LAMP代表LinuxApacheMySQLPHP。尽管MySQL是免费的,但仍可以从其所有者Oracle购买一些选项。互联网上的许多网站都以某种形式使用MySQL。大多数Linux发行版将在其存储库中附带MySQL,并且可以非常容易地安装。

安装MySQL

使用在openSUSE安装中安装的MySQL来执行以下示例。

首先让我们检查一下是否安装了MySQL:

linux-j2w3:~ # zypper se MySQL

安装mysql社区版服务器

linux-j2w3:~ # zypper in mysql-community-server

启动MySQL

linux-j2w3:~ # systemctl start mysql
linux-j2w3:~ # systemctl status mysql

保护MySQL服务器-设置密码

默认情况下,我们的MySQL安装未设置密码。

linux-j2w3:~ # mysql_secure_installation

在脚本中,

  1. 设置MySQL root密码
  2. 删除匿名用户
  3. 禁止远程进行MySQL root登录
  4. 删除测试数据库
  5. 重新加载权限表

MySQL数据库示例

使用用户root登录到MySQL

linux-j2w3:~ # mysql -u root -p
输入密码:
mysql> 

创建数据库

mysql> create database tuxdb01;
Query OK, 1 row affected (0.00 sec)
mysql> use tuxdb01;
Database changed

创建数据表

mysql> CREATE TABLE distro (
    -> id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
    -> distro_name VARCHAR(100),
    -> pkg_manager VARCHAR(100),
    -> PRIMARY KEY (id)
    -> );
Query OK, 0 rows affected (0.01 sec)

插入数据

mysql> INSERT into distro
    -> (distro_name, pkg_manager)
    -> VALUES
    -> ("Ubuntu", "dbpg");
Query OK, 1 row affected (0.00 sec)

查询表

mysql> SELECT id, distro_name, pkg_manager from distro;
+----+-------------+-------------+
| id | distro_name | pkg_manager |
+----+-------------+-------------+
|  1 | Ubuntu      | dbpg        |
+----+-------------+-------------+
1 row in set (0.00 sec)

更新数据

mysql> UPDATE distro set
    -> pkg_manager = "dpkg"
    -> WHERE id = "1";
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

显示表结构

mysql> describe distro;
+-------------+------------------+------+-----+---------+----------------+
| Field       | Type             | Null | Key | Default | Extra          |
+-------------+------------------+------+-----+---------+----------------+
| id          | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| distro_name | varchar(100)     | YES  |     | NULL    |                |
| pkg_manager | varchar(100)     | YES  |     | NULL    |                |
+-------------+------------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

如何查看数据库中所有的表

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

显示数据库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| john               |
| mysql              |
| test               |
| tuxdb              |
| tuxdb01            |
+--------------------+
6 rows in set (0.00 sec)