`

mysql的安装的优化

阅读更多
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 就是设定的密码,注意,不要用单引号把它括起来。
分享到:
评论

相关推荐

    mysql 安装 优化 AB复制

    #### 二、MySQL优化 MySQL性能优化是确保数据库高效运行的关键,主要包括以下几个方面: - **查询优化**:使用索引、避免全表扫描、合理使用JOIN等。 - **服务器参数调优**:根据服务器硬件配置调整相关参数,如`...

    千金良方:MySQL性能优化金字塔法则.docx

    MySQL性能优化金字塔法则 MySQL性能优化是指通过调整MySQL数据库的配置、优化数据库结构和查询语句等方式,提高MySQL数据库的性能和响应速度,以满足应用程序的需求。MySQL作为最流行的开源数据库之一,被广泛应用...

    MySQL数据库优化SQL篇PPT课件.pptx

    MySQL数据库优化SQL篇PPT课件.pptx 本PPT课件主要讲述了MySQL数据库优化的重要知识点,特别是SQL优化方面的内容。从执行计划、SELECT语句、IN和EXIST语句、LIMIT语句、RAND函数、Order by、Group by、Distinct和...

    MySQL性能优化和高可用架构实践.pptx

    "MySQL性能优化和高可用架构实践" 本书《MySQL性能优化和高可用架构实践》是一本详细介绍MySQL性能优化和高可用架构实践的书籍,旨在帮助读者提升MySQL数据库的性能和可靠性。本书的内容涵盖了查询优化的基本原则和...

    mysql优化笔记+资料

    以下是一份详细的MySQL优化笔记,涵盖了多个方面: 一、查询优化 1. 使用索引:为经常用于搜索的列创建索引可以显著加快查询速度。B树和哈希索引是最常见的类型,适用于不同的查询场景。 2. 避免全表扫描:尽量使用...

    mysql安装和使用

    MySQL还支持存储过程、触发器、视图等高级特性,以及性能优化策略,如索引的创建和使用,查询优化等。 总之,MySQL的安装和使用涉及多个层面,从基础的安装配置到复杂的SQL操作和数据库管理。通过学习和实践,你...

    从 0 开始带你成为MySQL实战优化高手

    【MySQL实战优化高手之路】 MySQL,作为世界上最受欢迎的关系型数据库管理系统之一,对于任何涉及数据库管理、开发或运维的IT专业人士来说,都是一个必备的技能。本资源集合旨在帮助你从零开始,逐步深入理解MySQL...

    MySQL架构执行与SQL性能优化 MySQL高并发详解 MySQL数据库优化训练营四期课程

    MySQL架构执行与SQL性能优化-MySQL高并发详解课程,课程的目标简单明确,核心就是MySQL的性能优化与高并发。课程内容进行了精华的浓缩,有四大内容主旨,MySQL架构与执行流程,MySQL索引原理详解,MySQL事务原理与...

    mysql优化配置大全

    mysql慢可能是配置不对,阅读一下这个可能对你有帮助 ...对于Discuz!... 下面我们了解一下MySQL优化的一些基础,MySQL的优化我分为两个部分,一是服务器物理硬件的优化,二是MySQL自身(my.cnf)的优化。

    MYSQL优化-一篇很好的优化文章

    10. 编译和安装MYSQL 11. 维护 12. 优化SQL 13. 不同SQL服务器的速度差别(以秒计) 14. 重要的MYSQL启动选项 15. 优化表 16. MYSQL如何次存储数据 17. MYSQL表类型 18. MYSQL行类型(专指IASM/MYIASM表) ...

    从 0 开始带你成为MySQL实战优化高手.txt

    综上所述,《从0开始带你成为MySQL实战优化高手》不仅覆盖了MySQL的基础知识和核心技能,还提供了丰富的实战案例分析,是一本非常适合初学者和有一定经验的技术人员深入学习MySQL优化技巧的宝贵资料。通过系统地学习...

    mysql 性能优化与架构设计(word版)

    MySQL性能优化与架构设计是数据库管理员、开发人员和系统管理员关注的重要领域,因为数据库性能直接影响到应用程序的响应速度和整体用户体验。本资料提供了一个全面的视角,深入探讨了如何优化MySQL的性能并进行有效...

    百度mysql性能优化ppt

    【标题】:“百度mysql性能优化ppt”所涉及的知识点涵盖了MySQL数据库在性能调优方面的多个重要环节。在MySQL性能优化中,我们关注的核心是提升数据处理速度,减少资源消耗,从而提高系统的整体效率。 【描述】:...

    mysql安装版win64位

    本文将详述在Windows 64位操作系统上安装MySQL的步骤,并探讨相关知识点。 首先,MySQL的64位版本是专为运行在64位Windows系统上的应用程序设计的,它可以利用更多的内存和处理器资源,从而提高性能。对于大型...

    mysql安装配置教程详细笔记最全攻略

    mysql安装配置教程 MySQL安装配置教程章节目录 一、前言 二、准备工作 三、下载与安装MySQL 四、MySQL基础配置 五、MySQL用户管理 六、安全性配置与优化 七、MySQL服务管理 八、常见问题与解决 九、总结与资源推荐 ...

    从零开始带你成为MySQL实战优化高手PDF.txt

    从零开始带你成为MySQL实战优化高手

Global site tag (gtag.js) - Google Analytics