首页 > 数据库技术 > 详细

ubuntu 编译安装 mysql5.7.32

时间:2020-12-17 17:26:14      阅读:72      评论:0      收藏:0      [点我收藏+]
#----------------------------------------
#----auto install mysql5.7---------------
#----------------------------------------
#----aurhor: amnotgcs--------------------
#----------------------------------------
#----time: 2020-12-17 -------------------
#----------------------------------------
# instruction
# 1. download boost and install
# 2. download mysql and install
# 3. start mysql and reset password
# 4. clean remains files


# 1.1 download boost
# offical website=https://www.boost.org/users/download/
# if download with error, consider change the download link
rm boost_1_59_0*
wget https://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz

# 1.2 extra boost and install
tar zxvf boost_1_59_0.tar.gz
cd boost_1_59_0
./bootstrap.sh
./b2 install
cd ..
echo "----------boost_1_59_installed---------"

# 2.1 download mysql5.7
rm mysql-5.7.32*
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.32.tar.gz

# 2.2 extra mysql5.7 and install
tar zxvf mysql-5.7.32.tar.gz
cd mysql-5.7.32
pkill --signal 9 apt
rm /var/lib/dpkg/lock

apt install cmake -y
apt install libaio-dev -y
apt install libssh-dev -y
apt install libncurses-dev -y

mkdir bld
cd bld
make clean
rm CMakeCache.txt

cmake .. -DBUILD_CONFIG=mysql_release 	-DCPACK_MONOLITHIC_INSTALL=ON 	-DCMAKE_INSTALL_PREFIX=/usr/local/mysql 	-DDEFAULT_CHARSET=utf8 	-DDEFAULT_COLLATION=utf8_general_ci 	-DMYSQLX_TCP_PORT=33060 	-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock 	-DMYSQL_TCP_PORT=3306 	-DMYSQLX_UNIX_ADDR=/usr/local/mysql/mysqlx.sock 	-DMYSQL_DATADIR=/usr/local/mysql/data 	-DSYSCONFDIR=/usr/local/mysql/etc 	-DENABLE_DOWNLOADS=ON 	-DWITH_BOOST=system

make -j4
make install

# 2.3 create mysql user&group
groupadd mysql
useradd -r -g mysql -s /bin/false mysql

# 2.4 set privilege for mysql directory
chown -R mysql:mysql /usr/local/mysql

# 3.1 initialize mysql
pkill --signal 9 mysql
rm -rf /usr/local/mysql/data
echo "----------------------------------------"
echo "    initializing...."
echo "----------------------------------------"
/usr/local/mysql/bin/mysqld --initialize --user=mysql > /tmp/password 2>&1;
tail -n 1 /tmp/password


# 3.2 enable ssl
/usr/local/mysql/bin/mysql_ssl_rsa_setup

# 3.3 start mysql and reset password
password=$(tail -n 1 /tmp/password | sed "s/.*localhost: //g")
# /usr/local/mysql/bin/mysqld_safe --user=mysql >/dev/null 2>&1;
/usr/local/mysql/support-files/mysql.server start

target_password="1233"
changePWD="alter user ‘root‘@‘localhost‘ identified by ‘$target_password‘;"
flushPV="flush privileges;"
quit="exit;"
cmd="$changePWD;$flushPV;"
/usr/local/mysql/bin/mysql -uroot -p$password --connect-expired-password -e "${cmd}"

# 3.4 set path
echo "export PATh=\$PATH:/usr/local/mysql/bin" >> /etc/profile

# 3.5 info
echo "----------------------------------------"
echo "    origin_password:    $password"
echo "-----------------------------------------"
echo "    now_password:       $target_password"
echo "-----------------------------------------"

# 4.1 clean remains files
cd ../../
rm -rf boost_1_59_0*
rm -rf mysql-5.7.32*

ubuntu 编译安装 mysql5.7.32

原文:https://www.cnblogs.com/amnotgcs/p/14150466.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!