- 浏览: 93110 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
xiaoyi829:
应该可以grzrt 写道分区表partition,能用hand ...
初识mysql插件之HandlerSocket -
grzrt:
分区表partition,能用handlersocket查询指 ...
初识mysql插件之HandlerSocket
groupadd mysql //建立mysql用户组
useradd -g mysql mysql //建立mysql帐户
tar -zxvf mysql-x.x.xx.tar.gz //解压缩mysql
cd mysql-5.0.45 //进入解压好的mysql目录
一般编译:
./configure --prefix=/usr/local/mysql --with-mysqld-ldflags=-all-static --with-extra-charsets=gbk,gb2312,utf8 //设置参数
优化编译:
./configure --prefix=/usr/local/mysql --with-mysqld-ldflags=-all-static --with-extra-charsets=gbk,gb2312,utf8 --with-mysqld-ldflags=-all-static --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock --enable-assembler
./configure '--prefix=/usr/local/mysql' '--with-unix-socket-path=/tmp/mysql.sock' '--localstatedir=/u02/mysql/data' '--with-mysqld-user=mysql' '--without-ndb-debug' '--with-big-tables' '--with-charset=utf8' '--with-extra-charsets=all' '--with-pthread' '--enable-thread-safe-client' '--enable-assembler' '--with-client-ldflags=-all-static' '--with-readline' '--enable-local-infile'
make
make install //开始安装
cp support-files/my-medium.cnf /etc/my.cnf //拷贝my-medium.cnf文件到/etc/目录下并重命名为my.cnf
cd /usr/local/mysql //进入mysql目录
bin/mysql_install_db --user=mysql
chown -R root . //设置目录权限属性
chown -R mysql /usr/local/mysql/var
chgrp -R mysql
bin/mysqld_safe --user=mysql & //启动mysql
设置启动脚本:
[root@appserver mysql-5.1.47]# cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld
[root@appserver mysql-5.1.47]# chmod +x /etc/init.d/mysqld
[root@appserver mysql-5.1.47]# /etc/init.d/mysqld start
设置为开机自启动:
[root@appserver mysql-5.1.47]# chkconfig --add mysqld
[root@appserver mysql-5.1.47]# chkconfig --list |grep mysql
[root@appserver mysql-5.1.47]# chkconfig mysqld --level 35 on
停止服务
/usr/local/mysql/bin/mysqladmin -uroot -p shutdown
[root@appserver mysql-5.1.47]# /etc/init.d/mysqld stop
Mysql编译安装参数说明:
--prefix=/opt/mysql 将MySQL安装到目录/opt/mysql下
--with-charset=utf8 指定缺省字符集为utf8
--with-extra-charsets=all 将MySQL所有支持的字符集编译进来
--with-tcp-port=3306 指定此MySQL实例将监听TCP 3306端口
--with-unix-socket-path=/tmp/mysql.sock 指定UNIX socket文件的路径(为绝对路径)
--wih-mysqld-user=mysqld 指定用来运行MySQL守护进程的用户
--with-federated-storage-engine 支持federated存储引擎
--with-plugins=innobase 支持innobase数据库(5.1+,默认为空)
--without-debug \去除debug模式
--with-extra-charsets=gb2312 \添加gb2312中文字符支持
--enable-assembler \使用一些字符函数的汇编版本
--without-isam \去掉isam表类型支持 现在很少用了 isam表是一种依赖平台的表 (5.0以前)
--without-innodb \去掉innodb表支持 innodb是一种支持事务处理的表,适合企业级应用 5.0以前)
--with-pthread \强制使用pthread库(posix线程库)
--enable-thread-safe-client \以线程方式编译客户端
--with-client-ldflags=-all-static \
--with-mysqld-ldflags=-all-static \以纯静态方式编译服务端和客户端
通过指令 configure --help 可以查看全部选项信息。
----prefix 必须指定
--with-unix-socket-path 最好指定自己的路径
优化编译:
1. -static 13%
--with-client-ldflags=-all-static
--with-mysqld-ldflags=-all-static
静态链接提高13%性能
2. -pgcc 1%
CFLAGS="-O3 -mpentiumpro -mstack-align-double" CXX=gcc \
CXXFLAGS="-O3 -mpentiumpro -mstack-align-double \
-felide-constructors -fno-exceptions -fno-rtti"
如果是Inter处理器,使用pgcc提高1%性能
3. Unix Socket 7.5%
--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
使用unix套接字链接提高7.5%性能,所以在windows下mysql性能肯定不如unix下面
4. --enable-assembler
允许使用汇编模式(优化性能)
5. 配置
在 MySQL 提供的支持文件中复制一个合适的配置档到 MySQL 数据目录中,并命名为 my.cnf
# cp support-files/my-huge.cnf /opt/mysql/var/my.cnf
主要修改点在 [mysqld] 配置块中:
指定允许的最大包尺寸:
max_allowed_packet = 2M
指定最大连接数(默认为100):
max_connections = 1000
指定服务器端字符集:
character_set_server = utf8
强制指定连接使用的字符集:
init_connect = 'set names utf8'
(注意:若连接时使用的是 super user ,则此项不会被执行,MySQL 文档对此有详细解释。)
指定安装目录和数据目录:
basedir = /opt/mysql2/
datadir = /opt/mysql2/var/
忽略Berkeley DB:
skip-bdb
(同理,若也打算忽略 InnoDB,则使用 skip-innodb)
配置InnoDB:
innodb_data_home_dir = /opt/mysql2/var/
innodb_data_file_path = ibdata1:500M;ibdata2:50M:autoextend
innodb_log_group_home_dir = /opt/mysql2/var/
innodb_log_arch_dir = /opt/mysql2/var/
innodb_buffer_pool_size = 384M
innodb_additional_mem_pool_size = 20M
innodb_log_file_size = 100M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
完成编辑此配置档后,记得顺便修改一下 MySQL 数据目录的 ownership:
# cd /opt/mysql
# chown –Rc mysqld.mysqlg var
6. 控制脚本
MySQL提供了一个脚本文件,可以用来方便地控制MySQL守护进程。
# cp support-files/mysql.server /opt/mysql/bin/mysqlctl
# cd /opt/mysql/bin
# chmod 755 mysqlctl
启动:
# /opt/mysql/bin/mysqlctl start
停止:
# /opt/mysql/bin/mysql stop
注意,若启用了 InnoDB 存储引擎,那么第一次启动 MySQL 服务器时,速度会比较慢,因为需要分配在配置档中定义的空间、生成相应的数据文件、日志文件等。
7. Security
安全问题在哪里都是很重要的,特别是对于初安装的新系统而言,尤其如此。
MySQL 往往携带有四个缺省用户,分别是 'root'@'localhost', 'root'@'%', ''@'localhost', ''@'%'.
除了第一个本地root,其他三个(任意来源的root,以及两个匿名用户)都应该删除:
mysql> use mysql
mysql> delete from user where user='';
mysql> delete from user where user='root' and host='%';
这唯一保留的用户 root@localhost 的密码默认为空,当然不好。为它加上密码:
# /opt/mysql/bin/mysqladmin -uroot -hlocalhost -P3306 -p password my_pass
指令中的 my_pass 就是设定的密码,注意,不要用单引号把它括起来。
useradd -g mysql mysql //建立mysql帐户
tar -zxvf mysql-x.x.xx.tar.gz //解压缩mysql
cd mysql-5.0.45 //进入解压好的mysql目录
一般编译:
./configure --prefix=/usr/local/mysql --with-mysqld-ldflags=-all-static --with-extra-charsets=gbk,gb2312,utf8 //设置参数
优化编译:
./configure --prefix=/usr/local/mysql --with-mysqld-ldflags=-all-static --with-extra-charsets=gbk,gb2312,utf8 --with-mysqld-ldflags=-all-static --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock --enable-assembler
./configure '--prefix=/usr/local/mysql' '--with-unix-socket-path=/tmp/mysql.sock' '--localstatedir=/u02/mysql/data' '--with-mysqld-user=mysql' '--without-ndb-debug' '--with-big-tables' '--with-charset=utf8' '--with-extra-charsets=all' '--with-pthread' '--enable-thread-safe-client' '--enable-assembler' '--with-client-ldflags=-all-static' '--with-readline' '--enable-local-infile'
make
make install //开始安装
cp support-files/my-medium.cnf /etc/my.cnf //拷贝my-medium.cnf文件到/etc/目录下并重命名为my.cnf
cd /usr/local/mysql //进入mysql目录
bin/mysql_install_db --user=mysql
chown -R root . //设置目录权限属性
chown -R mysql /usr/local/mysql/var
chgrp -R mysql
bin/mysqld_safe --user=mysql & //启动mysql
设置启动脚本:
[root@appserver mysql-5.1.47]# cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld
[root@appserver mysql-5.1.47]# chmod +x /etc/init.d/mysqld
[root@appserver mysql-5.1.47]# /etc/init.d/mysqld start
设置为开机自启动:
[root@appserver mysql-5.1.47]# chkconfig --add mysqld
[root@appserver mysql-5.1.47]# chkconfig --list |grep mysql
[root@appserver mysql-5.1.47]# chkconfig mysqld --level 35 on
停止服务
/usr/local/mysql/bin/mysqladmin -uroot -p shutdown
[root@appserver mysql-5.1.47]# /etc/init.d/mysqld stop
Mysql编译安装参数说明:
--prefix=/opt/mysql 将MySQL安装到目录/opt/mysql下
--with-charset=utf8 指定缺省字符集为utf8
--with-extra-charsets=all 将MySQL所有支持的字符集编译进来
--with-tcp-port=3306 指定此MySQL实例将监听TCP 3306端口
--with-unix-socket-path=/tmp/mysql.sock 指定UNIX socket文件的路径(为绝对路径)
--wih-mysqld-user=mysqld 指定用来运行MySQL守护进程的用户
--with-federated-storage-engine 支持federated存储引擎
--with-plugins=innobase 支持innobase数据库(5.1+,默认为空)
--without-debug \去除debug模式
--with-extra-charsets=gb2312 \添加gb2312中文字符支持
--enable-assembler \使用一些字符函数的汇编版本
--without-isam \去掉isam表类型支持 现在很少用了 isam表是一种依赖平台的表 (5.0以前)
--without-innodb \去掉innodb表支持 innodb是一种支持事务处理的表,适合企业级应用 5.0以前)
--with-pthread \强制使用pthread库(posix线程库)
--enable-thread-safe-client \以线程方式编译客户端
--with-client-ldflags=-all-static \
--with-mysqld-ldflags=-all-static \以纯静态方式编译服务端和客户端
通过指令 configure --help 可以查看全部选项信息。
----prefix 必须指定
--with-unix-socket-path 最好指定自己的路径
优化编译:
1. -static 13%
--with-client-ldflags=-all-static
--with-mysqld-ldflags=-all-static
静态链接提高13%性能
2. -pgcc 1%
CFLAGS="-O3 -mpentiumpro -mstack-align-double" CXX=gcc \
CXXFLAGS="-O3 -mpentiumpro -mstack-align-double \
-felide-constructors -fno-exceptions -fno-rtti"
如果是Inter处理器,使用pgcc提高1%性能
3. Unix Socket 7.5%
--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
使用unix套接字链接提高7.5%性能,所以在windows下mysql性能肯定不如unix下面
4. --enable-assembler
允许使用汇编模式(优化性能)
5. 配置
在 MySQL 提供的支持文件中复制一个合适的配置档到 MySQL 数据目录中,并命名为 my.cnf
# cp support-files/my-huge.cnf /opt/mysql/var/my.cnf
主要修改点在 [mysqld] 配置块中:
指定允许的最大包尺寸:
max_allowed_packet = 2M
指定最大连接数(默认为100):
max_connections = 1000
指定服务器端字符集:
character_set_server = utf8
强制指定连接使用的字符集:
init_connect = 'set names utf8'
(注意:若连接时使用的是 super user ,则此项不会被执行,MySQL 文档对此有详细解释。)
指定安装目录和数据目录:
basedir = /opt/mysql2/
datadir = /opt/mysql2/var/
忽略Berkeley DB:
skip-bdb
(同理,若也打算忽略 InnoDB,则使用 skip-innodb)
配置InnoDB:
innodb_data_home_dir = /opt/mysql2/var/
innodb_data_file_path = ibdata1:500M;ibdata2:50M:autoextend
innodb_log_group_home_dir = /opt/mysql2/var/
innodb_log_arch_dir = /opt/mysql2/var/
innodb_buffer_pool_size = 384M
innodb_additional_mem_pool_size = 20M
innodb_log_file_size = 100M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
完成编辑此配置档后,记得顺便修改一下 MySQL 数据目录的 ownership:
# cd /opt/mysql
# chown –Rc mysqld.mysqlg var
6. 控制脚本
MySQL提供了一个脚本文件,可以用来方便地控制MySQL守护进程。
# cp support-files/mysql.server /opt/mysql/bin/mysqlctl
# cd /opt/mysql/bin
# chmod 755 mysqlctl
启动:
# /opt/mysql/bin/mysqlctl start
停止:
# /opt/mysql/bin/mysql stop
注意,若启用了 InnoDB 存储引擎,那么第一次启动 MySQL 服务器时,速度会比较慢,因为需要分配在配置档中定义的空间、生成相应的数据文件、日志文件等。
7. Security
安全问题在哪里都是很重要的,特别是对于初安装的新系统而言,尤其如此。
MySQL 往往携带有四个缺省用户,分别是 'root'@'localhost', 'root'@'%', ''@'localhost', ''@'%'.
除了第一个本地root,其他三个(任意来源的root,以及两个匿名用户)都应该删除:
mysql> use mysql
mysql> delete from user where user='';
mysql> delete from user where user='root' and host='%';
这唯一保留的用户 root@localhost 的密码默认为空,当然不好。为它加上密码:
# /opt/mysql/bin/mysqladmin -uroot -hlocalhost -P3306 -p password my_pass
指令中的 my_pass 就是设定的密码,注意,不要用单引号把它括起来。
发表评论
-
mysql dump 备份及脚本!
2011-06-10 13:38 1553导出多张表的时候表之间用空格分开: # mysqldump ... -
mysql备份脚本
2011-06-03 17:32 684!/bin/sh # mysql_backup.sh: bac ... -
CentOS挂载移动硬盘
2011-06-03 15:12 10971, 首先确认fuse,CentOS 5.5 带有fuse,可 ... -
MySQL 左连接 右连接
2011-06-03 14:03 869表A记录如下: aID aNum 1 ... -
[转]CentOS5 下安装与配置飞鸽传书(Ipmsg)完美完结篇
2011-05-27 10:29 1560CentOS5 下安装与配置飞鸽传书(Ipmsg)完美完结篇 ... -
深入SQL语句性能调整
2011-05-17 13:20 863本文sqlserver为例 有 ... -
windows和linux下开启mysql日志
2011-05-11 10:24 2322mysql有以下几种日志: 错误日志: -log-err 查询 ... -
MYSQL数据库设计的一点总结
2011-04-13 14:48 704选表类型: 大家都知道 ... -
mysql 清理碎片
2011-04-13 09:59 917显示你数据库中存在碎片的全部列表: select tab ... -
MySQL 建表语法
2011-04-12 14:21 8001、最简单的: CREATE TABLE t1( id ... -
排序时最快的取出尽量少的字段且索引字段
2011-04-11 15:51 833select company_albums.id,compan ... -
MySQL性能优化
2011-04-02 10:53 732作者:andyao 原文link: http://andyao ... -
Mysql Innodb 引擎优化-参数
2011-03-30 16:49 770介绍: InnoDB给MySQL提供了具有提交,回滚和崩溃 ... -
MySQL前端和后台的系统优化
2011-03-30 16:39 798本文中介绍的系统优化 ... -
MySQL配置文件my.cnf 做笔记用
2011-03-30 16:33 801MySQL配置文件my.cnf 例子最详细翻译,可以保存做笔记 ... -
测试脚本mysql_插入100万行数据
2011-03-29 16:31 1360CREATE DEFINER=`root`@`localhos ... -
Mysql日期和时间函数
2011-03-29 15:50 675这里是一个使用日期函 ... -
MySQL数据库优化的具体方法说明
2011-03-29 15:39 761以下的文章主要讲述的是实现MySQL数据库简单实用优化的具体方 ... -
MySQL之Explain
2011-03-29 15:16 622前记:很多东西看似简 ... -
MySQL维护命令集锦--查看表的状态(show table status)
2011-03-29 15:11 1230查看表的引擎类型等状态信息: show table statu ...
相关推荐
#### 二、MySQL优化 MySQL性能优化是确保数据库高效运行的关键,主要包括以下几个方面: - **查询优化**:使用索引、避免全表扫描、合理使用JOIN等。 - **服务器参数调优**:根据服务器硬件配置调整相关参数,如`...
MySQL性能优化金字塔法则 MySQL性能优化是指通过调整MySQL数据库的配置、优化数据库结构和查询语句等方式,提高MySQL数据库的性能和响应速度,以满足应用程序的需求。MySQL作为最流行的开源数据库之一,被广泛应用...
MySQL数据库优化SQL篇PPT课件.pptx 本PPT课件主要讲述了MySQL数据库优化的重要知识点,特别是SQL优化方面的内容。从执行计划、SELECT语句、IN和EXIST语句、LIMIT语句、RAND函数、Order by、Group by、Distinct和...
"MySQL性能优化和高可用架构实践" 本书《MySQL性能优化和高可用架构实践》是一本详细介绍MySQL性能优化和高可用架构实践的书籍,旨在帮助读者提升MySQL数据库的性能和可靠性。本书的内容涵盖了查询优化的基本原则和...
以下是一份详细的MySQL优化笔记,涵盖了多个方面: 一、查询优化 1. 使用索引:为经常用于搜索的列创建索引可以显著加快查询速度。B树和哈希索引是最常见的类型,适用于不同的查询场景。 2. 避免全表扫描:尽量使用...
MySQL还支持存储过程、触发器、视图等高级特性,以及性能优化策略,如索引的创建和使用,查询优化等。 总之,MySQL的安装和使用涉及多个层面,从基础的安装配置到复杂的SQL操作和数据库管理。通过学习和实践,你...
【MySQL实战优化高手之路】 MySQL,作为世界上最受欢迎的关系型数据库管理系统之一,对于任何涉及数据库管理、开发或运维的IT专业人士来说,都是一个必备的技能。本资源集合旨在帮助你从零开始,逐步深入理解MySQL...
MySQL架构执行与SQL性能优化-MySQL高并发详解课程,课程的目标简单明确,核心就是MySQL的性能优化与高并发。课程内容进行了精华的浓缩,有四大内容主旨,MySQL架构与执行流程,MySQL索引原理详解,MySQL事务原理与...
mysql慢可能是配置不对,阅读一下这个可能对你有帮助 ...对于Discuz!... 下面我们了解一下MySQL优化的一些基础,MySQL的优化我分为两个部分,一是服务器物理硬件的优化,二是MySQL自身(my.cnf)的优化。
10. 编译和安装MYSQL 11. 维护 12. 优化SQL 13. 不同SQL服务器的速度差别(以秒计) 14. 重要的MYSQL启动选项 15. 优化表 16. MYSQL如何次存储数据 17. MYSQL表类型 18. MYSQL行类型(专指IASM/MYIASM表) ...
综上所述,《从0开始带你成为MySQL实战优化高手》不仅覆盖了MySQL的基础知识和核心技能,还提供了丰富的实战案例分析,是一本非常适合初学者和有一定经验的技术人员深入学习MySQL优化技巧的宝贵资料。通过系统地学习...
MySQL性能优化与架构设计是数据库管理员、开发人员和系统管理员关注的重要领域,因为数据库性能直接影响到应用程序的响应速度和整体用户体验。本资料提供了一个全面的视角,深入探讨了如何优化MySQL的性能并进行有效...
【标题】:“百度mysql性能优化ppt”所涉及的知识点涵盖了MySQL数据库在性能调优方面的多个重要环节。在MySQL性能优化中,我们关注的核心是提升数据处理速度,减少资源消耗,从而提高系统的整体效率。 【描述】:...
本文将详述在Windows 64位操作系统上安装MySQL的步骤,并探讨相关知识点。 首先,MySQL的64位版本是专为运行在64位Windows系统上的应用程序设计的,它可以利用更多的内存和处理器资源,从而提高性能。对于大型...
mysql安装配置教程 MySQL安装配置教程章节目录 一、前言 二、准备工作 三、下载与安装MySQL 四、MySQL基础配置 五、MySQL用户管理 六、安全性配置与优化 七、MySQL服务管理 八、常见问题与解决 九、总结与资源推荐 ...
从零开始带你成为MySQL实战优化高手