MySQL 8.0.21环境安装
下载地址:http://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.21.tar.gz
#安装依赖包
gcc gcc-c++ glibc apr-devel apr-util-devel libxml2-devel libxml2 cmake ncurses-devel ncurses perl perl-devel perl-DBD* openssl openssl-devel curl-devel libjpeg libpng freetype libjpeg-devel libpng-devel freetype-devel libmcrypt-devel lib-devel gd-devel m4 gawk autoconf automake python3-pip acl libacl-devel attr libattr-devel xxhash-devel libzstd-devel lz4-devel
#安装报错1--GCC版本问题
参考链接:https://www.cnblogs.com/liangyf/p/13875688.html
./configure --prefix=/usr/local/gcc-5.3.0 -enable-threads=posix -disable-checking -disable-multilib -enable-languages=c,c++ --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2 --with-mpc=/usr/local/mpc-0.8.1
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-0.8.1/lib:/usr/local/gmp-4.3.2/lib:/usr/local/mpfr-2.4.2/lib/
mv /usr/bin/c++ /home/hanzijing/old_c++
mv /usr/bin/g++ /home/hanzijing/old_g++
mv /usr/bin/gcc /home/hanzijing/old_gcc
ln -s /usr/local/gcc-5.3.0/bin/c++ /usr/bin/c++
ln -s /usr/local/gcc-5.3.0/bin/g++ /usr/bin/g++
ln -s /usr/local/gcc-5.3.0/bin/gcc /usr/bin/gcc
#添加系统环境变量
vim /etc/bashrc
LD_LIBRARY_PATH=:/usr/local/mpc-0.8.1/lib:/usr/local/gmp-4.3.2/lib:/usr/local/mpfr-2.4.2/lib:/usr/local/gcc-5.3.0/lib:/usr/local/gcc-5.3.0/lib64
export LD_LIBRARY_PATH
source /etc/bashrc
#安装报错2 --Cmake版本问题
#更新cmake版本
wget https://cmake.org/files/v3.21/cmake-3.21.0.tar.gz
tar zxvf cmake-3.9.2.tar.gz
cd cmake-3.9.2
./configure
make && make install
#更新devtoolset-10版本
yum install centos-release-scl-rh centos-release-scl
yum check-update
yum install devtoolset-10-gcc devtoolset-10-gcc-c++
source /opt/rh/devtoolset-10/enable
#安装报错3 --Mysql编译问题
#为避免MySQL启动时出现Segmentation fault (core dumped)错误,提前修改编译文件
find /home/mysql-8.0.21/ -name terminal.c
sed -i “s/area = buf/area = NULL/g” terminal.c
#MySQL编译安装
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_DATAPREFIX=/usr/local/mysql/data -DSYSCONFPREFIX=/usr/local/mysql -DMYSQL_USER=mysql -DMYSQL_TCPHP_PORT=3306 -DWITH_XTRADB_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MYISAMYSQL_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_BOOST=/usr/local/boost -DENABLED_LOCAL_INFILE=1 -DWITH_EXTRNGINX_CHARSETS=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BIG_TABLES=1 -DWITH_DEBUG=0 -DFORCE_INSOURCE_BUILD=1
make install
mkdir /usr/local/mysql/data #创建数据目录
chown mysql:mysql /usr/local/mysql/data #将数据目录的用户和组改成mysql
chmod 750 /usr/local/mysql/data #更改数据目录权限
mkdir /usr/local/mysql/log #创建数据目录
chown mysql:mysql /usr/local/mysql/log #将数据目录的用户和组改成mysql
chmod 750 /usr/local/mysql/log #更改数据目录权限
#配置文件my.cnf
vim /etc/my.cnf
[mysqld]
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-error=/usr/local/mysql/log/error.log
socket=/tmp/mysql.sock
pid-file=/usr/local/mysql/log/mysql.pid
character-set-server = UTF8MB4
lower_case_table_names=1
innodb_log_file_size=1G
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
[client]
port=3306
default-character-set=utf8
#初始化数据库和密码
/usr/local/mysql/bin/mysqld --initialize --user mysql
cat /usr/local/mysql/log/error.log |grep "temporary password"
/usr/local/mysql/support-files/mysql.server start
通过下面的语句可以修改root用户的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
为远程登录创建用户,并赋权
CREATE USER 'root'@'%' IDENTIFIED BY 'password';
GRANT ALL ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;
#开机自启动
将mysql.server 复制到/etc/init.d下面
cp support-files/mysql.server /etc/init.d/mysqld
通过chkconfig将mysql服务添加到开机启动的列表里面就可以了
chkconfig --add mysqld
浙公网安备 33010602011771号