前提准备:
1、 yum安装gcc gcc-c++make cmake bison ncusres ncurses-devel bzip2 bzip2-devel bzip2-libspython-devel
2、 cmake版本要>=2.8
3、 编译安装boost,源码包自行下载。
4、 MySQL源码包在官网下载:mysql-xxxxx.tar.gz
5、 建立mysql用户,且不可登陆。
6、 各种目录注意提前建立好!防止报错!
安装:
1、 编译安装boost
解压:
#tar zxvf boost_1_59_0.tar.gz
进入目录:
#cd boost_1_59_0
配置:
# ./bootstrap.sh
编译:
# ./b2
安装:
# ./b2 install
安装完成,注意报错,使用echo $?检查报错!
2、 编译安装mysql
解压:
#tar zxvf mysql-5.7.9.tar.gz
进入目录:
#cd mysql-5.7.9
配置:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mysql/data -DSYSCONFDIR=/etc-DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1-DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1-DENABLE_DOWNLOADS=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci -DWITH_DEBUG=0 -DMYSQL_MAINTAINER_MODE=0
配置详情:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ [MySQL安装的根目录]
-DMYSQL_DATADIR=/mydata/mysql/data \ [MySQL数据库文件存放目录]
-DSYSCONFDIR=/etc \ [MySQL配置文件所在目录]
-DMYSQL_USER=mysql \ [MySQL用户名]
-DWITH_MYISAM_STORAGE_ENGINE=1 \ [MySQL的数据库引擎]
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ [MySQL的数据库引擎]
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ [MySQL的数据库引擎]
-DWITH_MEMORY_STORAGE_ENGINE=1 \ [MySQL的数据库引擎]
-DWITH_READLINE=1 \ [MySQL的readlinelibrary]
-DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock \ [MySQL的通讯目录]
-DMYSQL_TCP_PORT=3306 \ [MySQL的监听端口]
-DENABLED_LOCAL_INFILE=1 \ [启用加载本地数据]
-DENABLE_DOWNLOADS=1 \ [编译时允许自主下载相关文件]
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \ [使MySQL支持所有的扩展字符]
-DDEFAULT_CHARSET=utf8 \ [设置默认字符集为utf8]
-DDEFAULT_COLLATION=utf8_general_ci \ [设置默认字符校对]
-DWITH_DEBUG=0 \ [禁用调试模式]
-DMYSQL_MAINTAINER_MODE=0 \
-DWITH_SSL:STRING=bundled \ [通讯时支持ssl协议]
-DWITH_ZLIB:STRING=bundled [允许使用zliblibrary]
编译安装:
#make &&make install
注意:需要大量内存和cup资源,内存小于1G且没有内存空间时容易安装停止在make的50%左右。
安装成功!准备数据库数据目录,且给予mysql绝对的权限。
3、配置
初始化数据库:这里很多报错,注意一一解决!!!!!
#mysqld--initialize-insecure
必要时加上用户和指定目录。如:
--user=mysql --basedir=/usr/local/mysql --datadir=/mydata/mysql/data
看看是否生成数据文件,没报错的话一般没问题!
制作开机自动启动:
#cp/usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
#chkconfigmysqld on
#chkconfig –list
启动mysql:
方法一:源码启动
#/usr/local/mysql/bin/mysqld_safe–user=mysql &
方法二:rpm启动
#servermysqld start/stop/restart
设置密码:
如果之前初始化时生成临时密码则使用临时密码登陆,未生成密码时密码为空,使用以下操作,按照提示设置密码。
#mysql_secure_installation
如果已经生成临时密码就登陆mysql后修改密码。
#/usr/local/mysql/bin/mysql–uroot –p临时密码
>SETPASSWORD=PASSWORD('密码');
>FLUSHPRIVILEGES;
或者
>UPDATEmysql.user SET Password=PASSWORD('密码') where USER='root' and host='root' or host='localhost';
>FLUSH PRIVILEGES;
安装报错解决的文章:
https://typecodes.com/web/solvemysqlcompileerror.html