共计 8337 个字符,预计需要花费 21 分钟才能阅读完成。
为什么选择 MySQL
1:mysql 性能卓越,服务稳定,很少出现异常宕机
2:mysql 开源免费,无版权制约,自主性及使用成本低
3: 产品耦合度,mysql 支持多种操作系统,支持多开发语言,特别是 php
4: 技术积累,庞大的活跃的社区,
5: 软件体积小,安装简单,易于维护
MySQL 数据库分类与版本升级
MySQL 官网 http://www.mysql.com/,MySQL 版本采用双授权政策,和大多数开源产品路线一样,分为社区版和商业版,并且这两个版本又分别分成四个版本依次发布,Alpha 版、Beta 版、RC 版和 GA 版
GA 版即为正式版
1:社区版和企业版的区别
1)首先价格上,社区版完全免费,企业版需要高额的费用
2)技术上,企业版具有 MySQL 企业级服务器、MySQL 企业级系统监控工具。企业版经过严格的测试认证,相对企业版,社区版的开发测试环境没有那么严格
3)服务方面,社区版 mysql 官方不提供任何技术支持,使用过程出现任何意外不负任何责任,企业版与之相反
4)商业版不支持 GPL 协议
2:MySQL 产品路线
三条产品线
1)5.0.XX 到 5.1.XX 产品系列
这条产品线继续完善改进用户体验和性能,同时增加新功能,是 mysql 早期产品的延续,如 rhel6 自带的 mysql
2)5.4.XX 开始到 5.7.XX 产品系列
mysql 社区和第三方公司 percona 整合的,吸收新的算法和存储引擎,现在已经到了 5.6.26
3)6.0.XX 到 7.X.XX 产品系列
主要是为了更好的推广 MySQL Cluster 版本,提供 Cluster 版本的性能和稳定性,这个版本比较少公司用,原因是出来太晚了
MySQL 安装
生产环境怎么选择 MySQL 版本
1:选择稳定版 选择社区的 GA 版
2:产品线,主要是 5.1 和 5.5,多数 5.5
3:选择 MySQL GA 版发布 6 个月以上的版本
4:最好向后较长时间没有更新发布的版本
5:与开发人员使用版本的兼容
6:测试环境跑 3 - 6 个月
7:到生产环境非核心业务跑几个月
MySQL安装方法
1:使用二进制方式安装,rpm/yum
2: 源码编译,产品线路 1 用普通编译安装,线路 2 用cmake编译安装5.5/6/7
3:批量部署,src.rpm
通过 spec 文件
环境:CentOS6.5×86-64(此为本文环境,但实际上包括但不限于),提前配置好本地和在线 yum 源,准备好 mysql 的源码包(本文 mysql-5.5.32)
源码编译安装普通的编译安装,在 nginx 中已经给出了详细的过程(见 http://www.linuxidc.com/Linux/2017-06/144903.htm),本文将重点讲述 mysql 的 cmake 的编译安装,以 mysql-5.5.32 为例。
1. 安装 cmake 编译工具
[root@xiaolyu76 ~]# yum install cmake -y
2. 下载MySQL
[root@xiaolyu76 ~]# wget http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-5.5/mysql-5.5.32.tar.gz
3. 安装依赖包
[root@xiaolyu76 ~]# yum install ncurses-devel –y //用于终端操作的开发包
4. 添加用户
[root@xiaolyu76 ~]# useradd -u 8001 -s /sbin/nologin mysql
5. 创建数据库存放目录
[root@xiaolyu76 ~]# mkdir /data
[root@xiaolyu76 ~]# tar zxf mysql-5.5.32.tar.gz
[root@xiaolyu76 ~]# cd mysql-5.5.32
[root@xiaolyu76 mysql-5.5.32]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci-DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1-DMYSQL_DATADIR=/data -DMYSQL_USER=mysql
utf8 -DDEFAULT_COLLATION=utf8_general_ci-DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1-DMYSQL_DATADIR=/data -DMYSQL_USER=mysql
[root@xiaolyu76 mysql-5.5.32]# make -j 4 && make install -j 4
//指使用 4 个 cpu 核心数,如我们的双核四线程,就可以写 4
参数说明:
-DCMAKE_INSTALL_PREFIX
数据文件存放目录
-DMYSQL_UNIX_ADDR
sock文件路径
-DDEFAULT_CHARSET
默认字符集
-DDEFAULT_COLLATION
默认字符校对
-DWITH_EXTRA_CHARSETS
扩展字符支持
默认all
-DWITH_storage_STORAGE_ENGINE
存储引擎的支持 , 默认支持 MyISAM,MERGE,MEMORY,CVS 存储引擎
-DENABLED_LOCAL_INFILE=1
启用加载本地数据
-DMYSQL_DATADIR
数据存放目录
-DMYSQL_USER
mysql运行用户
扩展:
-DWITH_PARTITION_STORAGE_ENGINE=1
支持分区表
-DINSTALL_LIBDIR=dir_name
-DSYSCONFDIR=dir_name
The default my.cnf option file directory
7. 授权用户
[root@xiaolyu76 mysql-5.5.32]# chown -R mysql:mysql /usr/local/mysql/
[root@xiaolyu76 mysql-5.5.32]# chown -R mysql:mysql /data
[root@xiaolyu76 mysql-5.5.32]# chmod 1777 /tmp
8. 创建配置文件
[root@xiaolyu76 mysql-5.5.32]# cp support-files/my-large.cnf /etc/my.cnf
9. 设置环境变量
[root@xiaolyu76 mysql-5.5.32]# echo 'export PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile
[root@xiaolyu76 mysql-5.5.32]# source !$
10. 创建服务启动脚本,添加开机启动
[root@xiaolyu76 mysql-5.5.32]# cp support-files/mysql.server/etc/init.d/mysqld
[root@xiaolyu76 mysql-5.5.32]# chmod +x /etc/init.d/mysqld //给脚本添加执行权限
[root@xiaolyu76 mysql-5.5.32]# vim /etc/init.d/mysqld
//服务启动脚本要修改以下两个参数
basedir=/usr/local/mysql //MySQL 安装目录
datadir= /data //数据存放目录
[root@xiaolyu76 mysql-5.5.32]# chkconfig mysqld on //添加开机启动
11. 初始化数据库
[root@xiaolyu76 mysql-5.5.32]# chmod +x scripts/mysql_install_db
[root@xiaolyu76 mysql-5.5.32]# /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data--user=mysql
//看到两个 ok 就成功
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-06/144902p2.htm
12. 初始化安全配置
[root@xiaolyu76 MySQL-5.5.32]# service mysqld start //启动 mysql 服务。
[root@xiaolyu76 mysql-5.5.32]# service mysqld status //察看 mysql 服务的状态
[root@xiaolyu76 mysql-5.5.32]# mysql_secure_installation 安全初始化配置
//注意: 初始化安全配置之前,一定要启动 mysql 服务
13. 创建用户和数据库
[root@xiaolyu76 mysql-5.5.32]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 19
Server version: 5.5.32-log 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> grant all privileges on *.* to system@'%' identified by '123456' with grant option;
// 创建 system 用户赋予它在任何服务器上登录的权限。% 代表任意的 server。localhost 只能在本机上登录。
14. 测试 mysql 是否安装成功
创建 game 数据库,并用 system 用户在宿主机上用第三方工具登录
create database game;
OK, 测试成功,表明我前面的 mysql 数据库 cmake 编译安装成功。
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-06/144902.htm
为什么选择 MySQL
1:mysql 性能卓越,服务稳定,很少出现异常宕机
2:mysql 开源免费,无版权制约,自主性及使用成本低
3: 产品耦合度,mysql 支持多种操作系统,支持多开发语言,特别是 php
4: 技术积累,庞大的活跃的社区,
5: 软件体积小,安装简单,易于维护
MySQL 数据库分类与版本升级
MySQL 官网 http://www.mysql.com/,MySQL 版本采用双授权政策,和大多数开源产品路线一样,分为社区版和商业版,并且这两个版本又分别分成四个版本依次发布,Alpha 版、Beta 版、RC 版和 GA 版
GA 版即为正式版
1:社区版和企业版的区别
1)首先价格上,社区版完全免费,企业版需要高额的费用
2)技术上,企业版具有 MySQL 企业级服务器、MySQL 企业级系统监控工具。企业版经过严格的测试认证,相对企业版,社区版的开发测试环境没有那么严格
3)服务方面,社区版 mysql 官方不提供任何技术支持,使用过程出现任何意外不负任何责任,企业版与之相反
4)商业版不支持 GPL 协议
2:MySQL 产品路线
三条产品线
1)5.0.XX 到 5.1.XX 产品系列
这条产品线继续完善改进用户体验和性能,同时增加新功能,是 mysql 早期产品的延续,如 rhel6 自带的 mysql
2)5.4.XX 开始到 5.7.XX 产品系列
mysql 社区和第三方公司 percona 整合的,吸收新的算法和存储引擎,现在已经到了 5.6.26
3)6.0.XX 到 7.X.XX 产品系列
主要是为了更好的推广 MySQL Cluster 版本,提供 Cluster 版本的性能和稳定性,这个版本比较少公司用,原因是出来太晚了
MySQL 安装
生产环境怎么选择 MySQL 版本
1:选择稳定版 选择社区的 GA 版
2:产品线,主要是 5.1 和 5.5,多数 5.5
3:选择 MySQL GA 版发布 6 个月以上的版本
4:最好向后较长时间没有更新发布的版本
5:与开发人员使用版本的兼容
6:测试环境跑 3 - 6 个月
7:到生产环境非核心业务跑几个月
MySQL安装方法
1:使用二进制方式安装,rpm/yum
2: 源码编译,产品线路 1 用普通编译安装,线路 2 用cmake编译安装5.5/6/7
3:批量部署,src.rpm
通过 spec 文件
环境:CentOS6.5×86-64(此为本文环境,但实际上包括但不限于),提前配置好本地和在线 yum 源,准备好 mysql 的源码包(本文 mysql-5.5.32)
源码编译安装普通的编译安装,在 nginx 中已经给出了详细的过程(见 http://www.linuxidc.com/Linux/2017-06/144903.htm),本文将重点讲述 mysql 的 cmake 的编译安装,以 mysql-5.5.32 为例。
1. 安装 cmake 编译工具
[root@xiaolyu76 ~]# yum install cmake -y
2. 下载MySQL
[root@xiaolyu76 ~]# wget http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-5.5/mysql-5.5.32.tar.gz
3. 安装依赖包
[root@xiaolyu76 ~]# yum install ncurses-devel –y //用于终端操作的开发包
4. 添加用户
[root@xiaolyu76 ~]# useradd -u 8001 -s /sbin/nologin mysql
5. 创建数据库存放目录
[root@xiaolyu76 ~]# mkdir /data
[root@xiaolyu76 ~]# tar zxf mysql-5.5.32.tar.gz
[root@xiaolyu76 ~]# cd mysql-5.5.32
[root@xiaolyu76 mysql-5.5.32]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci-DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1-DMYSQL_DATADIR=/data -DMYSQL_USER=mysql
utf8 -DDEFAULT_COLLATION=utf8_general_ci-DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1-DMYSQL_DATADIR=/data -DMYSQL_USER=mysql
[root@xiaolyu76 mysql-5.5.32]# make -j 4 && make install -j 4
//指使用 4 个 cpu 核心数,如我们的双核四线程,就可以写 4
参数说明:
-DCMAKE_INSTALL_PREFIX
数据文件存放目录
-DMYSQL_UNIX_ADDR
sock文件路径
-DDEFAULT_CHARSET
默认字符集
-DDEFAULT_COLLATION
默认字符校对
-DWITH_EXTRA_CHARSETS
扩展字符支持
默认all
-DWITH_storage_STORAGE_ENGINE
存储引擎的支持 , 默认支持 MyISAM,MERGE,MEMORY,CVS 存储引擎
-DENABLED_LOCAL_INFILE=1
启用加载本地数据
-DMYSQL_DATADIR
数据存放目录
-DMYSQL_USER
mysql运行用户
扩展:
-DWITH_PARTITION_STORAGE_ENGINE=1
支持分区表
-DINSTALL_LIBDIR=dir_name
-DSYSCONFDIR=dir_name
The default my.cnf option file directory
7. 授权用户
[root@xiaolyu76 mysql-5.5.32]# chown -R mysql:mysql /usr/local/mysql/
[root@xiaolyu76 mysql-5.5.32]# chown -R mysql:mysql /data
[root@xiaolyu76 mysql-5.5.32]# chmod 1777 /tmp
8. 创建配置文件
[root@xiaolyu76 mysql-5.5.32]# cp support-files/my-large.cnf /etc/my.cnf
9. 设置环境变量
[root@xiaolyu76 mysql-5.5.32]# echo 'export PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile
[root@xiaolyu76 mysql-5.5.32]# source !$
10. 创建服务启动脚本,添加开机启动
[root@xiaolyu76 mysql-5.5.32]# cp support-files/mysql.server/etc/init.d/mysqld
[root@xiaolyu76 mysql-5.5.32]# chmod +x /etc/init.d/mysqld //给脚本添加执行权限
[root@xiaolyu76 mysql-5.5.32]# vim /etc/init.d/mysqld
//服务启动脚本要修改以下两个参数
basedir=/usr/local/mysql //MySQL 安装目录
datadir= /data //数据存放目录
[root@xiaolyu76 mysql-5.5.32]# chkconfig mysqld on //添加开机启动
11. 初始化数据库
[root@xiaolyu76 mysql-5.5.32]# chmod +x scripts/mysql_install_db
[root@xiaolyu76 mysql-5.5.32]# /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data--user=mysql
//看到两个 ok 就成功
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-06/144902p2.htm