今天自己捣鼓了一下,在linux系统CentOs6.5下使用源码方式安装和配置mysql,这里记录一下步骤。
a) 下载mysql,source版本。Mysql-5.6.20.tar.gz
b) 安装编译源码所需的工具和库
yum install gcc gcc-c++ ncurses-devel perl
c) 安装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 ~
d) 新增mysql用户组
groupadd mysql
e) 新增mysql用户
useradd -r -g mysql mysql
f) 新建mysql安装目录
mkdir -p /usr/local/mysql
g)新建mysql数据库数据文件目录
mkdir -p /data/mysqldb
h)MySQL源码包并解压并安装
tar -zxv -f mysql-5.6.16.tar.gz cd mysql-5.6.16
i) 编译安装Mysql
1 cmake \ 2 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 3 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ 4 -DDEFAULT_CHARSET=utf8 \ 5 -DDEFAULT_COLLATION=utf8_general_ci \ 6 -DWITH_INNOBASE_STORAGE_ENGINE=1 \ 7 -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ 8 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ 9 -DMYSQL_DATADIR=/data/mysqldb \ 10 -DMYSQL_TCP_PORT=3306 \ 11 -DENABLE_DOWNLOADS=1
j) 重新运行配置,需要删除CMakeCache.txt文件
rm CMakeCache.txt
k) 编译源码,安装
make; make instsall
l)修改mysql目录所有者和组,权限
cd /usr/local/mysql chown -R mysql:mysql . cd /data/mysqldb chown -R mysql:mysql .
m)初始化mysql数据库
cd /usr/local/mysql
scripts/mysql_install_db
n)复制mysql服务启动配置文件
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
(启动时会检测/etc下的my.cnf)
o)将启动脚本加入path路径
cp support-files/mysql.server /etc/init.d/mysqld vim /etc/profile PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH export PATH source /etc/profile
p)启动mysql
service mysqld start
出错:
MySQL server PID file could not be found![失败] Starting MySQL...The server quit without updating PID file (/usr/local/mysql/data/rekfan.pid).[失败]
看日志是配置文件中未指定数据目录,在/etc/my.cnf中加入datadir = /usr/local/mysql/data
restart后还是报此错误,排查之后可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限。
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &
问题解决。
q)登陆mysql(初始无密码)
mysql -u root -p
r)修改myhsql用户root的密码
mysqladmin -u root password XXXXXX