暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

CentOS7.3环境RPM安装Mysql8,邦德教你如何跳过坑

原创 IT邦德 2021-11-23
5232
作者:IT邦德

中国DBA联盟(ACDU)成员,目前从事DBA及程序编程(Web\java\Python)工作,主要服务于生产制造
现拥有 Oracle 11g  OCP/OCM、Mysql、Oceanbase(OBCA)认证
分布式TBase\TDSQL数据库、国产达梦数据库以及红帽子认证
从业8年DBA工作,在数据库领域有丰富的经验
B站主播Oracle、Mysql、PG实战课程,请搜索:jeames007

微信:jem_db
QQ交流群:168797397
更多内容请关注B站(搜索jeames007)

跳转以下B站观看直播

Linux部署Mysql

image.png

一、 环境确认
1.1 操作系统

[root@jeames ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core) 

1.2 防火墻

[root@jeames ~]# systemctl status firewalld
 --关闭防火墙
systemctl stop firewalld

image.png

1.3 selinux关闭

[root@jeames ~]# sestatus
SELinux status:                 disabled
[root@jeames ~]# getenforce
Disabled

1.4 卸载mariadb

--卸载centos7中自带的mariadb
[root@jeames ~]# rpm -qa|grep mariadb
rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64

image.png

1.5 是否已安装Mysql

[root@jeames ~]# rpm -qa | grep -i mysql

二、 安装部署

2.1 yum安装

yum -y install lrzsz wget perl-Digest-MD5
yum -y install numactl
yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make

2.2 添加用户及组

[root@jeames ~]# groupadd mysql
删除组:groupdel users
--用户加到组并指定根目录
[root@jeames ~]# useradd -g mysql -d /home/mysql mysql
删除用户:userdel mysql
[root@jeames ~]# passwd mysql
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

2.3 安装Mysql

2.3.1 解压安装包
[root@jeames ~]# md5sum mysql-8.0.27-1.el8.x86_64.rpm-bundle.tar
edf4d0f95867f62cdcc97b7349bedc59  mysql-8.0.27-1.el8.x86_64.rpm-bundle.tar
[root@jeames ~]# tar -xvf mysql-8.0.27-1.el8.x86_64.rpm-bundle.tar -C /home/mysql/

image.png

必须安装的四个
mysql-community-common-8.0.27-1.el8.x86_64.rpm
mysql-community-libs-8.0.27-1.el8.x86_64.rpm
mysql-community-client-8.0.27-1.el8.x86_64.rpm 是客户端的安装包
mysql-community-server-8.0.27-1.el8.x86_64.rpm   是服务端的安装包
2.3.2.授权
[root@jeames ~]# chown -R mysql:mysql /home/mysql/
2.3.3 安装
注:root用户下操作
[root@jeames ~]# cd /home/mysql/
装顺序:包之间相互依赖,所以必须注意安装顺序
✓ 先装 common 
✓ 再装 libs
确保 mariadb 已卸载,centos7 默认支持 mariadb,不支持 mysql,不卸载会出现冲突
✓  再装 client
✓ 最后装 server

[root@jeames mysql]# rpm -ivh  mysql-community-common-8.0.27-1.el8.x86_64.rpm
[root@jeames mysql]# rpm -ivh --force --nodeps mysql-community-libs-8.0.27-1.el8.x86_64.rpm
[root@jeames mysql]# rpm -ivh mysql-community-client-8.0.27-1.el8.x86_64.rpm --force --nodeps
[root@jeames mysql]# rpm -ivh mysql-community-server-8.0.27-1.el8.x86_64.rpm --force --nodeps

第1个坑:

[root@jeames mysql]# mysqld --initialize
mysqld: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: 
No such file or directory

image.png

解决方法:

--下载网址
https://www.openssl.org/source/openssl-1.1.1g.tar.gz
--编译 openssl
tar -xvf openssl-1.1.1g.tar.gz
cd openssl-1.1.1g
./config shared --openssldir=/usr/local/openssl --prefix=/usr/local/openssl
make && make install
--配置
echo "/usr/local/lib64/" >> /etc/ld.so.conf
ldconfig

