一、编译安装MySQL前的准备工作
安装编译源码所需的工具和库
yum install gcc gcc-c++ ncurses-devel perl
安装cmake,从
-
-
wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz
-
tar -xzvf cmake-2.8.10.2.tar.gz
-
cd cmake-2.8.10.2
-
./bootstrap ; make ; make install
-
cd ~
-
二、设置MySQL用户和组
新增mysql用户组
-
-
groupadd mysql
-
新增mysql用户
a. useradd -r -g mysql mysql
三、新建MySQL所需要的目录
新建mysql安装目录
a. mkdir -p /usr/local/mysql
新建mysql数据库数据文件目录
a. mkdir -p /data/mysqldb
四、下载MySQL源码包并解压
下载mysql : http://pan.baidu.com/s/1pLbCDbd
-
-
tar -zxv -f mysql-5.6.16.tar.gz
-
cd mysql-5.6.16
-
五、编译安装MySQL
从mysql5.5起,mysql源码安装开始使用cmake了,设置源码编译配置脚本。
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/mnt/soft/mysql/mysql_install_db_store \
-DMYSQL_TCP_PORT=3306 \
-DENABLE_DOWNLOADS=1
特别注意: \前面的空格是必须的 -和\之间 没有空格
注:重新运行配置,需要删除CMakeCache.txt文件
-
-
-
rm CMakeCache.txt
-
-
编译源码
make
安装
-
-
-
make install
-
-
六、修改mysql目录所有者和组
修改mysql安装目录的所有者
-
-
cd /usr/local/mysql
chown -R mysql:mysql .
-
修改mysql数据库文件目录
-
-
cd /data/mysqldb
-
chown -R mysql:mysql .
-
七、初始化mysql数据库
-
-
cd /usr/local/mysql
-
scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb
-
八、复制mysql服务启动配置文件
-
-
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
-
注:如果/etc/my.cnf文件存在,则覆盖。
九、复制mysql服务启动脚本及加入PATH路径
十一、检查mysql服务是否启动
-
-
cp support-files/mysql.server /etc/init.d/mysqld
-
vim /etc/profile
在profile文件末尾添加上:
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH
-
source /etc/profile
十、启动mysql服务并加入开机自启动(可选这个步骤,以后可以自己启动的)
service mysqld start
chkconfig --level 35 mysqld on
遇到的问题:
/etc/rc.d/init.d/mysqld startStarting MySQL.Manager of pid-file quit without updating file.[失败]
---------------------------
解决办法:
配置的时候有一个步骤是 cp support-files/my-medium.cnf /etc/my.cnf ; 就编辑my.cnf,在[mysqld]下面加上:datadir = /usr/local/mysql/data
设置 允许远程访问:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Sxb889961' WITH GRANT OPTION;
设置root用户的访问密码:
use mysql;
update user set password=password('123456') where user='root';
flush privileges;
-
-
-
netstat -tulnp | grep 3306
-
mysql -u root -p
密码为空,如果能登陆上,则安装成功。
-
-
-