mysql dba系统学习(1)mysql各版本编译安装

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。

一,mysql特点

简单

高效

可靠

二,mysql的适用场景

web网站系统

日志记录系统

数据仓库系统

嵌入式系统

三,mysql数据库的编译安装

编译版本分别为:mysql-5.1.70,mysql-5.5.15

1、mysql-5.1.70 编译

依赖包:

libtermcap

libtermcap-devel

imake

autoconf

automake

libtool

m4  

libstdc++-devel

gcc-c++

zlib-devel

ncurses-devel

编译安装MySQL5.1.70

[root@test4 ~]# yum install libtermcap  libtermcap-devel imake  autoconf   automake libtool  m4

libstdc++-devel gcc-c++  zlib-devel  ncurses-devel

[root@test4 ~]# useradd -M  -s /sbin/nologin  mysql

[root@test4 ~]# mkdir /usr/local/mysql

[root@test4 ~]# mkdir /mysql/data -p

[root@test4 ~]# tar zxvf mysql-5.1.70.tar.gz

[root@test4 mysql-5.1.70]# ./configure --prefix=/usr/local/mysql \ mysql的安装目录

--datadir=/mysql/data \

--enable-assembler \

--with-client-ldflags=-all-static\
--with-unix-socket-path=/tmp \
--with-charset=utf8 \

--enable-thread-safe-client \

--with-pthread\
--without-debug \

--with-big-tables \

--enable-community-features\
--enable-profiling \

--enable-local-infile \

--with-fast-mutexes\

--with-plugins=partition,federated,ndbcluster,innobase,csv,blackhole,myisam,innodb_plugin

[root@test4 mysql-5.1.70]# make

[root@test4 mysql-5.1.70]# strip sql/mysqld

[root@test4 mysql-5.1.70]#  make install

[root@test4 mysql-5.1.70]# cp support-files/my-medium.cnf    /etc/my.cnf  

#/etc/my.cnf 文件中的参数据实际情况而定

[root@test4 mysql-5.1.70]# cp support-files/mysql.server  /etc/init.d/mysqld  

#修改/etc/init.d/mysqld文件中的"datadir"参数值为/mysql/data(datadir=/mysql/data)

[root@test4 mysql-5.1.70]#  chmod u+x /etc/init.d/mysqld

[root@test4 mysql-5.1.70]# chkconfig --add mysqld(chkconfig中无此项服务时执行)

[root@test4 mysql-5.1.70]# /usr/local/mysql/bin/mysql_install_db --user=mysql   --datadir= /mysql/data

[root@test4 mysql-5.1.70]#  chown -R mysql.mysql  /data/mysql/

[root@test4 mysql-5.1.70]#  service mysqld start

[root@test4 mysql-5.1.70]# /usr/local/mysql/bin/mysqladmin -u root password '123456'

[root@test4 mysql-5.1.70]# echo "PATH=\"/usr/local/mysql/bin:/data/bin/:\$PATH\"">> /etc/profile

[root@test4 mysql-5.1.70]# exportPATH="/usr/local/mysql/bin:/data/bin/:$PATH"

时间: 2025-01-25 12:19:02

mysql dba系统学习(1)mysql各版本编译安装的相关文章

mysql dba系统学习(2)了解mysql的源码目录及源文件

了解mysql的源码目录 包括客户端代码,服务端代码,测试工具和其他库文件 Mysql源码结构 Bdb 伯克利DB表引擎 BUILD 构建工程的脚本 Client 客户端 Cmd-line-utils 命令行工具 Config 构建工程所需的一些文件 Dbug Fred Fish的调试库 Docs 文档文件夹 Extra 一些相对独立的次要的工具 Heap HEAP表引擎 Include 头文件 Innobase INNODB表引擎 Libmysql 动态库 Libmysql_r 为了构建线程安

mysql dba系统学习(9)slow query log慢查询日志功能

