相比较于MySQL的源代码安装来讲。免编译二进制包的速度实在是快了太多,并且性能损失也不是很大,同时具备必定的定制性。因此,若是没有特殊的
需求,尽可能用MySQL免编译二进制包来安装MySQL。mysql
1.下载软件包linux
# 5.6版本应该都是能够的。具体版本本身选 # http://mirrors.163.com/mysql/Downloads/MySQL-5.6/ 用的mysql-5.6.38-linux-glibc2.12-x86_64.tar.gz
2.依赖包安装sql
yum -y install libaio
3.进入/usr/local/srcsocket
cd /usr/local/src/
4.解压软件包性能
tar -xvf mysql-5.6.38-linux-glibc2.12-x86_64.tar.gz
5.将解压后的软件包移动到/usr/local并更名为mysqlcode
mv mysql-5.6.38-linux-glibc2.12-x86_64 /usr/local/mysql
6.进入/usr/local/mysqlserver
cd /usr/local/mysql
7.新建用户和数据目录ip
useradd -M -s /sbin/nologin mysql id mysql mkdir -p /data/mysql chown -R mysql:mysql /data/mysql
8.初始化mysqlit
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
9.修改配置文件io
mv /etc/my.cnf /etc/my.mariadb.cnf.bak cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf sed -i 's@# basedir =@basedir = /usr/local/mysql@' /etc/my.cnf sed -i 's@# datadir =@datadir = /data/mysql@' /etc/my.cnf sed -i 's@# socket =@socket = /tmp/mysql.sock@' /etc/my.cnf
10.拷贝/usr/local/mysql/suppsupport-files/mysql.server启动脚本到/etc/init.d下
#需在/usc/local/mysql目录下 cp ./support-files/mysql.server /etc/init.d/mysqld
11.编辑 mysqld脚本
#修改以下内容 sed -i 's@basedir=$@basedir=/usr/local/mysql@' /etc/init.d/mysqld sed -i 's@datadir=$@datadir=/data/mysql@' /etc/init.d/mysqld
12.将mysql设置为开机启动
# cd /etc/init.d/ chkconfig --add mysqld chkconfig --list
13.设置PATH,不然不能直接调用mysql,修改/etc/profile文件,在文件末尾添加
echo 'export PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile #添加环境变量后,source或 . 生效 source /etc/profile
/etc/init.d/mysqld start netstat -nltup | grep :3306 ps aux | grep mysqld lsof -i :3306
QA
Error: Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory 解决: yum -y install libaio