简介:

MySQL是一个真正的多线程、多用户的SQL数据库服务,凭借其高性能、高可靠和易于使用的特性,成为服务器领域中最受欢迎的开源数据库系统。在2008年以前,MySQL项目由MySQL AB公司进行开发、发布和支持,之后历经Sun公司收购MySQL AB公司,Oracle公司收购Sun公司的过程,目前MySQL项目由Oracle公司负责运营和维护。

接下来将介绍mysql的编译安装过程、服务控制方法、以及如何使用客户端工具访问MySQL数据库。

一、MySQL的编译安装

为了确保MySQL数据库功能的完整性、可定制性、接下来将采用源码编译安装的方式安装MySQL数据库系统。MySQL5.x系列版本的使用最为广泛,该版本的稳定性、兼容性都不错,这里将选用mysql-5.5.38.tar.gz为例

MySQL官方网址https://www.mysql.com/downloads/


1.准备工作

(1.)为了避免发生端口冲突、程序冲突等现象,建议先查询MySQL软件的安装情况,确认没有使用以rpm方式安装的mysql-server、mysql软件包,否则建议将其卸载。


[root@kang ~]# rpm  -q  mysql-server mysql
package mysql-server is not installed
package mysql is not installed
安装系统盘自带的ncurses-devel、 curl-devel 相关依赖

[root@kang ~]# cd  /media/Packages/
[root@kang Packages]# rpm -ivh  ncurses-devel-5.7-3.20090208.el6.x86_64.rpm --nodeps 

(2.)MySQL5.5需要cmake编译安装,所以先安装cmake包。

[root@kang ~]# tar zxf cmake-2.8.12.tar.gz 
[root@kang ~]# cd cmake-2.8.12/
[root@kang cmake-2.8.12]# ./configure 


[root@kang cmake-2.8.12]# gmake && gmake install



2.源码编译及安装MySQL


(1.)创建运行用户

为了加强数据库服务的权限控制,建议使用专门的运行用户,如mysql。此用户不需要直接登录到系统,可以不创建宿主文件夹

[root@kang ~]# groupadd mysql
[root@kang ~]# useradd -M -s /sbin/nologin mysql -g mysql
(2.)解包

将下载的mysql源码吧包解压,释放到/usr/src/目录下,并切换到展开后的源码目录。

[root@kang ~]# tar zxf mysql-5.5.38.tar.gz  -C  /usr/src/
[root@kang ~]# cd /usr/src/mysql-5.5.38/
(3.)配置

在内容丰富,结构庞大的企业网站平台中,可能会用到多种字符集的网页,相应地数据系统也应该支持不同的字符集编码。在配置过程中,可以将默认使用的字符集设置为utf8,并添加其他字符集的支持。

[root@kang mysql-5.5.38]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DSYSCONFDIR=/etc \
> -DDEFAULT_CHARSET=utf8 \
> -DDEFAULT_COLLATION=utf8_general_ci \
> -DWITH_EXTRA_CHARSETS=all

上述配置命令中,各选项的含义如下


-DCMAKE_INSTALL_PREFIX:指定将mysql数据库程序安装到某目录下,如目录/usr/local/mysql.

-DSYSCONFDIR:指定初始化参数文件目录。

-DDEFAULT_CHARSET:指定默认使用的字符集编码,如utf8。

-DDEFAULT_COLLATION:指定默认使用的字符集校对规则,utf8_general_ci是适用于UTF-8字符集的通用规则

-DWITH_EXTRA_CHARSETS:指定额外支持的其他字符集编码。


(4.)编译并安装


[root@kang mysql-5.5.38]# make &&  make install 


3.安装后的其他调整


(1.)对数据库目录进行权限设置

[root@kang ~]# chown -R mysql:mysql /usr/local/mysql/
(2.)建立配置文件

在MySQL源码目录中的support-files文件夹下,提供了适合不同负载数据库的样本配置文件。如果不确定数据库系统的应用规模,一般选择my-medium.cnf文件即可,该文件能够满足大多数企业的中等应用需求。


根据以下参考内容建立MySQL系统的/etc/my.cnf配置文件。如果有/etc/my.cnf配置文件,请删掉即可!!!

[root@kang mysql-5.5.38]# rm -rf /etc/my.cnf
[root@kang mysql-5.5.38]# cp support-files/my-medium.cnf /etc/my.cnf
(3.)初始化数据库

为了能够正常使用MySQL数据库系统,应以运行用户mysql的身份执行初始化脚本mysql_install_db,指定数据存放目录等。

[root@kang mysql-5.5.38]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/

(4.)设置环境变量

为了方便在任何目录下使用mysql命令,需要在/etc/profile设置环境变量。


[root@kang mysql-5.5.38]# echo "PATH=$PATH:/usr/local/mysql/bin" >>/etc/profile
[root@kang mysql-5.5.38]# . /etc/profile
(5.)添加系统服务