慢查询日志(不包括获取锁的时间) 1,开启慢查询日志功能 以前的版本中开启慢查询日志功能的参数是--log_slow_queries在my.cnf文件中指定,但是现在新的版本中用参数--slow_query_log和--slow_query_log_file来指定 slow_query_log=1 slow_query_log_file=/tmp/mysqlslow.log 重新启动mysql mysql> show variables like "%slow%"; +-----

mysql dba系统学习(6)二进制日志之二

MySQL 5.5 中对于二进制日志 (binlog) 有 3 种不同的格式可选:Mixed,Statement,Row,默认格式是 Statement.总结一下这三种格式日志的优缺点. MySQL Replication 复制可以是基于一条语句 (Statement Level) ,也可以是基于一条记录 (Row Level),可以在 MySQL 的配置参数中设定这个复制级别,不同复制级别的设置会影响到 Master 端的 bin-log 日志格式. 1. Row 日志中会记录成每一行数据被修

mysql dba系统学习(18)mysql主从复制的实现

mysql主从复制的实现 1.MySQL复制的实现原理 MySQL支持单向.双向复制.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入一个二进制日志文件中,并创建一个索引文件以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,日志文件会通知主服务器,从服务器在日志中读取的最后一次成功更新的位置.接着,从服务器在上次成功更新的位置处开始进入更新操作.更新完成后从服务器开始进入等待状态,等待主服务器后续的更新.需要注意

mysql dba系统学习(17)mysql的备份和恢复的完整实践

mysql的备份和恢复的完整实践 一,备份数据库之间的环境设置 1,创建数据库test1,创建表tt插入如下数据 mysql> create database test1; Query OK, 1 row affected (0.04 sec) mysql> use test1 Database changed mysql> create table tt(id int,name varchar(100),msg varchar(200)) engine=myisam; Query OK

mysql dba系统学习(12)mysql的数据文件

mysql的数据文件 一,系统参数datadir 在MySQL 中每一个数据库都会在定义好(或者默认)的数据目录下存在一个以数据库名字命名的文件夹,用来存放该数据库中各种表数据文件 datadir指定的目录是数据库目录的上级目录,一般的创建数据库的时候会创建两个数据库mysql和test,如果再创建一个数据库的话就会多出一个对应的数据库文件夹 mysql> show variables like "%datadir%"; +---------------+------------

mysql dba系统学习(11)管理innodb引擎的redo log日志的一个问题

我的my.cnf文件是这样的 innodb_data_home_dir = /usr/local/mysql/var innodb_data_file_path = ibdata1:10M:autoextend innodb_log_group_home_dir = /usr/local/mysql/var innodb_buffer_pool_size = 16M innodb_additional_mem_pool_size = 2M innodb_log_file_size = 5M in

mysql dba系统学习(4)mysql的多实例multi启动停止

mysql的多实例配置安装 一,什么情况下我们会考虑一台物理服务器上部署多个实例,大致有以下几种情况: 1,采用了数据伪分布式架构的原因,而项目启动初期又不一定有那多的用户量,为此先一组物理数据库服务器,但部署多个实例,方便后续迁移: 2,为规避mysql对SMP架构不支持的缺陷,使用多实例绑定处理器的办法(NUMA处理器必须支持,不过现在大部分处理器都支持的!),把不同的数据库分配到不同的实例上提供数据服务: 3,一台物理数据库服务器支撑多个数据库的数据服务,为提高mysql复制的从机的恢复效

mysql dba系统学习(3)mysql的启动停止

mysql的启动有很多方法,我们将来一一讨论 一,mysqld mysqld是mysql的服务 mysqld这种方式启动的时候会读取my.cnf文件中的[mysqld]和[server]组group (每一个组都有[]来分割) 一般的,我们通过这种方式手动的调用mysqld,如果不是出去调试的目的,我们一般都不这样做. 因为这种方式会使错误日志直接从终端输出,而不是记录在错误日志文件中,这样,如果mysql崩溃的话 我们也不知道原因. 连接方法 start [root@test4 ~]# /us