MySQL数据库的介绍及安装

MySQL数据库介绍

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

与其他的大型数据库例如 Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。

Linux作为操作系统,Apache 或Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合。

  • 一款深受欢迎的开源关系型数据库
  • Oracle旗下的产品
  • 遵守GPL协议,可以免费使用与修改
  • 特点
    • 性能卓越、服务稳定
    • 开源、无版权限制、成本低
    • 多线程、多用户
    • 基于C/S (客户端/服务器)架构
    • 安全可靠

MySQL商业版与社区版

  • MySQL商业版是由MySQL AB公司负责开发与维护,需要付费才能使用
  • MySQL社区版是由分散在世界各地的MySQL开发者、爱好者一起开发与维护,可以免费使用
  • 两者区别
    • 商业版组织管理与测试环节更加严格,会比社区版更稳定
    • 商业版不遵守GPL,社区版遵从GPL可以免费使用
    • 商业版可获得7*24小时的服务,社区版则没有

MySQL产品阵营

  • 第一阵营: 5.0-5.1阵营,可说是早期产品的延续
  • 第二阵营: 5.4-5.7阵营, 整合了MySQL AB公司、社区和第三方公司开发的存储引擎,从而提高性能
  • 第三阵营: 6.0-7.1阵营,就是MySQL Cluster版本为适应新时代对数据库的集群需求而开发

MySQL下载网址

http://www.dev.mysql.com/downloads/

MySQL编译安装

1.安装准备
一台centos7主机,MySQL和boost软件包
在这里插入图片描述在这里插入图片描述
2.环境准备

[root@localhost ~]# yum -y install \   
> ncurses \
> ncurses-devel \
> bison \
> cmake \
> gcc \
> gcc-c++
[root@localhost opt]# useradd -s /sbin/nologin mysql  '创建程序型用户'
[root@localhost opt]# ls
boost_1_59_0.tar.gz  mysql-5.7.17.tar.gz
[root@localhost opt]# tar zxvf mysql-5.7.17.tar.gz
[root@localhost opt]# tar zxvf boost_1_59_0.tar.gz -C /usr/local
[root@localhost opt]# cd /usr/local/
[root@localhost local]# mv boost_1_59_0/ boost

3.编译安装

[root@localhost local]# cd /opt/mysql-5.7.17/
[root@localhost mysql-5.7.17]# cmake \
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
> -DSYSCONFDIR=/etc \
> -DSYSTEMD_PID_DIR=/usr/local/mysql \
> -DDEFAULT_CHARSET=utf8 \
> -DDEFAULT_COLLATION=utf8_general_ci \
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \
> -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
> -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
> -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
> -DMYSQL_DATADIR=/usr/local/mysql/data \
> -DWITH_BOOST=/usr/local/boost \
> -DWITH_SYSTEMD=1
[root@localhost mysql-5.7.17]# make
[root@localhost mysql-5.7.17]# make install
[root@localhost mysql-5.7.17]# chown -R mysql.mysql /usr/local/mysql/

4.添加管理工具,启动MySQL数据库

[root@localhost mysql-5.7.17]# vim /etc/my.cnf
[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysql]
port = 3306
default-character-set=utf8
socket=/usr/local/mysql/mysql.sock

[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
[root@localhost mysql-5.7.17]# chown mysql.mysql /etc/my.cnf
[root@localhost mysql-5.7.17]# echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
[root@localhost mysql-5.7.17]# echo 'export PATH' >> /etc/profile
[root@localhost mysql-5.7.17]# source /etc/profile
[root@localhost mysql-5.7.17]# cd /usr/local/mysql/
[root@localhost mysql]# bin/mysqld \
> --initialize-insecure \
> --user=mysql \
> --basedir=/usr/local/mysql \
> --datadir=/usr/local/mysql/data
[root@localhost mysql]# cp usr/lib/systemd/system/mysqld.service /lib/systemd/system/
[root@localhost mysql]# systemctl daemon-reload 
[root@localhost mysql]# systemctl start mysqld.service
[root@localhost mysql]# netstat -ntap | grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      31730/mysqld 
[root@localhost mysql]# systemctl enable mysqld.service 

5.创建用户管理MySQL,添加远程管理权限

[root@localhost mysql]# mysqladmin -u root -p password "123456"
Enter password: 
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
[root@localhost mysql]# mysql -uroot -p

mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grannt option;
Query OK, 0 rows affected, 1 warning (0.00 sec)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值