mv /usr/bin/openssl /usr/bin/openssl.old
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v

[root@jeames openssl-1.1.1g]# openssl version
OpenSSL 1.1.1g  21 Apr 2020

第2个坑
[root@jeames lib64]# mysqld --initialize
image.png

[root@jeames mysql]# strings /usr/lib64/libstdc++.so.6 | grep 'GLIBCXX'

image.png

[root@jeames mysql]# strings /usr/lib64/libstdc++.so.6 | grep 'CXXABI'

image.png

处理方法:

wget http://ftp.de.debian.org/debian/pool/main/g/gcc-8/libstdc++6_8.3.0-6_amd64.deb
ar -x libstdc++6_8.3.0-6_amd64.deb
tar -xvf data.tar.xz

image.png

find / -name “libstdc++*”

image.png

[root@jeames ~]# cp /root/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25 /usr/lib64/
[root@jeames ~]# ll /usr/lib64/libstd*

image.png

[root@jeames ~]# rm -rf /usr/lib64/libstdc++.so.6
[root@jeames ~]# ln -s /usr/lib64/libstdc++.so.6.0.25 /usr/lib64/libstdc++.so.6

第3个坑
[root@jeames ~]# mysqld --initialize

mysqld: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by mysqld)
mysqld: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /lib64/libstdc++.so.6)

[root@jeames ~]# strings /lib64/libc.so.6 | grep ‘GLIBC’

image.png

[root@jeames ~]# ldd --version

image.png

处理办法:

##centos 升级GCC编译器
yum -y install centos-release-scl
yum -y install devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-binutils
scl enable devtoolset-8 bash
echo "source /opt/rh/devtoolset-8/enable" >>/etc/profile
##升级make
wget http://ftp.gnu.org/gnu/make/make-4.2.tar.gz
tar -xzvf make-4.2.tar.gz
cd make-4.2
./configure
make
make install
rm -rf /usr/bin/make
cp ./make /usr/bin/
make -v

##编译安装
tar zxf glibc-2.28.tar.gz 
cd glibc-2.28/
mkdir build
cd build/
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make && make install

以上过程持续约10分钟,耐心等待,重启服务器后再初始化即可

三、 启动Mysql

3.1 查看当前服务是否启动


[root@jeames ~]# ps -ef | grep mysql

image.png

[root@jeames ~]# systemctl status mysqld

image.png

[root@jeames ~]# chown mysql:mysql /var/lib/mysql -R
[root@jeames ~]# systemctl start mysqld
[root@jeames ~]# systemctl status mysqld

image.png

[root@jeames ~]# systemctl enable mysqld
[root@jeames ~]# cat /var/log/mysqld.log | grep password

3.2 创建远程用户

登录,创建新用户用以远程登录
##动态库设置
[root@jeames ~]# mysql: error while loading shared libraries: libtinfo.so.6: cannot open shar
find / -name libtinfo.so.5
libtinfo.so.6.1拷贝至/usr/lib64后做个快捷方式
ln -s libtinfo.so.6.1 libtinfo.so.6
libncurses.so.6拷贝至/usr/lib64即可

3.3 临时密码登陆

[root@jeames ~]# grep 'temporary password' /var/log/mysqld.log
[root@jeames ~]# mysql -uroot -p

image.png

mysql> alter user root@'localhost' identified with mysql_native_password by 'root';
mysql> flush privileges;
mysql> select Host,User from mysql.user;

image.png

3.4 远程登陆

mysql> create user root@'%' identified with mysql_native_password by 'root';
mysql> grant all on *.* to root@'%' with grant option;
mysql> flush privileges;

image.png

本次分享到此结束啦~

如果觉得文章对你有帮助,点赞、收藏、关注、评论
你的支持就是我创作最大的动力。

❤️ 技术交流可以 关注公众号:IT邦德 ❤️

微信:jem_db
QQ交流群:168797397
更多内容请关注B站看直播(搜索jeames007)

最后修改时间:2021-11-23 23:06:37
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论