基于Linux的MySQL5.7源码编译安装

1、下载Mysql5.7编译包

打开mysql官网下载页面:  https://dev.mysql.com/downloads/mysql/

2、解压并编译安装

shell> tar zxvf mysql-5.7.33.tar.gz
shell> cd mysql-5.7.33 
shell> cmake \
     -DCMAKE_INSTALL_PREFIX=/mysql/app \
     -DMYSQL_DATADIR=/mysql/app/data \
     -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
     -DDEFAULT_CHARSET=utf8 \
     -DDEFAULT_COLLATION=utf8_general_ci \
     -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
     -DENABLED_LOCAL_INFILE=ON \
     -DWITH_INNOBASE_STORAGE_ENGINE=1 \
     -DWITH_FEDERATED_STORAGE_ENGINE=1 \
     -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
     -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
     -DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
     -DWITH_FAST_MUTEXES=1 \
     -DWITH_ZLIB=bundled \
     -DENABLED_LOCAL_INFILE=1 \
     -DWITH_READLINE=1 \
     -DWITH_EMBEDDED_SERVER=1 \
     -DWITH_DEBUG=0 \
     -DWITH_BOOST=/usr/include/boost // 指定boost库位置,MYSQL5.7后必须添加该参数
shell> make && make install

整个过程需要20-60分钟不等。

异常处理:如果中途出错重新运行配置,则需要删除CMakeCache.txt文件: rm -rf CMakeCache.txt

3、初始化MySQL

shell> cd /mysql/app 
shell> mysqld --initialize --user=mysql --basedir=/mysql/app --datadir=/mysql/app/data
查看初始化随机生成密码
shell> grep "temporary password" /mysql/app/data/myerror.log

4、创建配置文件

shell> vi /etc/my.cnf 
[mysqld]
basedir=/mysql/app/
datadir=/mysql/app/data
innodb_file_per_table=1
log_error=/mysql/app/data/myerror .log
server_id=57
slow_query_log=1
log-bin=mysql-bin
binlog_format=ROW

实施过程中需要根据实际情况和需求自行添加和调整参数

5、添加环境变量

shell> vi /root/.bash_profile
export PATH=/mysql/app/bin:$PATH
shell> source /root/.bash_profile

6、配置数据库服务

shell> cp /mysql/app/support-files/mysql.server /etc/rc.d/init.d/mysqld
shell> vi /etc/rc.d/init.d/mysqld 
basedir=/mysql/app
datadir=/mysql/app/data

7、启停MySQL   

shell> systemctl start mysqld      // 启动mysql
shell> systemctl status mysqld     // 查看启动状态
shell> systemctl stop mysqld       // 停止mysql

8、修改root用户密码并登陆

shell> mysqladmin -uroot -p"7fAf mysql -uroot -pAbcd321#



请使用浏览器的分享功能分享到微信等