CentOS7源码安装MySQL5.7
在线安装请看:https://www.cnblogs.com/renlywen/p/13502794.html
一、简介
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
二、下载
MySQL官网:https://www.mysql.com/
下载链接:https://downloads.mysql.com/archives/community/
选择自己合适的版本下载。
注意:Mysql5.7版本更新后有很多变化,连编译安装都有变化,而MySQL5.7的安装必须要boost库,不过MySQL的官网源码有带boost库的源码和不带boost库的源码两种,因此有两种安装方式,其实都是一样的,如果选择不带boost库源码的需要在安装MySQL之前单独安装boost,并在编译时指定boost的安装目录,选择带boost的版本,则不需要提前安装boost,只需要在cmake编译时带上参数-DWITH_BOOST=boost即可。
三、安装准备
在linux上安装libaio, libaio 包的作用是为了支持同步I/O,对于数据库之类的系统特别重要。
yum install -y libaio
安装 cmake,CMake是一个跨平台的安装(编译)工具。
yum install -y cmake
安装其他依赖
yum install -y gcc-c++ bison-devel ncurses-devel bison perl perl-devel perl perl-devel
创建一个资源目录把在官网下载的安装包 上传到这个目录下
mkdir /usr/local/resource
解压安装包
tar -zxvf mysql-boost-5.7.30.tar.gz
添加mysql组及用户
groupadd mysql
useradd -r -g mysql mysql
新建MySQL的安装目录
mkdir /usr/local/mysql
新建MySQL的数据存储目录
mkdir /usr/local/mysql/data
四、安装
进入解压的目录
cd /usr/local/resource/mysql-5.7.30
cmake编译
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_BOOST=boost -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
make编译,此处时间比较长,约半小时,耐心等待
make
make安装
make install
设置权限
chown -R root /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
chown -R mysql /usr/local/mysql/data
初始化MySQL
cd /usr/local/mysql/bin
./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --initialize
初始化完成,并给root用户生成了临时密码,这里要把密码记录下来,稍后需要使用
!DfWEHa#0z.C
复制mysql服务启动脚本
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
启动MySQL服务
service mysqld start
登录
cd /usr/local/mysql/bin
./mysql -u root -p
输入刚刚的密码
登录成功
修改MySQL用户root的密码为123456
mysql> set password for root@localhost = password('123456');
赋予权限并设置可以远程访问
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
刷新权限
mysql> FLUSH PRIVILEGES;
查看权限
mysql> select user,host from mysql.user;
远程测试连接
至此,MySQL5.7.30已经安装成功!
五、命令
service mysqld start # 启动
service mysqld restart # 重启
service mysqld stop # 停止