CentOS 编译安装 mysql

时间:2023-03-08 17:11:58
CentOS 编译安装 mysql

1、前期准备

1.1 环境说明:
操作系统: CentOS release 6.4 (Final) [查看命令 cat /etc/redhat-release ]
mysql : mysql-5.6.26

1.2 彻底删除系统自带mysql

yum remove mysql mysql-server mysql-libs compat-mysql*
rm -rf /var/lib/mysql
#查看是否还有mysql安装程序
rpm -qa|grep mysql
rpm -e --nodeps <包的名字> 不检查依赖,直接删除rpm包

1.3 安装包准备

下载编译工具以及mysql安装包。

cd cd /usr/local/src/
wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.26.tar.gz
wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz

1.4 初始系统编译工具

yum install gcc gcc-c++ ncurses-devel perl -y

2、cmake 安装

cd cd /usr/local/src/
tar -xzvf cmake-2.8.10.2.tar.gz
cd cmake-2.8.10.2
./bootstrap ; make ; make install

3、mysql 安装

3.1 创建 mysql用户和组
groupadd mysql
useradd -r -g mysql mysql

3.2 创建 mysql 需要目录

mkdir -p /usr/local/mysql
mkdir -p /data/mysqldb

3.3 解压&编译
tar -zxv -f mysql-5.6.16.tar.gz
cd mysql-5.6.16

cmake ./ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DINSTALL_DATADIR=/data/mysqldb -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock

make&&make install

3.4 修改mysql目录所有者和组

cd /usr/local/mysql
chown -R mysql:mysql .

cd /data/mysqldb
chown -R mysql:mysql .

3.5 初始mysql

cd /usr/local/mysql
scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb

3.6 复制mysql服务启动配置文件

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

修改 /etc/my.cnf

[mysqld]
basedir = /usr/local/mysql
datadir =/data/mysqldb/

3.7 复制mysql服务启动脚本以及配置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
3.8 启动mysql服务 并 加入开机自启动
service mysqld start
chkconfig --level 35 mysqld on

3.9 检查mysql服务是否启动

netstat -tulnp | grep 3306
mysql -u root -p

3.10 添加防火墙

# root 用户登录 使用 /sbin/iptables
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/rc.d/init.d/iptables restart

4、mysql 安装验证

4.1 修改MySQL root用户密码

# 修改root 密码
# mysql -h127.0.0.1 -uroot -p
# update mysql.user set password=password("mysqldba") where user='root';
# flush privileges;

# mysql -u root -ppassword //进入mysql控制台
# mysql>use mysql;
-- 这个命令执行错误时可略过
# mysql>update user set host = '%' where user = 'root';
# mysql>flush privileges;
# mysql>select host, user from user; //检查‘%’ 是否插入到数据库中
# mysql>quit

5、 常见问题:

5.1 MySQL问题解决:-bash:mysql:command not found
因为mysql命令的路径在/usr/local/mysql/bin下面,所以你直接使用mysql命令时,
系统在/usr/bin下面查此命令,所以找不到了
解决办法是:
ln -s /usr/local/mysql/bin/mysql /usr/bin 做个链接即可

参考文件:

《Linux CentOS6.5下编译安装MySQL 5.6.16【给力详细教程】》
http://blog.csdn.net/wendi_0506/article/details/39478369