首先你安装个单实例的mysql试一试
一 检查你电脑之前是否装了mysql
rpm -qa | grep mysql
这条命令只是查看你系统是否使用过yum或者rpm包安装mysql,对用源码包安装的mysql是查不到的,所以基本用不到
二 安装编译所需的包
yum -y install make gcc-c++ cmake bison-devel ncurses-devel
三 准备mysql 源码包
mysql-5.6.14.tar.gz 解压源码包
四 编译安装
进入 mysql-5.6.14
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
make && make install
五 创建mysql用户 ,修改目录权限
groupadd mysql
useradd -g mysql mysql
chown -R mysql:mysql /usr/local/mysql
六 安装系统默认的库和数据文件
进入安装路径 cd /usr/local/mysql
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!
注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。
在使用"yum update"更新系统后,需要检查下/etc目录下是否会多出一个my.cnf,如果多出,将它重命名成别的。否则,MySQL将使用这个配置文件启动,可能造成无法正常启动等问题。
七 启动 mysql
进入安装路径 cd /usr/local/mysql
cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on service mysql start --启动MySQL
查看是否启动成功: netstat -tulnp | grep 330
可以查到3306端口,恭喜你服务启动成功了。
八 修改/etc/profile文件
vim /etc/profile文件,在文件末尾添加
path=/usr/local/mysql/bin:$path
export path
关闭文件,运行下面的命令,让配置立即生效
source /etc/profile
九 修改mysql的密码和访问权限
现在,我们可以在终端内直接输入mysql进入,mysql的环境了
执行下面的命令修改root密码
mysql -uroot mysql> SET PASSWORD = PASSWORD(‘123456‘);
若要设置root用户可以远程访问,执行
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘123456‘ WITH GRANT OPTION;
这时你就可以使用mysql远程连接工具连接mysql了
下面的是重点了,如何安装多实例的mysql
一 先停止mysql进程
pkill mysql
二 mkdir -p /data/{3306,3307}/data
这里是在根目录建一个data 目录, 在data 分别建3306和3307 ,在3306下建一个data目录,在3307下建一个data目录。3306,3307用来区分实例,3306实例的所 有内容都在3306里面,3307实例的所有的内容都在3307里面
在这里下载所需要的文拷贝到对应的目录 http://pan.baidu.com/s/1miDhE9y
3306的目录结构是 my.cnf mysql data
3307和3306是一样的结构了
启动和停止mysql的命令都是写好在实例的mysql文件里了
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/3307/data --user=mysql
修改权限/data/3307/mysql 为可执行
启动服务 /data/3307/mysql start
mysql -uroot -S /data/3307/mysql.sock
mysql -uroot
mysql> SET PASSWORD = PASSWORD(‘123456‘);
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘123456‘ WITH GRANT OPTION;