MySQL安装与介绍
来源:互联网 发布:js格式化 编辑:程序博客网 时间:2024/06/09 01:23
一、选择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安装
1、生产环境怎么选择MySQL版
1)选择稳定版 选择社区的GA版
2)产品线,主要是5.1和5.5 ,多数5.5
3)选择MySQL GA版发布6个月以上的版本
4)最好向后较长时间没有更新发布的版本
5)与开发人员使用版本的兼容
6)测试环境跑3-6个月
7)到生产环境非核心业务跑几个月
2、MySQL安装方法
1)使用二进制方式安装,rpm/yum
2)源码编译,产品线路1用普通编译安装,线路2用cmake编译安装5.5/6/7
3)批量部署,src.rpm 通过spec文件
3、源码编译安装mysql5.5.32
PS:如果是mysql5.1系列的直接使用编译安装,不用cmake
1)安装cmake编译工具和终端操作的开发包
[root@cherry163 ~]# yum install cmake -y
[root@cherry163 ~]# yum install ncurses-devel –y
2)下载MySQL
[root@cherry163 ~]# wget http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-5.5/mysql-5.5.32.tar.gz
或下载到本地,在xshell安装lrzsz用rz上传到服务器中。
3)添加用户
[root@cherry163 ~]# useradd -u 8001 -s /sbin/nologin mysql
4)创建数据库存放目录
[root@cherry163 ~]# mkdir /data
5)解压安装包
[root@cherry163 ~]# tar -xf mysql-5.5.32.tar.gz -C /usr/local/src
[root@cherry163 ~]# cd /usr/local/src
[root@cherry163 src]# ls
[root@cherry163 mysql-5.5.22]# cd mysql-5.5.22
6)编译安装
[root@cherry163 mysql-5.5.22]# 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
参数说明:
-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_USERmysql运行用户
扩展:
-DWITH_PARTITION_STORAGE_ENGINE=1 支持分区表
-DINSTALL_LIBDIR=dir_name
-DSYSCONFDIR=dir_name The default my.cnf option file directory
[root@cherry163 mysql-5.5.22]# make -j 4 && make install #-j 4 是指使用4个cpu核心数,如我们的双核四线程,就可以写4
7) 授权用户
[root@cherry163 ~]# chown -R mysql:mysql /usr/local/mysql/
[root@cherry163 ~]# chown –R mysql:mysql /data
[root@cherry163 ~]# chmod 1777 /tmp
8)创建配置文件
[root@cherry163 ~]# cp support-files/my-large.cnf /etc/my.cnf
9)设置环境变量
[root@cherry163 ~]# echo 'export PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile
[root@cherry163 ~]# source !$
10)创建服务启动脚本,添加开机启动
[root@cherry163 ~]# cp support-files/mysql.server /etc/init.d/mysqld
[root@cherry163 ~]# chmod +x /etc/init.d/mysqld 给脚本添加执行权限
[root@cherry163 ~]# vim /etc/init.d/mysqld 服务启动脚本要修改以下两个参数
basedir=/usr/local/mysql MySQL安装目录
datadir= /data 数据存放目录
chkconfig mysqld on 添加开机启动
11)初始化数据库
[root@cherry163 ~]# chmod +x scripts/mysql_install_db
[root@cherry163 ~]# /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data --user=mysql
看到两个ok就成功
12)初始化安全配置
[root@cherry163 ~]# mysql_secure_installation 安全初始化配置
13)排错
出现错误:
Enter current password for root (enter for none):
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
干掉mysql进程
[root@cherry163 ~]# pkill mysqld
[root@cherry163 ~]# rm -rf /data/*
重新初始化
[root@cherry163 ~]# mysql_secure_installation
13)MySQL安全优化小配置
用户安全
mysql> select user,host from mysql.user;
mysql> delete from mysql.user where user='';
mysql> delete from mysql.user where host='server01.cn';
mysql> delete from mysql.user where host='::1';
mysql> select user,host from mysql.user;
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| root | localhost |
或者把用户都删了,添加一个额外的管理员
mysql> delete from mysql.user;
mysql> grant all privileges on *.* to system@'localhost' identified by '123456' with grant option;
mysql> flush privileges;
mysql> select user,host from mysql.user;
+--------+-----------+
| user | host |
+--------+-----------+
| system | localhost |
+--------+-----------+
1 row in set (0.00 sec)
mysql> drop database test;
PS:编译出现错误
-- MySQL 5.5.22
-- Configuring done
-- Generating done
解决办法:
- MySQL安装与介绍
- mysql-5.5.25-winx64安装与介绍
- mysql-python中间件的介绍与安装
- LAMP、MySQL、MariaDB介绍与安装
- 1、重识MySQL-MySQL的介绍与安装
- mysql安装版与免安装版的介绍
- mysql学习之-三种安装方式与版本介绍
- Linux下安装与使用MySQL详细介绍
- 第01讲 mysql基本介绍与安装等
- MySQL 此例简单介绍基于docker的mysql安装与双主互备
- GraphicsMagick介绍与安装
- WDK介绍与安装
- Tuxedo 介绍与安装
- MercurialHg介绍与安装
- python介绍与安装
- mongoDB 介绍与安装
- weka介绍与安装
- (1)介绍与安装
- This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary log
- 查询中的局部参数
- 如何用SQL语句查询Excel数据?
- Android Studio添加源码Lib
- android中的ToggleButton
- MySQL安装与介绍
- ubuntu下grub配置详解
- Servlet中的过滤器Filter详解
- jQueryt过滤选择器
- java查看本机ip地址
- Javascript定义类(class)的三种方法
- 如何改进O(n^2)的算法
- C++中导致程序效率变低的一些细节
- eclipse更新sdk