CentOS 7 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;