以用户test
编译mysql5.7
为例。
- 安装依赖包
sudo yum install gcc gcc-c++ ncurses ncurses-devel cmake bison -y
- 下载
mysql5.7
源码并解压
cd ~/software
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.42.tar.gz
tar xf mysql-boost-5.7.42.tar.gz
- 编译
mysql5.7
源码
cd mysql-5.7.42/
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/software/mysql \
-DMYSQL_DATADIR=$HOME/software/mysql/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=$HOME/software/mysql/tmp/mysql.sock \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=../boost/boost_1_59_0/ \
-DWITH_INNODB_MEMCACHED=ON
make && make install
- 编写配置文件
mkdir ~/software/mysql/data ~/software/mysql/tmp -p
创建~/.my.cnf
文件并写入以下内容
[client]
port=3306
socket=/home/test/software/mysql/data/mysql.sock
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
skip-name-resolve
user=mysql
port=3306
basedir=/home/test/software/mysql
datadir=/home/test/software/mysql/data
tmpdir=/home/test/software/mysql/tmp
socket=/home/test/software/mysql/data/mysql.sock
log-error=/home/test/software/mysql/data/mysqld.log
pid-file=/home/test/software/mysql/data/mysqld.pid
将mysql
所在路径写入.bashrc
,添加以下内容
export PATH=$HOME/software/mysql/bin:$PATH
使环境变量生效
source ~/.bashrc
- 初始化数据库
mysqld --defaults-file=$HOME/.my.cnf --initialize
查看随机生成的初始密码
[test@localhost mysql-5.7.42]$ cat ~/software/mysql/data/mysqld.log | grep "password"
2023-04-24T06:48:59.660056Z 1 [Note] A temporary password is generated for root@localhost: Q31ri<!UuuvX
- 启动
mysql
服务
mysql.server start
- 登陆数据库
mysql -uroot -p'reupVIgv(8Ga'
- 修改初始密码
alter user root@'localhost' identified by '1';