CentOS7安装MySQL-glibc安装
系统环境:Centos7,64位 MySQL版本:mysql-8.0.26-linux-glibc2.12-x86_64 glibc:是gnu发布的libc库,也即c运行库 LinuxSSH连接工具:Xshell 7 LinuxFTP文件传输工具:Xftp 7
一、准备工作
1、下载MySQL
从官网地址下载mysql:www.mysql.com
进入下载页面:
进入社区版现在界面:
进入现在社区版MySQL服务器:
选择自己合适的版本进行下载:
2、上传至自己的CentosOS服务器
本教程传输在/root/software
目录下
二、环境检查
1、检查是否安装过MySQL
[root@localhost software]# rpm -qa | grep myql
mysql-community-common-5.6.30-2.el7.x86_64
mysql-community-release-el7-5.noarch
mysql-community-libs-5.6.30-2.el7.x86_64
mysql-community-server-5.6.30-2.el7.x86_64
mysql-community-client-5.6.30-2.el7.x86_64
[root@localhost software]#
2、如果存在MySQL安装文件,则执行下面代码卸载已存在的MySQL
[root@localhost software]# yum remove mysql-community-common-5.6.30-2.el7.x86_64
[root@localhost software]# yum remove mysql-community-release-el7-5.noarch
....出现的都要卸载
到这里并没有完全卸载哦,我们继续,卸载并不会自动删除配置文件等,所以我们还需要手动来删除。
3、删除系统中MySQL相关配置或文件
使用 find
命令来查找:
[root@localhost software]# find / -name mysql
/usr/share/mysql
/var/lib/mysql
/var/lib/mysql/mysql
删除所有MySQL目录:
[root@localhost software]# rm -rf /usr/share/mysql
[root@localhost software]# rm -rf /var/lib/mysql
...
如果/etc/my.cnf 如果存在请删除
这样MySQL就写在成功了
4、检查是否安装了 mariadb
[root@localhost software]# rpm -qa | grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
如果存在 mariadb 就执行下面命令进行删除,避免与我们要安装的MySQL产生冲突:
[root@localhost software]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
5、检查是否安装了 libaio
[root@localhost software]# rpm -qa |grep libaio
libaio-0.3.109-13.el7.x86_64
如果没有安装libaio
执行下面命令进行安装:
# 搜索libaio相关信息
[root@localhost software]# yum search libaio
# 安装libaio
[root@localhost software]# yum install libaio
三、开始安装MySQL
1、解压MySQL安装包
如果是不是*.tar.xz
包不用执行这一步,执行完过后会得到一个*.tar
包
[root@localhost software]# xz -d mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
解压*.tar
[root@localhost software]# tar -xvf mysql-8.0.26-linux-glibc2.12-x86_64.tar
解压后会得到mysql-8.0.26-linux-glibc2.12-x86_64目录
2、移动MySQL目录并重命名
[root@localhost software]# mv mysql-8.0.26-linux-glibc2.12-x86_64 /usr/local/mysql
然后进入/usr/local/mysql/
目录
[root@localhost software]# cd /usr/local/mysql/
3、为MySQL添加用户和用户组
# 添加用户组mysql
[root@localhost mysql]# groupadd mysql
# 添加用户mysql并设置用户组为mysql, /bin/false mysql使用最严格的禁止登录选项,一切服务都不能用
[root@localhost mysql]# useradd -r -g mysql -s /bin/false mysql
4、创建MySQL相关目录
创建mysql-files目录:
# mysql-files目录为secure_file_priv系统变量的值提供了一个方便的位置,该变量将导入和导出操作限制在特定的目录
[root@localhost mysql]# mkdir mysql-files
创建data数据库目录:
[root@localhost mysql]# mkdir data
5、修改当前目录 /usr/local/mysql
下的所有目录用户为mysql
[root@localhost mysql]# chown -R mysql:mysql ./
6、初始化MySQL
[root@localhost mysql]# ./bin/mysqld --initialize --user=mysql
2021-08-20T17:42:15.638078Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.26) initializing of server in progress as process 18249
2021-08-20T17:42:15.654185Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2021-08-20T17:42:16.097123Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2021-08-20T17:42:16.736429Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1 is enabled for channel mysql_main
2021-08-20T17:42:16.736720Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1.1 is enabled for channel mysql_main
2021-08-20T17:42:16.892336Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: rFiFj1CbeA<g
我们可以看到这一句话:root@localhost: rFiFj1CbeA<g 这是MySQL初始化后的密码:rFiFj1CbeA<g
四、配置MySQL
1、将MySQL服务加入到系统服务
[root@localhost mysql]# cp ./support-files/mysql.server /etc/init.d/mysql.server
2、环境变量配置
将mysql的bin目录加入PATH环境变量,编辑 /etc/profile文件:
[root@localhost mysql]# vim /etc/profile
在最后一行输入:
PATH=$PATH:/usr/local/mysql/bin
export PATH
使配置生效:
[root@localhost init.d]# source /etc/profile
2、启动MySQL
mysqld_safe脚本会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它
[root@localhost mysql]# ps aux | grep mysqld
五、登录MySQL
[root@localhost mysql]# mysql -uroot -p
Enter password:输入你的密码
修改初始化密码,不然不能进行其他操作:
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
开启mysql远程登录:
GRANT ALL ON *.* TO 'root'@'%';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';
flush privileges;
防火墙配置:
# 启动防火墙
systemctl start firewalld
# 查看所有打开的端口
firewall-cmd --zone=public --list-ports
# 开启端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重新载入
firewall-cmd --reload
# 查看指定端口
firewall-cmd --zone=public --query-port=3306/tcp
转载自:https://juejin.cn/post/6998575375060205599