• 菜鸟的《Linux程序设计》学习——MySQL数据库安装、配置及基本操作


    1. MySQL数据库:

    在涉及到一些大型的Web系统或者嵌入式软件的开发时,都少不了用数据库来管理数据。在Windows操作系统下,使用过各种各样的数据库,如:sqlServer、Oracle、MySQL等等,我们知道,在Windows系统上的软件安装配置都是界面式,操作明显而简捷。
    那么在Linux操作系统上,对于数据库的选用,好像首推的是MySQL,它是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。
    今天,阅读了《Linux程序设计》的MySQL这一章节,根据自己在虚拟机中安装配置的步骤,记录于此,供于以后的学习回顾。

    2. MySQL安装步骤:

    2.1 查看自己系统中是否已经存在

    因为mysql数据库在Linux上实在是太流行了,所以目前下载的主流Linux系统版本基本上都集成了mysql数据库在里面,我们可以通过如下命令来查看我们的操作系统上是否已经安装了mysql数据库:
    [root@localhost ~]# rpm -qa | grep mysql

    我们使用root账户登录系统,由于我的系统上已经安装MySQL ,所以得到系统中已安装版本信息:

    若是未安装过,则会出现没有安装的提示,此时即可跳过步骤2的卸载。

    2.2 卸载原有的MySQL

    使用下面命令,卸载现有MySQL:
    [root@localhost ~]# rpm -e --nodeps mysql
    
    此时,系统中已经不存在了MySQL的安装记录。

    2.3 yum方式安装MySQL

    通过yum的方式来进行mysql的数据库安装,首先我们可以输入 yum list | grep mysql 命令来查看yum上提供的mysql数据库可下载的版本:

    [root@localhost ~]#yum list | grep mysql

    我们可以看到yum服务器上有很多MySQL的可下载版本:


    然后,我们通过输入 yum install -y mysql-server mysql mysql-devel 命令将mysql mysql-server mysql-devel都安装
    [root@localhost ~]# yum install -y mysql-server mysql mysql-devel
    

    几秒钟时间过后,我们可以看到下面的信息:


    当我们看到complete这个赏心悦目的单词时,说明我们已经成功的安装了MySQL数据库。

    3. MySQL数据库配置

    3.1 MySQL服务设置

    在安装完mysql数据库以后,会发现会多出一个mysqld的服务,这个就是咱们的数据库服务,我们通过输入 service mysqld start 命令就可以启动我们的mysql服务。

    一般我们将该数据库的服务设置为开机自启动,使用命令chkconfig mysqld on来设置,同时使用命令chkconfig --list | grep mysql来查看结果:
    [root@localhost ~]# chkconfig mysqld on
    [root@localhost ~]# chkconfig --list | grep mysql
    mysqld         	0:off	1:off	2:on	3:on	4:on	5:on	6:of

    3.2 账户密码设置

    在我们安装完MySQL数据库后,就默认有一个名称为root的管理员账户,此时,需要手动设置密码:
    使用命令mysqladmin -u root password 'root' 
    设定密码之后,我们可以通过命令mysql -u root -p来登录数据库:

    至此,对于MySQL数据库配置,就可以结束了。

    4. MySQL基本操作

    4.1 基本配置文件

    (1)在/etc/my.cnf内存储了MySQL数据库的主要配置信息,查看:
    [root@localhost ~]# cat /etc/my.cnf
    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    user=mysql
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    
    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    [root@localhost ~]# 
    

    (2)在/var/lib/mysql内存储了数据库文件,查看:
    [root@localhost mysql]# cd /var/lib/mysql
    [root@localhost mysql]# ls -l
    total 20500
    -rw-r--r--. 1 root  root     10717 May 13 10:34 create
    -rw-rw----. 1 mysql mysql 10485760 May 13 10:27 ibdata1
    -rw-rw----. 1 mysql mysql  5242880 May 13 10:27 ib_logfile0
    -rw-rw----. 1 mysql mysql  5242880 May 13 10:27 ib_logfile1
    drwx------. 2 mysql mysql     4096 May 13 10:27 mysql
    srwxrwxrwx. 1 mysql mysql        0 May 13 10:27 mysql.sock
    drwx------. 2 mysql mysql     4096 May 13 10:27 test
    [root@localhost mysql]# 
    

    4.2 数据库基本操作

    (1)创建一个数据库
    由上面的默认文件可以看出,我们的MySQL数据库中有两个默认database,一个是mysql,另一个是test。
    我们创建一个自己的数据库,命令如下:
    [root@localhost mysql]# mysql -u root -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 21
    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> create database yr;
    Query OK, 1 row affected (0.00 sec)
    
    mysql> exit
    Bye
    [root@localhost mysql]# 
    首先,我们用root账户登录数据库,可以看到mysql> 命令提示符号,执行创建数据库命令create database name; 得到创建成功消息,退出数据库使用命令exit。
    现在,我们可以在/var/lib.mysql下面看到已经创建的数据库yr:
    [root@localhost mysql]# ls -l
    total 20504
    -rw-r--r--. 1 root  root     10717 May 13 10:34 create
    -rw-rw----. 1 mysql mysql 10485760 May 13 10:27 ibdata1
    -rw-rw----. 1 mysql mysql  5242880 May 13 10:27 ib_logfile0
    -rw-rw----. 1 mysql mysql  5242880 May 13 10:27 ib_logfile1
    drwx------. 2 mysql mysql     4096 May 13 10:27 mysql
    srwxrwxrwx. 1 mysql mysql        0 May 13 10:27 mysql.sock
    drwx------. 2 mysql mysql     4096 May 13 10:27 test
    drwx------. 2 mysql mysql     4096 May 13 14:41 yr
    [root@localhost mysql]# 
    
    (2)建表并添加数据
    下面,再次登录MySQL我们在上面创建的数据库中建表,并添加几条数据:
    [root@localhost mysql]# mysql -u root -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 23
    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> use yr;
    Database changed
    mysql> create table user(
        -> Id INTEGER AUTO_INCREMENT NOT NULL PRIMARY KEY,
        -> Name VARCHAR(50),
        -> age INTEGER);
    Query OK, 0 rows affected (0.07 sec)
    
    mysql> 

    至此,yr数据库中便创建成功一个user表,有Id 、 Name 、age三个属性,其中Id为主键。
    添加并查询数据:
    mysql> insert into user(Id , Name , age)values(1,"aa",20);
    Query OK, 1 row affected (0.10 sec)
    
    mysql> insert into user(Id , Name , age)values(2,"bb",21);
    Query OK, 1 row affected (0.00 sec)
    mysql> select Id , Name , age from user;
    +----+------+------+
    | Id | Name | age  |
    +----+------+------+
    |  1 | aa   |   20 |
    |  2 | bb   |   21 |
    +----+------+------+
    
    (3)从数据库表中删除数据
    下面我们删除一条Id=1的数据:
    mysql> delete from user where Id=1;
    Query OK, 1 row affected (0.05 sec)
    
    mysql> select Id , Name , age from user;
    +----+------+------+
    | Id | Name | age  |
    +----+------+------+
    |  2 | bb   |   21 |
    +----+------+------+
    1 row in set (0.00 sec)
    
    mysql> 

    (4)删除数据库表和数据库
    删除数据库表和数据库使用drop命令:
    mysql> drop table user;
    Query OK, 0 rows affected (0.02 sec)
    
    mysql> drop database yr;
    Query OK, 0 rows affected (0.28 sec)
    
    mysql> exit
    Bye
    [root@localhost mysql]# ll
    total 20500
    -rw-r--r--. 1 root  root     10717 May 13 10:34 create
    -rw-rw----. 1 mysql mysql 10485760 May 13 10:27 ibdata1
    -rw-rw----. 1 mysql mysql  5242880 May 13 10:27 ib_logfile0
    -rw-rw----. 1 mysql mysql  5242880 May 13 10:27 ib_logfile1
    drwx------. 2 mysql mysql     4096 May 13 10:27 mysql
    srwxrwxrwx. 1 mysql mysql        0 May 13 10:27 mysql.sock
    drwx------. 2 mysql mysql     4096 May 13 10:27 test
    [root@localhost mysql]# 

    以上是linux系统有关mysql安装、配置以及使用的全部内容。
  • 相关阅读:
    ubuntu-14.04.2-desktop-amd64.iso:ubuntu-14.04.2-desktop-amd64:安装Oracle11gR2
    ubuntu-15.04-desktop-amd64.iso:ubuntu-15.04-desktop-amd64:安装Oracle11gR2
    Ubuntu 使用文件 casper-rw 镜像文件 保存变更内容
    continue — Skip to the next iteration of a loop in a shell script
    Is there a TRY CATCH command in Bash
    tar 打包压缩
    oracle 重复只保留一条
    sed 删除 51, 54 行 输出到原文件
    ORA-01000: maximum open cursors exceeded
    Oracle 在字符串中输入单引号或特殊字符
  • 原文地址:https://www.cnblogs.com/shine-yr/p/5214956.html
Copyright © 2020-2023  润新知