mysql5.7版本

1.准备编译环境
yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake

2.准备源码包(www.baidu.com;官网)

3.清空系统残留并创建新的账户
userdel -r mysql
yum -y remove mariadb mariadb-libs mariadb-server mariadb-devel
rm -rf /etc/my
rm -rf /var/lib/mysql
rm -rf /var/log/mysql

4.环境准备
useradd -M -s /sbin/nologin mysql
5.解压
tar xvf mysql-boost-5.7.26.tar.gz
6.配置
[root@mysql-5.7.26 ~]#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
7.编译 安装
make && make install
8.初始化
cd /usr/local/mysql
mkdir mysql-files
chown -R mysql.mysql .
/usr/local/mysql/bin/mysqld —initialize —user=mysql —datadir=/usr/local/mysql/data —basedir=/usr/local/mysql
9.启动mysql使用mysqld_safe
/usr/local/mysql/bin/mysqld_safe —user=mysql &(后台运行)
/usr/local/mysql/bin/mysqladmin -uroot -p’原密码’ password ‘新密码’
10.创建配置文件
vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
11.创建systemctl启动
chkconfig mysqld on
systemctl restart mysqld

mysql8.0版本

1.准备编译环境
yum install -y libaio-devel libaio necurses-devel necurses readline-devel.x8664 readline.x86_64 openssl openssl-devel doxygen
yum -y install centos-release-scl
yum -y install devtoolset-10-gcc devtoolset-10-gcc-c++ devtoolset-10-binutils
2.安装cmake
wget https://github.com/Kitware/CMake/releases/download/v3.23.0-rc4/cmake-3.23.0-rc4-linux-x86_64.sh
[root@mysql ~]# chmod a+x cmake-3.23.0-rc4-linux-x86_64.sh
[root@mysql ~]# ./cmake-3.23.0-rc4-linux-x86_64.sh —prefix=/usr/local/
[root@mysql ~]# echo “export PATH=$PATH:/usr/local/cmake-3.23.0-rc4-linux-x86_64/bin” >>/etc/profile [root@mysql ~]# source /etc/profile
[root@mysql ~]# cmake —version
cmake version 3.23.0-rc4
CMake suite maintained and supported by Kitware (kitware.com/cmake).
3.配置
cmake .
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql8
-DWITH_BOOST=./boost/
-DFORCE_INSOURCE_BUILD=1 //开启强制构建
-DMYSQL_TCP_PORT=3306
-DMYSQL_DATADIR=/usr/local/mysql8/data
4.编译安装make && make install
5.创建用户及目录
[root@mysql mysql-8.0.28]# mkdir -p /usr/local/mysql8/{data,logs,tmp}
[root@mysql mysql-8.0.28]# useradd -s /sbin/nologin -M mysql
[root@mysql mysql-8.0.28]# chown -R mysql:mysql /usr/local/mysql8/
6.初始化
[root@mysql mysql8]# cat /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql8
datadir=/usr/local/mysql8/data
[root@mysql mysql8]# ./bin/mysqld —defaults-file=/etc/my.cnf —initialize —user=mysql
2022-03-20T14:42:25.875823Z 0 [System] [MY-013169] [Server] /usr/local/mysql8/bin/mysqld (mysqld 8.0.28) initializing of server in progress as process 21040
2022-03-20T14:42:25.887747Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-03-20T14:42:26.788560Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-03-20T14:42:27.516108Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ::
:k)beg8FL

注意:记录对应的密码

7.启动
[root@mysql mysql8]# ./bin/mysqld_safe —user=mysql &

echo “export PATH=$PATH:/usr/local/mysql8/bin” >>/etc/profile & source /etc/profile

登录数据库
[root@mysql mysql8]# mysql -S /tmp/mysql.sock -p”::_:k)beg8FL”

mysql> alter user current_user() identified by ‘qianfeng@123’;