Centos 安装MySQL 5.7.38

1、下载MySQL安装包

下载所需的rpm包https://dev.mysql.com/downloads/mysql/
在这里插入图片描述

2、检查是否已经安装mysql或者mariadb

[root@localhost ~]# rpm -qa | grep mysql
[root@localhost ~]# rpm -qa | grep mariadb

如果安装过,上面命令会检查出相关安装信息,将其卸载

#卸载MySQL
rpm -qa | grep mysql | xargs  rpm -e --nodeps
#卸载mariadb
rpm -qa | grep mariadb| xargs  rpm -e --nodeps

3、依次安装如下4个文件即可

[root@localhost mysql]# rpm -ivh mysql-community-common-5.7.38-1.el7.x86_64.rpm
[root@localhost mysql]# rpm -ivh mysql-community-libs-5.7.38-1.el7.x86_64.rpm
[root@localhost mysql]# rpm -ivh mysql-community-client-5.7.38-1.el7.x86_64.rpm
[root@localhost mysql]# rpm -ivh mysql-community-server-5.7.38-1.el7.x86_64.rpm

在安装server文件时,可能还会提示缺失其他依赖包,比如:net-tools,根据提示逐一下载相关依赖包并安装,全部依赖解决完后,再安装mysql-community-server这个rpm文件。缺失的依赖包推荐到这里下载:https://centos.pkgs.org/7/centos-x86_64/

至此,mysql5.7所有文件安装完毕,接下来就是开启服务了。

4、修改配置文件

修改配置文件my.cnf,设置免密登陆

[root@localhost ~]# vim /etc/my.cnf
### 可以参考如下内容
[mysql]
default-character-set=utf8

[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
slow_query_log = ON
slow_query_log_file = /var/log/mysql_slow_query.log
long_query_time = 3
symbolic-links=0
log-error=/data/mysql/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
log-bin=mysql-bin
thread_cache_size=100
server-id=33
back_log=500
lower_case_table_names=1
#thread_concurrency=80
#thread_concurrency=32
query_cache_limit=12M
query_cache_size=512M
query_cache_type=1
character-set-server=utf8mb4
max_connections=3000
innodb_buffer_pool_size=12G
innodb_file_per_table=ON
innodb_log_file_size=3G
expire_logs_days=5
read_only=1
lower_case_table_names=1
skip-name-resolve
[client]
socket=/data/mysql/mysql.sock

5、启动MySQL

systemctl restart mysqld

启动时间较长,需要耐心等待,预计再10分钟左右,因为需要数据库初始化。

6、查看MySQL初始密码

通过my.cnf文件找到/data/mysql/mysqld.log文件,在改文件中根据password关键字查询初始密码

#查看log-error指定的数据目录
[root@admin02 ~]# cat /etc/my.cnf | grep log-error
log-error=/data/mysql/mysqld.log

#查看初始化密码
[root@admin02 ~]# cat /data/mysql/mysqld.log | grep localhost
2022-07-05T16:48:26.206485Z 1 [Note] A temporary password is generated for root@localhost: B9eldAjOiu=(

查看密码后,就可以使用该密码登录到MySQL,并进行后续的操作

7、登录MySQL

[root@admin02 ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.38-log MySQL Community Server (GPL)

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> set global validate_password_policy = 0;
Query OK, 0 rows affected (0.00 sec)

mysql> SET PASSWORD = PASSWORD('root');
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

安装完成!

### 安装前准备 确保服务器已更新至最新状态并安装必要的依赖包: ```bash yum update -y yum install wget nano net-tools vim gcc-c++ cmake bison-devel ncurses-devel openssl-devel perl -y ``` ### 检测现有 MySQL 或 MariaDB 并移除 为了防止版本冲突,建议先检查是否有旧版 MySQL 或 MariaDB 存在,并将其完全卸载[^2]。 ```bash rpm -qa | grep -i mysql rpm -qa | grep -i mariadb ``` 如果发现任何与 MySQL 或 MariaDB 相关的结果,则需执行如下命令来安全地卸载它们: ```bash rpm -e --nodeps [package_name] ``` 其中 `[package_name]` 是通过上述 `grep` 命令获取的具体软件包名称。对于无法正常卸载的情况,可以考虑使用强制删除的方式处理残留文件夹和数据目录,在此之前务必确认停止了相关服务: ```bash service mysqld stop || service mariadb stop whereis mysql find / -name mysql rm -rf [path_to_mysql_or_mariadb_files] ``` 请注意备份重要资料后再操作以上指令。 ### 下载 MySQL 5.7.38 前往官方下载页面或直接利用wget工具从镜像站点拉取压缩包: ```bash cd /usr/local/src/ wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz tar zxvf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz mv mysql-5.7.38-linux-glibc2.12-x86_64 /usr/local/mysql-5.7.38 ln -s /usr/local/mysql-5.7.38 /usr/local/mysql ``` 创建所需用户组和服务账户用于运行数据库实例: ```bash groupadd mysql useradd -r -g mysql -s /bin/false mysql chown -R mysql:mysql /usr/local/mysql/* ``` 初始化数据库环境: ```bash mkdir -p /data/mysql/{data,logs,tmp} chmod 750 /data/mysql/tmp chown -R mysql:mysql /data/mysql/ /usr/local/mysql/bin/mysqld \ --user=mysql \ --basedir=/usr/local/mysql \ --datadir=/data/mysql/data ``` 设置开机自启脚本并将之加入系统服务管理器中去: ```bash cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld chkconfig --add mysqld chkconfig mysqld on ``` 编辑配置文件 `/etc/my.cnf` 来指定基础参数设定(如未存在则新建),注意调整 `basedir`, `datadir` 和其他必要选项指向正确位置[^4]: ```ini [mysqld] basedir = /usr/local/mysql datadir = /data/mysql/data socket = /tmp/mysql.sock port = 3306 character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci explicit_defaults_for_timestamp=true max_connections=500 innodb_buffer_pool_size=1G server-id=1 log-bin=mysql-bin expire_logs_days=7 slow_query_log_file=/var/log/slow.log long_query_time=2 ``` 启动 MySQL 服务并验证其工作状况: ```bash /etc/init.d/mysqld start netstat -tunlp | grep :3306 ``` 最后一步是登录到新部署好的 MySQL 实例内完成初始的安全加固措施,比如修改 root 密码、禁用远程访问等功能特性[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值