mysql 安装

一 mysql版本

 

版本号=3个数字+1个后缀

mysql-5.0.9-beta

 

alpha:新版本,新功能,大量未测试代码

beta:完整版本,所有代码已被测试,没有已知bug

rc:发布版本,稳定 GA:Generally Available

 

二 mysql安装方式

 

 1、rpm包

Rpm包: MySQL-(Server|Client)-(community|enterprise)-(版本号).1.(操作系统类型).CPU类型(例如i386).rpm

安装方法: #rpm –ivh MySQL-server-5.1.72-1.glibc23.i386.rpm #rpm –ivh MySQL-client-5.1.72-1.glibc23.i386.rpm

卸载方法: #rpm –ev MySQL-server-5.1.72-1.glibc23

 

/usr/bin --客户端程序和脚本

/usr/sbin --mysqld服务器程序

/var/lib/mysql --日志文件和数据文件

/usr/share/doc/packages --文档

/usr/include/mysql --头文件

/usr/lib/mysql --库文件

/usr/share/mysql --错误消息和字符集文件

/usr/share/sql-bench --基准程序

 

2、二进制

  • 添加mysql用户 #groupadd mysql

   

 #useradd –g mysql mysql 切换至mysql用户

    ,解压二进制包,建立软链 $cd /home/mysql/

    $tar –xzvf /home/mysql/mysql-5.1.72-linux-i686-glibc23.tar.gz

    #$ln –s mysql mysql-5.1.72-linux-i686-glibc23
我是直接把解压文件拷贝要安装位置,执行下面的方法

 

  • 在数据目录下创建系统数据库和系统表

  

$cd mysql
$scripts/mysql_install_db –-user=mysql
#注意,有时会出现这个错误
./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
#解决办法
[root@data mysql_3306]# yum install libaio

  

  用root用户建立参数文件,更改权限   #cp support_files/my-small.cnf /etc/my.cnf   #chown mysql:mysql /etc/my.cnf   启动mysql   $bin/mysqld_safe –-user=mysql &

 

 

3、源码方式   


浏览源码目录结构~


  1.增加mysql用户和组 #groupadd mysql #useradd -g mysql mysql


  2.切换至mysql用户,解压源码包,并进入文件夹
       $tar -xzvf mysql-5.1.72_source.tar.gz

           $cd mysql_5.1.72


3
.解压源码文件并进入目录进行编译源码,configure检查CC和GCC是否存在,生成MakeFile $export bpath=“/home/mysql/mysql” $./configure --prefix=${bpath} --with-unix-socket-path=${bpath}/tmp/mysql.sock \ --with-plugins=partition,csv,archive,federated,innobase,innodb_plugin,myisam,heap \ --with-charset=utf8\ --without-docs \ --without-man \ --with-client-ldflags=-static 'CFLAGS=-g -O3' 'CXXFLAGS=-g -O3' \ --with-extra-charsets=gbk,utf8,ascii,big5,latin1,binary \ --enable-assembler \ --enable-local-infile \ --enable-profiling \ --enable-thread-safe-client

4.连接文件,安装 $make $make install $mkdir etc log tmp var

5.配置文件生成,或者直接拷贝support-files/my-medium.cnf过来到etc下面

    $cp ${bpath}/share/mysql/my-medium.cnf ${bpath}/etc/my.cnf 或者

    $cp vmware_share/etc/5.1/my.cnf ${bpath}/etc/

 

6.创建系统表 $bin/mysql_install_db --user=mysql

7.获得mysql.server,并启动

    $cp share/mysql/mysql.server ./bin/ $bin/mysql.server start或者

    $bin/mysqld_safe --user=mysql &

8.设置root密码 $bin/mysqladmin -uroot password pass1

9.清理空账号 SQL>select user,host from mysql.user;

10.导入数据

SQL>source sakila_schema.sql; SQL>source sakila_data.sql;

 

最终文件布局

 

1.参数文件读取顺序:

   ./libexec/mysqld --help --verbose|less

   ./bin/mysql --help --verbose|less 把1、2、4位置指定的my.cnf删除掉

2.查看参数文件,官方文档server variables部分

 

 

源码安装的一些优化

查看编译选项 $./configure –-help|less

去除非必要模块

$./configure –-without-docs –-without-man

$./configure –-without-server

$./configure –-without-client

去除非必要字符集

$./configure –-with-extra-charsets=gbk,utf8

静态编译,5-10%提升

$./configure --with-mysqld-ldflags=-all-static

$./configure --with-client-ldflags=-all-static

 


 4、mysql启动

 

启动
mysqld                
    debug用,输出到终端
    ./libexec/mysqld –-defaults-file=my.cnf --user=mysql
2.    mysqld_safe &
    读[mysqld],[server],[mysqld_safe]部分
    设置errlog和basedir
    监控mysqld
mysql.server start
    Unix发行版包含的脚本
    读[mysql.server],[mysqld]部分

将MySQL作为服务,开机自动启动

 

 5、mysql关闭

关闭
mysqladmin –uroot –ppassword shutdown
mysql.server stop
观察错误日志
观察读取参数文件顺序
ps –ef|grep mysqld

 

 

 

三   MySQL 5.5/5.6安装

解压cmake包并安装
    tar –xzvf cmake.tar.gz
    ./bootstrap --prefix=/home/mysql/tools/cmake
    make 
    make install
    export PATH=$PATH:/home/mysql/tools/cmake/bin
cmake查看编译参数
    cmake . –LAH 


解压mysql 5.5并安装

tar –xzv mysql-5.5.35.tar.gz

cd mysql-5.5.35

bpath=“/home/mysql/mysql_5535”

cmake . \

-DCMAKE_INSTALL_PREFIX=${bpath} \

-DINSTALL_MYSQLDATADIR=“${bpath}/var” \

-DMYSQL_DATADIR=${bpath}/var \

-DSYSCONFDIR=${bpath}/etc \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

//字符校验规则 -DMYSQL_TCP_PORT=5535 \

//指定端口 -DMYSQL_UNIX_ADDR=${bpath}/tmp/mysql.sock \

//指定sorket -DWITH_EXTRA_CHARSETS=all

 


make

make install

mkdir log tmp etc var

拷贝配置文件

cp my.cnf ~/mysql_5535/etc/my.cnf

初始化mysql库

cp scripts/mysql_install_db ./bin/

./mysql_install_db \

--defaults-file=/home/mysql/mysql_5535/etc/my.cnf

启动mysqld实例

cp support-files/mysql.server ./bin/

./bin/mysql.server start

清理空账号

导入数据

 

 

 

 

四  实战案例

单机多实例:安装2个mysql实例,并正确启动。家目录分别为:
mysql_instance1
mysql_instance2
用第一个mysql客户端登录到第二个mysqld里

 

 

安装mysql 5.5.35
安装mysql 5.6.20

 

posted @ 2016-07-26 11:51  wawahan  阅读(121)  评论(0)    收藏  举报