centos7 mysql 5.7.28源码安装

2,713 阅读1分钟

1、下载源码

mysql

https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.28.tar.gz

boost

https://gigenet.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz

2、安装依赖

yum -y install cmake ncurses-devel gcc gcc-c++ pcre pcre-devel openssl openssl-devel

3、解压

tar -zxvf mysql-5.7.28.tar.gz
tar -zxvf boost_1_59_0.tar.gz
解压文件放到/opt/目录下面

[root@centos opt]# ls
boost_1_59_0  mysql-5.7.28 
[root@centos opt]# 

4、编译

# 进到MySQL目录
cd  /opt/mysql-5.7.28
# 预编译
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.7.28 \
-DWITH_BOOST=/opt/boost_1_59_0 \
-DMYSQL_UNIX_ADDR=/data/mysql/tmp/mysql.sock \
-DMYSQL_DATADIR=/data/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_INNODB_MEMCACHED=1 \
-DWITH_DEBUG=OFF \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DENABLED_PROFILING=ON \
-DMYSQL_MAINTAINER_MODE=OFF \
-DMYSQL_TCP_PORT=3306
# 编译&安装
make && make install

5、配置

创建软连接

cd /usr/local
ln -s mysql-5.7.28 mysql

配置环境变量

vim /etc/profile
export PATH=/usr/local/mysql/bin:$PATH
export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
source /etc/profile

创建mysql用户和data目录

cd /data/mysql
mkdir -p /data/mysql/{data,tmp,logs,pids,share}
touch /data/mysql/logs/mysqld.log
touch /data/mysql/pids/mysqld.pid
useradd -s /sbin/nologin -M mysql
chown -R mysql:mysql /data/mysql

修改/etc/my.cnf文件,编辑配置文件如下

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
datadir=/data/mysql/data
socket=/data/mysql/tmp/mysql.sock

[mysqld_safe]
log-error=/data/mysql/logs/mysqld.log
pid-file=/data/mysql/pids/mysqld.pid

[client]
default-character-set=utf8mb4

加入守护进程

cd /usr/local/mysql
cp support-files/mysql.server /etc/init.d/mysqld
chmod a+x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on

初始化数据库, –initialize 表示默认生成一个安全的密码,–initialize-insecure 表示不生成密码
basedir:mysql安装目录
datadir:mysql数据存放目录

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

启动MySQL
service mysqld start

6、登录MySQL,修改密码

mysql -u root -p #第一次登陆不需要密码,回车即可
set password for root@localhost = password('root');  #修改密码

7、创建数据库以及用户

create database dbname;
grant all privileges on dbname.* to 'uname'@'%' identified by '123456' with grant option;
flush privileges;