http://ftp.gnu.org/gnu/bison/
https://sourceforge.net/projects/boost/files/boost/1.59.0/
https://mirrors.sjtug.sjtu.edu.cn/gnu/ncurses/
https://cmake.org/download/
http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.35.tar.gz
准备一台干净的最小化安装的虚拟机
yum groupinstall "base" 最小化安装基础包
cd /usr/local/src
yum install openssl-devel -y
安装开发工具
mariadb与mysql冲突,把它卸载
rpm -e mariadb-libs --nodeps 不考虑依赖关系
rpm -qa | grep mariadb 显示没有了
yum -y install lrzsz 下载rz上传
安装cmake
rz上传cmake-3.21.3.tar.gz
ll
tar zxf cmake-3.21.3.tar.gz 解包
ll
cd cmake-3.21.3/
ll
./bootstrap
gmake && gmake install
cd ..
安装bison
rz上传bison-3.8.2.tar.gz
tar zxf bison-3.8.2.tar.gz
ls
cd bison-3.8.2/
ll
./configure && make && make install
cd ..
安装ncurses
rz上传ncurses-6.2.tar.gz
tar zxf ncurses-6.2.tar.gz
ls
cd ncurses-6.2/
ll
./configure && make && make install
cd ..
安装boost
rz上传boost_1_59_0.tar.gz
tar zxf boost_1_59_0.tar.gz
ll
mv boost_1_59_0 /usr/local/boost
cd ..
mkdir /usr/local/mysql ---创建目录
mkdir /usr/local/mysql/data ---数据库目录
安装mysql
rz上传mysql-5.7.35.tar.gz
tar zxf mysql-5.7.35.tar.gz
cd mysql-5.7.35/
以下均为手动输入(带汉字的那一行不用输入,是注释)
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
MySQL 安装的根目录
-DMYSQL_DATADIR=/usr/local/mysql/data \
MySQL 数据库文件存放目录
-DSYSCONFDIR=/etc \
MySQL 配置文件所在目录
-DDEFAULT_CHARSET=utf8 \
设置 MySQL 的默认字符集为
-DDEFAULT_COLLATION=utf8_general_ci \
设置默认字符集校对规则
-DEXTRA_CHARSETS=all \
使 MySQL 支持所有的扩展字符
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
指定 mysql.sock 位置
-DWITH_MYISAM_STORAGE_ENGINE=1 \
添加 MYISAM 引擎支持
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
添加 InnoDB 引擎支持
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
添加 ARCHIVE 引擎支持
-DWITH_PARTITION_STORAGE_ENGINE=1 \
安装支持数据库分区
-DWITH_SYSTEMD=1 -DWITH_BOOST=/usr/local/boost
指向 boost 库所在目录
make -j 2 && make install 开始编译、编译安装
-j 参数表示根据 CPU核数指定编译时的线程数,可以加快编译速度。默认为 1 个线程编译。 这里给两个加快安装速度
cd /usr/local/mysql
ll
cd data/
ll
创建 mysql 用户和用户组及目录
groupadd -r mysql
useradd -g mysql -M -s /bin/false -r mysql
chown -R mysql:mysql /usr/local/mysql/ 给数据库权限
cd ..
cd support-files/
修改配置文件
vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
pid-file=/usr/local/mysql/data/mysqld.pid
socket=/tmp/mysql.sock
log-error=/usr/local/mysql/data/mysql.err
vim /etc/profile
export PATH=/usr/local/mysql/bin:$PATH
cd /usr/local/mysql/bin
source /etc/profile
初始化系统数据库脚本
mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
将mysqld.service移动到系统服务文件内
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
配置 mysql 自动启动
systemctl enable mysqld.service
修改配置文件,把默认的 pid 文件指定目录
vim /usr/lib/systemd/system/mysqld.service
PIDFile=/usr/local/mysql/data/mysqld.pid
ExecStart=/usr/local/mysql/bin/mysqld--daemonize--pid-file=/usr/local/mysql/data/mysqld.pid $MYSQLD_OPTS
systemctl daemon-reload 重新启动一下
systemctl start mysqld.service 开启mysql服务
grep password /usr/local/mysql/data/mysql.err
查看密码
mysql -uroot -p 登录mysql
alter user root@localhost identified by '123';