Linux上MySQL编译安装
mysql安装前准备
先关闭防火墙和selinux
systemctl stop firewalld #停止防火墙
systemctl disable firewalld #开机禁用防火墙
systemctl status firewalld #查看防火墙状态
编译安装mysql5.7
1.清理安装环境
yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y
userdel -r mysql
rm -rf /etc/my*
rm -rf /var/lib/mysql
2.创建mysql用户
useradd -r mysql -M -s /sbin/nologin #-M 不创建家目录
3.从官网下载tar包
1.先下载一个下载工具wget
yum -y install wget
2.前往MySQL官网
3.从官网或国内镜像站下载tar包
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.43.tar.gz #可能有点慢,耐心等待一下
快一点可以选择阿里云镜像(强力推荐!!!)
wget https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-boost-5.7.38.tar.gz
4.安装编译工具
yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make #一个不落
5.安装cmake
yum -y install cmake
6.解压
tar -xzvf mysql-boost-5.7.38.tar.gz -C /usr/local/
7.编译安装
先进入解压的mysql目录
cd /usr/local/mysql-5.7.38/
cmake . \
-DWITH_BOOST=boost/boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1
安装(这一步比较慢,需要30分钟左右)
make && make install
#如果安装出错,想重新安装:不用重新解压,只需要删除安装目录中的缓存文件CMakeCache.txt
8.初始化
cd /usr/local/mysql
chown -R mysql.mysql .
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
记录下初始密码
初始化,只需要初始化一次
vim /etc/my.cnf
如果打开文件有内容将文件中所有内容注释掉,在添加如下内容
[mysqld]
basedir=/usr/local/mysql #指定安装目录
datadir=/usr/local/mysql/data #指定数据存放目录
9.启动mysql
cd /usr/local/mysql
./bin/mysqld_safe --user=mysql &
启动之后再按一下回车!即可后台运行
登录mysql
/usr/local/mysql/bin/mysql -uroot -p'?ch_qRQa&2pW' #-p引号中输入刚刚记录下的密码
修改密码
在mysql中操作
set password=PASSWORD('123456') #引号中输入你想设置的密码