centos7 下源码安装mysql5.7

第一步

下载MySQL5.7版本

官方网页:https://www.mysql.com/

下载方式:wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.23.tar.gz

第二步

安装依赖包

yum -y install ncurses ncurses-devel bison cmake gcc gcc-c++ make

第三步

创建数据库程度用户

useradd -s /sbin/nologin mysql

第四步

由于mysql5.7版本需求boost的版本要高,系统自带的boost版本偏低,不可用

在/usr/local下创建一个名为boost的文件夹

mkdir -p /usr/local/boost

进入这个新创建的文件夹然后下载boost

cd /usr/local/boost

wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

解压

tar -xvzf boost_1_59_0.tar.gz

第五步

安装mysql

解压MYSQL源码包并进入

tar -zxf mysql-5.7.23.tar.gz

cd mysql-5.7.23/

检测安装环境

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DSYSCONFDIR=/etc -DSYSTEMD_PID_DIR=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_BOOST=boost -DWITH_SYSTEMD=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost

解释

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql

​ ##定义安装目录

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock

​ ##连接数据库socket路径

-DSYSCONFDIR=/etc

​ ##指定初始化参数文件目录(my.cnf)

-DSYSTEMD_PID_DIR=/usr/local/mysql

​ ##数据库目录

-DDEFAULT_CHARSET=utf8

​ ##指定默认使用的字符集编码

-DDEFAULT_COLLATION=utf8_general_ci

​ ##指定默认使用的字符集校对规则,utf8_general_ci是适用于UTF-8字符集的通用规则

-DWITH_INNOBASE_STORAGE_ENGINE=1

​ ##支持InnoDB引擎

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1

​ ##安装支持数据库分区

编译

make

安装

make install

第六步

优化mysql的配置

对数据库目录进行权限设置

chown -R mysql.mysql /usr/local/mysql/

配置mysql主配置文件

清空mysql主配置文件中的默认配置

echo ‘’ > /etc/my.cnf

添加mysql主配置文件中的默认配置

vim /etc/my.cnf

增加以下的配置

[client]
port = 3306 
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

权限赋予

chown mysql:mysql /etc/my.cnf

设置环境变量

vim /etc/profile

增加以下的配置

PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH

source /etc/profile

##刷新配置文件

初始化数据库

进入mysql目录

cd /usr/local/mysql/bin/

初始化数据库

mysqld –initialize-insecure –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data

添加系统服务

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

systemctl daemon-reload

设置开机自启

systemctl enable mysqld

开启mysql服务

systemctl start mysqld

查看mysql服务是否开启

netstat -an | grep 3306

修改mysql密码

初始数据库是没有密码的,所以直接进入

mysql -u root

修改密码

update mysql.user set authentication_string=password(‘密码’) where user=’root’;

增加外部连接用户

create user ‘root’@’%’ identified by ‘密码’;

增加用户全部权限

grant all on . to root@’%’ identified by ‘123456’;

grant all on . to root@’localhost’ identified by ‘123456’;

刷新Mysql权限

flush privileges;

查看数据库版本

SHOW VARIABLES WHERE Variable_name = ‘version’;


   转载规则


《centos7 下源码安装mysql5.7》 江松泉 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
centos7-pip-9.0.3安装 centos7-pip-9.0.3安装
第一步下载pip9.0 wget https://files.pythonhosted.org/packages/c4/44/e6b8056b6c8f2bfd1445cc9990f478930d8e3459e9dbf5b8e2d2922d6
2018-11-06
下一篇 
mysql修改连接数 mysql修改连接数
第一种临时生效直接修改mysql中的表数据,只能临时生效,重启mysql不生效 用管理员进入mysql后 set GLOBAL max_connections=1024; 第二种永久生效通过直接修改mysql的配置文件 vim /etc/m
2018-11-02
  目录