相比較於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