centos7 mysql 5.7.28源码安装

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;