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


浙公网安备 33010602011771号