您当前的位置:首页 > 计算机 > 系统应用 > Linux

最新Centos8.5.2111 安装MySQL(5.7.39)并开机自启

时间:04-07来源:作者:点击数:
查看是否已经安装 Mysql

rpm -qa | grep mysql

如果你查看出来有东西,可以使用下面命令将其删除

rpm -e 文件名

  1. 如果查到了相关文件
rpm -e mysql57-community-release-el7-10.noarch

2)使用yum卸载安装的mysql

yum remove mysql mysql-server mysql-libs mysql-server

3)搜索mysql文件

全局搜索名称包含 mysql 的所有文件

find / -name '*mysql*'

删除搜索出来的所有 mysql 文件,如果没有安装过mysql,一般会搜索出来 /var/lib/* 和 /usr/share/* 这两个目录下包含 mysql 文件。删除文件命令:

rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql
  1. 再检查一下:
# 检查1
rpm -qa|grep mysql

# 检查2
find / -name '*mysql*'
官网下载MySQL安装包

官网地址:https://downloads.mysql.com/archives/community/

下载mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz上传

Product Version: 5.7.39
Operating System: Linux - Generic
OS Version: All
--------------------------------------
Linux - Generic (glibc 2.12) (x86, 32-bit), Compressed TAR Archive	Jun 8, 2022	611.1M	
Download
(mysql-5.7.39-linux-glibc2.12-i686.tar.gz)	MD5: eb9f5f504d7fe8bd35a0655944626260 | Signature
--------------------------------------
Linux - Generic (glibc 2.12) (x86, 64-bit), Compressed TAR Archive	Jun 8, 2022	645.3M	
Download #点这个下载
(mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz)	MD5: 79b971fc3e3368f2a1e07fbafae0b914 | Signature

或使用wget直接下载

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz
上传mysql安装包并解压

解压

tar -xzvf /home/johnnyyue/mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz

移动并修改文件名

mv /home/johnnyyue/mysql-5.7.39-linux-glibc2.12-x86_64 /usr/local/mysql
创建数据仓库目录
mkdir /data/mysql
新建mysql用户和用户组以及目录
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
#先检查是否有mysql用户组和mysql用户,没有就添加有就忽略
groups mysql
groupadd mysql && useradd -r -g mysql mysql
赋予权限,改变目录所有者
chown -R mysql:mysql /data/mysql
chmod -R 755 /usr/local/mysql
初始化MySQL
cd /usr/local/mysql
bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql --defaults-file=/etc/my.cnf --initialize
2022-11-23T08:53:40.040038Z 1 [Note] A temporary password is generated for root@localhost: X%pupZH%P0F0

此处需要注意记录生成的临时密码,如上文结尾处的:X%pupZH%P0F0

bin/mysql_ssl_rsa_setup --datadir=/data/mysql
修改系统配置文件
vim /etc/my.cnf
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
lower_case_table_names=1
添加mysql 软连接并重启mysql服务(一条一条运行)
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
service mysql restart
登录mysql ,并修改你的初始密码!(密码为上面生成的临时密码)
mysql -u root -p
如使用命令mysql -uroot -p连接mysql数据库报错
error while loading shared libraries: libncurses.so.5: cannot open shared object file
mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory

解决办法

  1. 查找
    没有libncurses.so.5,可能有libncurses.so不同版本的文件,使用命令
find / -name 'libncurses*'
find / -name 'libtinfo*'
[root@localhost mysql]# find / -name 'libncurses*'
find: ‘/proc/16099’: 没有那个文件或目录
/usr/lib64/libncurses.so.6
/usr/lib64/libncurses.so.6.1
/usr/lib64/libncursesw.so.6
/usr/lib64/libncursesw.so.6.1
[root@localhost mysql]# find / -name 'libtinfo*'
find: ‘/proc/20581’: 没有那个文件或目录
/usr/lib64/libtinfo.so.6
/usr/lib64/libtinfo.so.6.1
  1. 建立软链接
sudo ln -s /usr/lib64/libncurses.so.6.1 /usr/lib64/libncurses.so.5
sudo ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5

如果没有找到的话,使用yum或apt安装即可

  1. 再次查看依赖
ldd /usr/local/mysql/bin/mysql
[root@localhost mysql]# ldd /usr/local/mysql/bin/mysql
        linux-vdso.so.1 (0x00007ffefc1cd000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fbd92f10000)
        librt.so.1 => /lib64/librt.so.1 (0x00007fbd92d08000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fbd92b04000)
        libncurses.so.5 => /lib64/libncurses.so.5 (0x00007fbd928d9000)
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fbd92544000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fbd921c2000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fbd91faa000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fbd91be5000)
        libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007fbd919b8000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fbd93130000)
修改密码
set password for root@localhost = password('123456');
开启远程访问
use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;
防火墙放开3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
systemctl restart firewalld.service
开机自启服务

复制到服务,上面添加过的不用再次添加

cp /usr/local/mysql/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql
#以下两步适合centos7
#chkconfig --add mysqld || cat <<EOF
#以下两步适合centos8
echo '/etc/rc.d/init.d/mysqld start' >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门