若希望添加mysqld系统服务,以便通过chkconfig进行管理,可以直接使用源码包中提供的服务脚本。找到support-files文件夹下的mysql.server脚本文件,将其复制到/etc/rc.d/init.d目录下,并改名为mysqld,然后再设置执行权限,通过执行chkconfig命令将其添加为mysqld系统服务。


[root@kang mysql-5.5.38]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@kang mysql-5.5.38]# chmod  +x /etc/rc.d/init.d/mysqld 
[root@kang mysql-5.5.38]# chkconfig --add mysqld
这样,以后就可以使用service工具或直接执行/etc/init.d/mysqld脚本来控制MySQL数据库服务了。

mysql服务器默认通过TCP 3306端口提供服务。通过编辑/etc/my.cnf配置文件中[mysqld]配置段的 port=3306行,可以更改监听端口。


二、访问与使用MySQL数据库



MySQL数据库系统也是一个典型的c/s(客户端/服务器)架构的应用,要访问MySQL数据库需要使用专门的客户端软件。在Linux系统中,最简单、易用的MySQL客户端软件是其自带的mysql命令工具。


1.登录到MySQL服务器


经过安装后的初始化过程,MySQL数据库的默认管理员用户名为root,密码为空。若要以未设置密码的root用户登录本机的MySQL数据库,可以执行以下操作。


[root@kang ~]# mysql -u root 

在有密码的情况下,还应使用“-p”选项来进行密码校检。


[root@kang ~]# mysql -uroot -p 
Enter password: 
2.执行MySQL操作语句


验证成功以后将会进入提示符为mysql> 的数据库操作环境,用户可以输入各种操作语句对数据库进行管理。每一条MySQL操作语句以分号 : 表示结束,输入时可以不区分大小写,但习惯上将mysql语句中的关键字部分大写

例如:以用户名root登录到mysql>环境后,执行show master logs;语句可以查看当前数据库服务的日志文件信息。



3.退出mysql>操作环境


在mysql>操作环境中,执行EXIT或QUIT命令可以退出mysql命令工具,返回原来的shell环境。

mysql> exit
Bye
[root@kang ~]# 
三、使用MySQL数据库


熟悉安装及访问MySQL数据库以后,接下来将学习使用MySQL数据库的基本操作,这也是在服务器运维工作中不可或缺的知识。

MySQL是一套数据库管理系统,在每一台MySQL服务器中,支持运行多个库,每个库相当于一个容器,其中存放着许多表

表中的每一行包含一条具体的数据关系信息(如编号为SW01的交换机的购买时间、价格等),这些信息称为数据记录。


1.查看当前服务器中有哪些库


SHOW DATABASES语句:用于查看当前MySQL服务器中包含的库。经初始化后的MySQL服务器。默认建立了四个库:test、mysql、infomation_schema和performance_schema(其中mysql库中包含了用户认证相关的表),执行以下操作可以进行查看。


2.查看当前使用的库中有哪些表


SHOW TABLES语句:用于查看当前所在的库中包含的表。在操作之前,需要先使用USE语句切换到所使用的的库。

例如:执行以下操作可以显示mysql库中包含的所有表。


MySQL数据库的数据文件存放在/usr/local/mysql/data目录下,每个数据库对应一个子目录,用于存储数据表文件。每一个数据表对应为三个文件,后缀名分别为:.frm .myd 和.myi 。


3.查看表的结构


DESCRIBE语句:用于显示表的结构,即组成表的各字段(列)的信息。需要指定库名.表名作为参数;若只指定表名参数,则需先通过USE语句切换到目标库。

例如:执行以下操作可以查看mysql库中的user表的结构,与直接执行DESCRIBE mysql.user;语句的效果相同。



创建及删除库和表



更多相关文章

  1. SQL Server 2005 所允许的 SQL 语句的最大长度为多少?
  2. 数据库对象的创建和管理
  3. 重复的数据只取一条,请问SQL语句怎么写
  4. SQL Sever数据库卡事务
  5. 数据库操作类实现(C#,SqlClient)
  6. 利用纯真IP库建立mysql ip数据库
  7. 急!如何得到sql数据库更新的日志?
  8. 在Delete From语句中带有别名的表变量。
  9. NoSQL_Cassandra_导出数据库结构/数据库结构还原

随机推荐

  1. Android AndroidStudio开发全部套件百度
  2. [转]近百android程序源码贡献
  3. Android开发笔记(二)——布局管理器
  4. Android如何在局域网中发送网络广播
  5. Android LifecycleObserver
  6. Android USB tethering相关代码
  7. 正则表达式pcre在Android下的移植
  8. ch015 Android ActivityGroup
  9. cocos2d-x android
  10. Android 第三方库