1、安装编译依赖
sudo apt-get install make cmake gcc g++ bison libncurses5-dev build-essential
2、下载mysql5.7源码并解压
下载地址:https://dev.mysql.com/downloads/mysql/,在“select operating system”中选择“source code”,然后下载源码包即可,我下载的版本是mysql-5.7.21 。
tar -xzf mysql-5.7..tar.gz -C /usr/local
cd /usr/local/mysql-5.7.21
3、编译安装
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE= -DWITH_ARCHIVE_STORAGE_ENGINE= -DWITH_BLACKHOLE_STORAGE_ENGINE= -DWITH_PARTITION_STORAGE_ENGINE= -DWITH_PERFSCHEMA_STORAGE_ENGINE= -DWITHOUT_EXAMPLE_STORAGE_ENGINE= -DWITHOUT_FEDERATED_STORAGE_ENGINE= -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE= -DWITH_READLINE= -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DMYSQL_TCP_PORT= -DMYSQL_USER=mysql -DCOMPILATION_COMMENT="lq-edition" -DENABLE_DTRACE= -DOPTIMIZER_TRACE= -DWITH_DEBUG=
这一步可能会遇到boost1_59的问题,下载boost1_59_0源码编译安装即可,下载地址:https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz,安装方法参照这篇文章(如果安装boost编译安装出现问题,则很可能是由于缺少libbz2-dev造成的,先apt-get install libbz2-dev后再编译安装boost即可)。
编译
make
安装
sudo make install
4、配置mysql
4.1 新建用户和用户组
sudo groupadd mysql
sudo useradd -g mysql mysql
4.2 设置mysql安装目录的权限
cd /usr/local/mysql
sudo chown -R mysql:mysql ./
4.3 初始化mysql,生成mysql临时密码
sudo bin/mysqld --initialize --user=mysql
这一步后会产生一个临时登录密码,可以在下一步登录时使用。
4.4 开启ssl功能
sudo bin/mysql_ssl_rsa_setup
4.5 测试启动mysql
sudo bin/mysqld_safe --user=mysql
4.6 启动mysql服务并更改密码
sudo support-files/mysql.server start
sudo bin/mysql -u root -p
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpassword');
4.7 将mysql服务放在/etc/init.d目录下
sudo support-files/mysql.server stop
sudo cp support-files/mysql.server /etc/init.d/mysql.server
这样就可以使用命令 service mysql.server start 来启动mysql服务。
4.8 将mysql添加到环境变量
vim ~/.bashrc
在开头添加
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
然后
source ~/.bashrc
使环境变量生效。
5、参考
1、https://blog.csdn.net/birdben/article/details/51712495
2、https://www.jianshu.com/p/117dab1b658d
3、https://blog.csdn.net/this_capslock/article/details/47170313