环境:CentOS 6.5 最小化缺省安装
Mysql:mysql-5.5.42.tar.gz
1.安装需要的软件包
yum install gcc gcc-c++ ncurses-devel cmake -y
安装之前要先从网上下载Mysql的源码安装包,最近上到官方网站上找不到下载源码包的地方,不知道是什么原因,希望高手告解一下。
我是从搜虎的开放源下载的:http://mirrors.sohu.com/mysql/MySQL-5.5/
下载回到本机电脑再利用lrzsz工具上传到Centos服务器上
把mysql-5.5.42.tar.gz 暂时上传到/downlocal目录下。
2.下载mysql源码包后解压
建立mysql的安装目录: mkdir -p/usr/local/mysql/data
建立mysql用户和组,并把上面的文件目录授于mysql用户和组所有者。
groupadd mysql
useradd mysql -g mysql
chmod -R mysql.mysql /usr/local/mysql/data
这里说明一下,我是把数据库存放在/data目录下。
tar -zxvf mysql-5.5.42.tar.gz
3. 进入解压后的源码包
cd mysql-5.5.42
4. cmake进行编译(首先要创建数据文件夹和安装文件夹, 如果路径不存在)
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data/ \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=1 \
参数说明:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //安装目录
-DINSTALL_DATADIR=/usr/local/mysql/data //数据库存放目录
-DMYSQL_UNIX_ADDR= //UNIX socket文件路径
-DDEFAULT_CHARSET=utf8 //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci //校验字符
-DEXTRA_CHARSETS=all //安装所有扩展字符集
-DENABLED_LOCAL_INFILE=1 //允许从本地导入数据
5.make && make install
配置文件由于源码安装所以要复制出配置文件和启动服务文件。
cd /usr/local/mysql
[root@server mysql]# cp support-files/my-medium.cnf /etc/my.cnf //Mysql的配置文件
[root@server mysql]# cp support-files/mysql.server /etc/init.d/mysqld //mysql的启动文件只是放到可以自启动的地方。
[root@server mysql]#在chmod 755 /etc/init.d/mysqld
6.直接启用数据库会出错。Starting MySQL... ERROR! The server quit without updating PID file (/usr/local/mysql/data/server.pid).
要初始化数据库。进入/usr/local/mysql目录。
[root@server mysql]#scripts/mysql_install_db
注:如果不能启动要设置一下环境变量 :
vi /etc/profile 在最后添加:
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH
保存即可。
service mysqld start 成功启动。
补充:昨天上面完成后会提示:bash: mysql: command not found
原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。
首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql,我们则可以这样执行命令:
# ln -s /usr/local/mysql/bin/mysql /usr/bin
转载于:https://blog.51cto.com/2305427/1631458