CentOS Linux下MySQL 5.1.x的安装、优化和安全配置
下载页面:http://dev.mysql.com/downloads/mysql/5.1.html#downloads
groupadd mysql
新建一个名为mysql的用户组
useradd -g mysql mysql
在mysql用户组下新建一个名为mysql的用户
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
解压下载到的tar.gz文件
cd mysql-VERSION
进入解压后的目录
CFLAGS=″-O3 -mcpu=pentium4″ CXX=gcc CXXFLAGS=″-O3 -march=pentium4 -felide-constructors -fno-exceptions -fno-rtti″ ./configure –prefix=/home/mysql/ –without-debug –with-unix-socket-path=/home/mysql/tmp/mysql.sock –with-client-ldflags=-all-static –with-mysqld-ldflags=-all-static –enable-assembler –with-extra-charsets=gbk,gb2312,utf8 –without-innodb –without-isam –with-pthread –enable-thread-safe-client
配置mysql
gcc的相关参数:
-O3
-O
-O1
优化.对于大函数,优化编译占用稍微多的时间和相当大的内存.
不使用`-O’选项时,编译器的目标是减少编译的开销,使编译结果能够调试.语句是独立的:如果在 两条语句之间用断点中止程序,你可以对任何变量重新赋值,或者在函数体内把程序计数器指到其他语句,以及从源程序中 精确地获取你期待的结果.
不使用`-O’选项时,只有声明了register的变量才分配使用寄存器.编译结果比不用 `-O’选项的PCC要略逊一筹.
使用了`-O’选项,编译器会试图减少目标码的大小和执行时间.
如 果指定了`-O’选项, `-fthread-jumps’和`-fdefer-pop’选项将被 打开.在有delay slot的机器上, `-fdelayed-branch’选项将被打开.在即使没有帧指针 (frame pointer)也支持调试的机器上, `-fomit-frame-pointer’选项将被打开.某些机器上 还可能会打开其他选项.
-O2
多优化一些.除了涉及空间和速度交换的优化选项,执行几乎所有的优化工作.例如不进行循环展开(loop unrolling)和函数内嵌(inlining).和-O选项比较,这个选项既增加了编译时间,也提高了生成代码的 运行效果.
-O3
优化的更多.除了打开-O2所做的一切,它还打开了-finline-functions选项.
-O0
不优化.
如果指定了多个-O选项,不管带不带数字,最后一个选项才是生效的选项。
-mcpu=pentium4 根据CPU类型优化编译,可以让你的mysq表现更好!可选项目很多:i386, i486, i586, i686, pentium, pentium-mmx, pentiumpro, pentium2, pentium3, pentium4, k6, k6-2, k6-3, athlon, athlon-tbird, athlon-4, athlon-xp,athlon-mp,winchip-c6, winchip2 , c3.
-fomit-frame-pointer 对于不需要栈指针的函数就不在寄存器中保存指针,因此可以忽略存储和检索地址的代码,并将寄存器用于普通用途。所有”-O”级别都打开着一选项,但仅在调试器可以不依靠栈指针运行时才有效。建议不需要调试的情况下显式的设置它。
configure的相关参数:
–prefix=/home/mysql/ 指定安装目录
–without-debug 去除debug模式
–with-extra-charsets=gbk,gb2312,utf8 添加gbk,gb2312,utf8中文字符支持
–with-pthread 强制使用pthread库(posix线程库)
–enable-assembler 使用一些字符函数的汇编版本
–enable-thread-safe-client 以线程方式编译客户端
–with-client-ldflags=-all-static 以纯静态方式编译客户端
–with-mysqld-ldflags=-all-static 以纯静态方式编译服务端
–without-isam 去掉isam表类型支持,现在很少用了,isam表是一种依赖平台的表
–without-innodb 去掉innodb表支持,innodb是一种支持事务处理的表,适合企业级应用
make
编译
make install
安装
cp support-files/my-medium.cnf /etc/my.cnf
将mysql的配置文件copy到/etc目录下,并更名为my.cnf
/home/mysql下面有5个my-xxxx.cnf文件
my-small.cnf 最小配置安装,内存<=64M,数据数量最少
my-large.cnf 内存=512M
my-medium.cnf 32M<内存<64M,或者内存有128M,但是数据库与web服务器公用内存
my-huge.cnf 1G<内存<2G,服务器主要运行mysql
my-innodb-heavy-4G.cnf 最大配置安装,内存至少4G
cd /home/mysql
进入安装目录
bin/mysql_install_db –user=mysql
以mysql用户的身份初始化授权表
chown -R root .
将mysql的主目录(即/home/mysql)的属主设为root用户。这是官方文档上的命令,但奇怪的是,如果将mysql的主目录属主设成root用户,在运行了下面的bin/mysqld_safe –user=mysql &后则不能启动mysql。问题出在“权限”上,运行chown -R mysql .则可以用下面的命令正常启动mysql。难道官方文档有错?希望大家一起来探讨一下。
chown -R mysql var
将var目录的属主设为mysql用户
chgrp -R mysql .
将mysql的主目录的属主设为mysql用户组(注意:和前面的命令不一样,这个命令是对用户组进行赋权)
bin/mysqld_safe –user=mysql &
启动mysql,如果一切正常的话,运行此命令后,不会有任何提示。
bin/mysqladmin -u root password
password
修改root用户的密码,这里的root用户指的是mysql的root用户,与Linux的root用户无关。绿色的password就是你需要设置的新密码,牢记!
bin/mysql -u root -p
如果正常的话,用这个名字可以登录,在输入密码后,出现mysql > 的提示符表明登录成功。用quit命令可退出
以下命令用于设置mysql开机自动运行
cd mysql-VERSION
再次进入解压后的目录,即源码目录。
cp support-files/mysql.server /etc/init.d/mysql
将mysql.server这个文件copy到/etc/init.d/目录下,并更名为mysql
chmod 755 /etc/init.d/mysql
给/etc/init.d/mysql这个文件赋予“执行”权限
chkconfig –level 345 mysql on
加入到开机自动运行,运行级别为3 4 5
service mysql restart
重启mysql服务
分享到:
相关推荐
以下内容的操作系统为:centos 6.7 yum安装mysql 5.1.73 卸载系统自带的mysql 执行以下命令查看是否有自带mysql: rpm -qa | grep mysql 如果发现有输出结果,那么执行以下命令依次删除: rpm -e **** --nodeps 开始...
上周博主介绍了linux下编译安装mysql 5.5的步骤,安装不出意外基本没有问题。不过可能很多朋友和我一样一直用的是mysql 5.1,现在想把数据库升级成5.5了。博主根据实际操作,记录这次升级操作。 mysql基础信息 1、...
1.第一步就是看linu是否安装了mysql,经过rpm -qa|grep mysql查看到centos下安装了mysql5.1,那就开始卸载咯 2.接下来就是卸载mysql5.1了,命令:rpm -e mysql-libs –nodeps 3.yum中之后mysql5.1,安装还是5.1,...
yum -y removemysql-libs-* 或者 rpm-e mysql-libs-5.1.* 执行完后就安装mysql没有问题 但是,这样也就悲剧了!!!!!!crontab 命令也被卸载了: 所有:卸载时候一定要:执行如下命令: rpm-e --nodeps mysql-...
环境:mysql-5.1.61 操作系统:Cent-os6.3 目的:升级为mysql 5.6.19 首先,yum是不可行的.因为yum源没更新,我已经使用了163网易的源,但是还是不行.最新版仍然不是5.6.没办法,mysql分区是5.5之后的功能,要使用分区功能...
MySQL:Mysql 5.1 Openfire: openfire-3.7.1-1.i386.rpm Connection manager: connection_manager_3_6_3.zip Clustering: clustering.jar(1.2.1) Oracle Coherence Version 3.3.1/389 整个过程详细配置...
服务器开发框架:NodeJs v6.x (注:只能是v6.x版本 高版本有可能无法启动) 服务器部署平台:Windows、Mac OSX、Linux/Unix系列(如 Centos,Ubuntu等) 客户端开发环境:Cocos Creator 2.0.6 (注:只能是Cocos ...
数据库环境:MySQL 5.1以上 (注:5.1以上就可以 使用utf8字符集) 代码编辑器: Visual Studio Code (注:使用VS Code打开目录下的工作空间就行) 主要功能 登录 创建房间 加入房间 解散房间 战绩查看 牌局...
但是缺点是软件版本有点低,官方提供的两种方法安装后版本都比较低,在centos5.5里rpm包安装的php是5.2,mysql是5.1,这几个包是从网上找的,shell文件,可以自定义升级到php任意版本,和mysql任意版本,不过前提是...
mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (i386) using readline 5.1 停止 MySQL 服务 [root@coderknock ~]# service mysqld stop Stopping mysqld: [ OK ] 备份数据【数据不重要可以忽略】 备份...
备份旧数据 停止旧服务器 从windows的系统服务中删掉mysql服务,用如下命令: C:\> C:\... 您可能感兴趣的文章:详细讲解安全升级MySQL的方法MySQL 升级方法指南大全CentOS系统中PHP和MySQL的升级方法linux下安装升
1.操作系统 linux CentOS5.1(其他的版本应该也可以这样操作) 2.搭建工具 jdk 1.6(需要1.4以上的版本) Mysql 5.8.1 3.邮件服务器 Apache-James2.3.2 4.中间件 Tomcat5.0.28
推荐系统为:CentOS 7.6 Linux系统环境:Nginx 1.20.1+MySQL 5.6.50+PHP-7.2+Redis 将商户后台源码上传解压 运行目录为Public 伪静态为Thinkphp 访问域名傻瓜模式安装 sudo rpm -Uvh ...
采用thinkphp 5.0开发源导航V1.0-集网址、资源、资讯于一体...服务器环境要求的装备:PHP 7.2 和 Mysql 5.6(推荐用Linux,完美) 后台自定义装备广告位展现 后台装备导航栏目和录入站点 为所欲为切换想用的主页模板