一直都是用的lnmp一键安装脚本,然后最近想体验一下手动的从源代码安装lnmp的感觉
系统:centos7
安装一下必要的工具:
yum install gcc gcc-c++ ncurses-devel perl
下载
wget https://cmake.org/files/v3.7/cmake-3.7.2.tar.gz
tar -zxvf cmake-3.7.2.tar.gz
cd cmake-3.7.2
./bootstrap
make
make install
groupadd mysql
useradd -s /sbin/nologin -g mysql -M mysql
mkdir -p /home/mysql/{data,log,tmp}
chown -R mysql:mysql /home/mysql/
下载mysql
wget http://mirrors.163.com/mysql/Downloads/MySQL-5.7/mysql-boost-5.7.23.tar.gz
tar -zxvf mysql-boost-5.7.23.tar.gz
cmake . -DCMAKE_INSTALL_PREFIX=/home/mysql -DMYSQL_DATADIR=/home/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DENABLE_DOWNLOADS=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/home/mysql-boost-5.7.23/boost
因为我下载的mysql是自带boost库的,所以我直接指定文件路径就好
make && make install
等他编译完成 可能需要一会的等待 编译完成后,添加环境变量
echo "export PATH=$PATH:/home/mysql/bin">>/etc/profile
source /etc/profile
接下来配置my.cnf
这里推荐一个自动生成my.cnf文件的网站
http://imysql.com/my-cnf-wizard.html
填写一些必要的信息,然后下载my.cnf文件
复制到/etc/
下
cp my.cnf /etc/
mysqld --defaults-file=/etc/my.cnf --initialize --datadir=/home/mysql/data --user=mysql --basedir=/home/mysql
mysqld_safe --defaults-file=/etc/my.cnf &
最后添加启动项,这样就可以不用一直用mysqld_safe启动mysql了
cp /home/mysql/support-files/mysql.server /etc/init.d/mysqld
然后修改一下mysql的密码
先暂停所有的mysql服务
/etc/init.d/mysqld stop
mysqld_safe --skip-grant-tables --skip-networking &
mysql -p
mysql> update mysql.user set authentication_string=password('password') where user='root' and Host = 'localhos
然后在重新启动mysql,用你上面的密码登录就好了