Centos7.4 编译安装Mysql 5.7.21数据库,加添服务并 配置开机启动。使用yum安装的Mysql一般版本比较旧,如果想要尝试最新的功能或者需要指定特殊的功能的话,就需要手工进行编译安装了。
一、下载Mysql boost
下载源码
https://dev.mysql.com/downloads/mysql/
1.在Select Operating System:选择Source Code
2.在下面的Select OS Version:选择Generic Linux (Architecture Independent);
3.然后再下面的部分可以看到Compressed TAR Archive,单击后面的Download;
4.在最下面的No thanks, just start my download.就是下载地址了
1 |
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.21.tar.gz |
二、下载boost
Mysql5.7 要求boost的版本1.59
1 |
wget --no-check-certificate http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz |
三、安装依赖
1 |
yum install -y cmake bison bison-devel libaio-devel gcc gcc-c++ git ncurses-devel |
四、解压mysql源文件
1 |
tar -zxvf mysql-5.7.21.tar.gz |
五、进入Mysql源文件目录,新建configure做为编译目录,并进入该目录
1 2 3 |
cd mysql-5.7.21 mkdir configure cd configure |
六、使用cmake进行生成编译环境
-DCMAKE_INSTALL_PREFIX mysql安装目录
-DMYSQL_DATADIR 数据库文件没有了
-DSYSCONFDIR 配置文件目录(配置文件需要自己创建)
-DMYSQL_UNIX_ADDR sock目录 春风这里使用/dev/shm(物理内存目录)
-DWITH_BOOST= boost源码文件
-DEXTRA_CHARSETS 安装所字符集 可以用all安装所有扩展字符集
-DDEFAULT_CHARSET 使用utf8字符
-DDEFAULT_COLLATION 校验字符
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
cmake .. -DCMAKE_INSTALL_PREFIX=/data/apps/mysql \ -DMYSQL_DATADIR=/data/apps/mysql/data \ -DSYSCONFDIR=/data/apps/conf/mysql/etc \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DMYSQL_UNIX_ADDR=/dev/shm/mysql.sock \ -DMYSQL_TCP_PORT=3306 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_DEBUG=0 \ -DMYSQL_MAINTAINER_MODE=1 \ -DWITH_SSL:STRING=bundled \ -DWITH_ZLIB:STRING=bundled \ -DDOWNLOAD_BOOST=1 \ -DWITH_BOOST=/root/boost_1_59_0.tar.gz |
如果编译出现错误,请先删除CMakeCache.txt后,再重新编译
1 |
rm -rf CMakeCache.txt |
如果出现下面的提示就表示成功生成了编译环境
1 2 |
-- Configuring done -- Generating done |
七、使用make进行编译
1 |
make && make install |
八、初始化数据库
1.新建www用户组
1 |
groupadd www |
2.新建mysql用户
1 |
useradd -g www mysql -s /sbin/nologin |
3.新建数据库文件夹、日志文件夹、配置文件文件夹,并更改用户为mysql
1 2 |
mkdir -p /data/apps/mysql/data /data/apps/log/mysql /data/apps/conf/mysql/etc chown -R mysql:www /data/apps/mysql /data/apps/log/mysql /data/apps/conf/mysql |
4.创建配置文件
1 |
vim /data/apps/conf/mysql/etc/my.cnf |
加入以下内容
1 2 3 4 5 6 |
[mysqld] port = 3306 socket = /dev/shm/mysql.sock basedir = /data/apps/mysql datadir = /data/apps/mysql/data log_error = /data/apps/log/mysql/error.log |
5.配置MySQL环境变量
1 2 3 4 5 6 |
vim /etc/profile export PATH=/data/apps/php/bin:/data/apps/php/sbin:$PATH #改为 export PATH=/data/apps/php/bin:/data/apps/php/sbin:/data/apps/mysql/bin:$PATH #让变量生效 source /etc/profile |
6.初始化数据库
1 |
/data/apps/mysql/bin --initialize --user=mysql |
九、复制启动脚本 配置开机启动
1.复制启动脚本
1 |
cp /data/apps/mysql/support-files/mysql.server /etc/init.d/mysql |
2.修改脚本
1 |
vim /etc/init.d/mysql |
找到以下两行
1 2 |
basedir= datadir= |
改为
1 2 |
basedir=/data/apps/mysql/ datadir=/data/apps/mysql/data |
3.给脚本可执行权限
1 |
chmod +x /etc/init.d/mysql |
4.启动Mysql数据库
1 |
systemctl start mysql |
5.设为开机启动
1 |
systemctl enable mysql |
十、修改Mysql 初始密码
1.获取初始密码
1 2 |
cat /root/.mysql_secret !n1,lI1og4Sy |
2.使用初始密码登陆Mysql
1 |
mysql -uroot -p |
3.修改root密码
1 |
mysql> alter user 'root'@'localhost' identified by '密码'; |
4.重启Mysql
1 |
systemctl restart mysql |
Mysql启动、停止、重启命令
1 2 3 4 5 6 |
#启动 systemctl start mysql #停止 systemctl stop mysql #重启 systemctl restart mysql |