1,MySQL官网下载:https://www.mysql.com/
下载历史版本:https://downloads.mysql.com/archives/
2,Linux下载MySQL
wget https://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.44.tar.gz
# 没有wget可以直接 yum -y install wget
3,安装MySQL扩展包: yum -y install ncurses-devel libaio-devel cmake gcc-c++ perl-Data-Dumper boost boost-doc boost-devel
(MySQL5.7以后,需要安装boost,在后续安装过程也可能boost报错,需要对应的版本,自己去下载安装)
4,adduser -s /sbin/nologin -M mysql
5,tar -zxvf mysql-5.6.44.tar.gz
6,cd mysql-5.6-44
7,cmake,MySQL高版本都必须cmake,不使用./configure
`cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.6 \ #mysql的安装目录
-DMYSQL_DATADIR=/data \ #数据的存放目录
-DMYSQL_UNIX_ADDR=/usr/local/mysql5.6/tmp/mysql.sock \ #本地连接数据库的方式,默认在tmp下
-DDEFAULT_CHARSET=utf8 \ #指定数据库字符集,默认是拉丁语
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \ #是否扩展其他字符集支持
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ # 后面四个是存储引擎,可以不加,默认就是这四个
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0 \
-DWITH_BOOST=/usr/include/boost`
`cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.6 -DMYSQL_DATADIR=/data -DMYSQL_UNIX_ADDR=/usr/local/mysql5.6/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITH_ZLIB=bundled -DWITH_SSL=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_EMBEDDED_SERVER=1 -DENABLE_DOWNLOADS=1 -DWITH_DEBUG=0 -DWITH_BOOST=/usr/include/boost`
8,make (最好make和make install分开,编译mysql经常会报错,先解决错误
9,make install
10,ln -s /usr/local/mysql-5.6.44/bin/mysql /usr/bin (这个根据个人喜好设置)
11,初始化
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/data --user=mysql --port=3306
12,设置权限/创建文件
chown -R mysql.mysql /usr/local/mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld (或者在添加一份到全局命令中 /usr/sbin/mysqld )
mkdir -p /usr/local/mysql/tmp
chown -R mysql.mysql /usr/local/mysql/tmp
13,开启服务
systemctl start mysqld 或者 /etc/init.d/mysqld start 或者 mysqld start
14,这个时候MySQL的root是没有密码的,不能登录,直接运行:/usr/local/mysql/bin/mysql
,进入MySQL,设置密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456'); # mysql5.7后面设置密码和此处不同
至此,MySQL编译安装完成