这次是在centos6.4下安装mysql,在安装之前,你要先确定你的linux已经安装了这些包:
wget, gcc-c++, ncurses-devel ,cmake, make ,perl
如果没有可以用以下命令安装:
yum install -y wget gcc-c++ ncurses-devel cmake make perl
安装完所需要的包之后,具体安装mysql的步骤如下:
1.创建mysql用户组与mysql用户
创建用户组:groupadd mysql
创建用户并附在mysql组下:useradd mysql -g mysql
2.创建mysql的安装目录与mysql表数据的存放目录
我的mysql是放放/usr/local目录下,数据也是放在这个目录下
mkdir /usr/local/mysql:mysql程序目录
mkdir /usr/loca/mysqldat:mysql数据目录
3.下载mysql源码包
wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.11.tar.gz
4.解压源码包进入目录
tar -xzvf mysql-5.6.11.tar.gz
cd mysql-5.6.11
5.编译源码包
mysql已经不用./configure做编译了,现在是cmake做编译
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 这个是mysql程序目录
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=../boost_1_60_0 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/usr/local/mysqldata \ 这个是数据目录
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306
6.安装
make && make install
7.修改安装目录与数据目录的所有者与组
chown -R mysql:mysql mysql
chown -R mysql:mysql mysqldata
8.执行初始化配置脚本,创建系统自带的数据库和表.并生成配置文件my.cnf
执行mysql程序目录中scripts下的mysql_install_db命令:
./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysqldata
注:在启动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将使用这个配置文件启动,可能造成无法正常启动等问题。
9.增加mysql目录到$PATH中
PATH="/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH"
如果要保持长期有效,就得编辑/etc/profile这个文件,加入一行
export PATH="/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH"
10.增加mysql服务为开机自动启动
把mysql程序目录下的support-files目录下的mysql-server复制到/etc/init.d/下做为mysql随机启动的服务
cp ./supprt-files/mysql.server /etc/init.d/mysql
11.启动服务
service mysql start
chkconfig mysql on
12.修改root密码
mysql -u root
use mysql;
update user set Password=password('123456') where User='root';
flush privileges;