CentOS下MySQL的安装以及配置环境

CentOS下MySQL的安装以及配置环境

📟作者主页:慢热的陕西人

🌴专栏链接:MySQL

📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言
本博客主要内容讲解了CentOS环境下的MySQL的安装与配置

文章目录

1.删除存在的旧的MySQL文件

bash 复制代码
[root@lavm-5wklnbmaja learn]$ ps ajx |grep mariadb # 先检查是否有mariadb存在
13134 14844 14843 13134 pts/0 14843 S+ 1005 0:00 grep --color=auto
mariadb
19010 19187 19010 19010 ? -1 Sl 27 16:55 /usr/libexec/mysqld --
basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --
log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid
--socket=/var/lib/mysql/mysql.sock
[root@lavm-5wklnbmaja learn]$ systemctl stop mariadb.service # 停⽌mariadb 服务
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to manage system services or units.
Authenticating as: root
Password:
==== AUTHENTICATION COMPLETE ===
[root@lavm-5wklnbmaja learn]$ ps axj |grep mariadb # 停⽌完成
13134 14976 14975 13134 pts/0 14975 S+ 1005 0:00 grep --color=auto
mariadb

2.检查系统安装包

bash 复制代码
[root@lavm-5wklnbmaja learn]$ rpm -qa | grep mariadb
or
[root@lavm-5wklnbmaja learn]$ rpm -qa | grep mysql
...
...
...
# 下⾯是打印出来的mysql的样例,
[root@lavm-5wklnbmaja learn]# rpm -qa | grep mysql
mysql-community-common-5.7.41-1.el7.x86_64
mysql-community-server-5.7.41-1.el7.x86_64
mysql57-community-release-el7-11.noarch
mysql-community-client-5.7.41-1.el7.x86_64
mysql-community-libs-5.7.41-1.el7.x86_64

3.卸载这些默认的安装包

bash 复制代码
#卸载显⽰出来的mariadb/mysql安装包
[root@lavm-5wklnbmaja learn]$ sudo yum remove mariadb # 还是试着将上⾯的包都⼀个⼀个卸载吧
备份/etc/my.cnf,备份/var/lib/mysql数据

4.获取MySQL官方yum源

①获取MySQL官方yum源 :http://repo.mysql.com/

注意:我们最好安装和自己系统一致的MySQL版本,否则可能会存在软件兼容性问题

所以我们可以查看自己的系统版本:

bash 复制代码
[root@lavm-5wklnbmaja learn]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core) 

我这里的版本是CentOS7.6,然后我们打开链接,寻找对应的版本(因为原本的网页的显示不全,我们直接选择查看网页源代码),如下是对应我的系统版本的MySQL:

接下来我们是下载到自己对应的Windows环境下。然后直接拖动到,我们的Xshell窗口即可上传到我们的服务器上。这里我们需要用到rz指令如果没有安装可以安装一下:yum -y install lrzsz;

5.安装MySQL yum源,对比前后yum源

安装前:

bash 复制代码
[root@lavm-5wklnbmaja MySQL]# ls /etc/yum.repos.d/ -l 
total 16
drwxr-xr-x 2 root root  187 Jun 11  2019 bak
-rw-r--r-- 1 root root 1522 Jun 11  2019 CentOS-7.repo
-rw-r--r-- 1 root root  221 Jun 11  2019 epel.repo
-rw-r--r-- 1 root root 1358 Sep  5  2021 epel.repo.rpmnew
-rw-r--r-- 1 root root 1457 Sep  5  2021 epel-testing.repo

安装的指令:rpm -ivh mysql57-community-release-el7.rpm

安装后:最后两个就是MySQL yum源

bash 复制代码
[root@lavm-5wklnbmaja MySQL]# ls /etc/yum.repos.d/ -l
total 24
drwxr-xr-x 2 root root  187 Jun 11  2019 bak
-rw-r--r-- 1 root root 1522 Jun 11  2019 CentOS-7.repo
-rw-r--r-- 1 root root  221 Jun 11  2019 epel.repo
-rw-r--r-- 1 root root 1358 Sep  5  2021 epel.repo.rpmnew
-rw-r--r-- 1 root root 1457 Sep  5  2021 epel-testing.repo
-rw-r--r-- 1 root root 1838 Apr 27  2017 mysql-community.repo
-rw-r--r-- 1 root root 1885 Apr 27  2017 mysql-community-source.repo

6.检查一下是否可以正常工作

bash 复制代码
[root@lavm-5wklnbmaja MySQL]# yum list | grep mysql
mysql57-community-release.noarch         el7-11                        installed
akonadi-mysql.x86_64                     1.9.2-4.el7                   base     
anope-mysql.x86_64                       2.1.1-1.el7                   epel     
apr-util-mysql.x86_64                    1.5.2-6.el7_9.1               updates  
calligra-kexi-driver-mysql.x86_64        2.9.10-2.el7                  epel     
collectd-mysql.x86_64                    5.8.1-1.el7                   epel     
dmlite-plugins-mysql.x86_64              1.15.2-15.el7                 epel     
....
zabbix6.0-web-mysql.noarch               6.0.25-1.el7                  epel     

7.安装MySQL服务

bash 复制代码
[root@lavm-5wklnbmaja MySQL]# yum install -y mysql-community-server
Loaded plugins: aliases, auto-update-debuginfo, fastestmirror, protectbase
Repository epel is listed more than once in the configuration
...
Installing : mysql-community-common-5.7.33-1.el7.x86_64 #公共模块
Installing : mysql-community-libs-5.7.33-1.el7.x86_64 #库
Installing : mysql-community-client-5.7.33-1.el7.x86_64 #客⼾端
Installing : mysql-community-server-5.7.33-1.el7.x86_64 #服务器
... #安装了服务和客⼾端
# 如果报错了,看第12步《常⻅问题》

8.查看配置文件和数据存储位置

bash 复制代码
[root@lavm-5wklnbmaja MySQL]# which mysql     //MySQL客户端
/usr/bin/mysql
[root@lavm-5wklnbmaja MySQL]# which mysqld    //MySQL服务端
/usr/sbin/mysqld
[root@lavm-5wklnbmaja MySQL]# ls /etc/my.cnf  //配置文件
/etc/my.cnf

9.启动服务和查看启动服务

bash 复制代码
[root@lavm-5wklnbmaja MySQL]# systemctl start mysqld  //启动服务
[root@lavm-5wklnbmaja MySQL]# ps ajx | grep mysqld    //查看服务
    1   964   963   963 ?           -1 Sl      27   0:00 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
30152  1004  1003  8830 pts/0     1003 S+       0   0:00 grep --color=auto mysqld
[root@lavm-5wklnbmaja MySQL]# ps ajx | grep mysqld
    1   964   963   963 ?           -1 Sl      27   0:00 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
30152  1037  1036  8830 pts/0     1036 S+       0   0:00 grep --color=auto mysqld
[root@lavm-5wklnbmaja MySQL]# systemctl start mysqld
[root@lavm-5wklnbmaja MySQL]# ps ajx | grep mysqld
    1   964   963   963 ?           -1 Sl      27   0:00 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
30152  1048  1047  8830 pts/0     1047 S+       0   0:00 grep --color=auto mysqld

10.登录的三个方式

①登陆⽅法⼀【不⾏就下⼀个】

对较老的版本奏效,新版本或许不可以

bash 复制代码
#获取临时root密码
[root@lavm-5wklnbmaja MySQL]$ sudo grep 'temporary password' /var/log/mysqld.log
2021-04-12T03:23:46.153263Z 1 [Note] A temporary password is generated for
root@localhost: yLMalT:v+5l*
#使⽤临时密码登录
[root@lavm-5wklnbmaja MySQL]$ mysql -uroot -p
Enter password:
#判断修改密码时候新密码是否符合当前的策略,不满⾜报错,不让修改,关闭它
#安全强度,默认为中,即1,要求必须包含 数字、符号、⼤⼩写字⺟,⻓度⾄少为8位
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
#密码最⼩⻓度
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)
#修改本地登录密码,暂不授权远程登录
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'qwer@wu.888';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
#如果你安装的最新的mysql,没有所谓的临时密码,root默认没有密码

②登陆⽅法⼆【不⾏就下⼀个】

bash 复制代码
# 如果你安装的最新的mysql,没有所谓的临时密码,root默认没有密码
# 试着直接client登陆⼀下

③登陆⽅式三【应该⾏了吧】

让输入密码的时候直接回车!这个方法相当于跳过对应的密码的验证

bash 复制代码
[root@lavm-5wklnbmaja MySQL]# vim /etc/my.cnf
在[mysqld]最后⼀栏配置(不知道是什么,就放在配置⽂件最后) 加⼊: skip-grant-tables 选项,
并保存退出
[root@lavm-5wklnbmaja MySQL]# systemctl restart mysqld
[root@lavm-5wklnbmaja MySQL]# mysql -u root -p
Enter password:  
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.44 MySQL Community Server (GPL)

Copyright (c) 2000, 2023, 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.

11.配置my.cnf

我们在配置文件中加入这几个选项即可。

bash 复制代码
port=3306
character-set-server=utf8
default-storage-engine=innodb

# 配置完毕,重启mysql即可

12.常见问题

bash 复制代码
mysql 已经配置了客⼾端服务器utf8编码,但是⽆法输⼊中⽂
确保您在终端命令⾏中可以输⼊中⽂
[root@lavm-5wklnbmaja MySQL]$ env |grep LANG
LANG=en_US.utf8
bash 复制代码
安装遇到秘钥过期的问题:
Failing package is: mysql-community-client-5.7.39-1.el7.x86_64
GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
解决⽅案:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

到这本篇博客的内容就到此结束了。
如果觉得本篇博客内容对你有所帮助的话,可以点赞,收藏,顺便关注一下!
如果文章内容有错误,欢迎在评论区指正

相关推荐
热爱嵌入式的小许1 小时前
Linux基础项目开发1:量产工具——显示系统
linux·运维·服务器·韦东山量产工具
韩楚风5 小时前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
陈苏同学5 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
Ambition_LAO5 小时前
解决:进入 WSL(Windows Subsystem for Linux)以及将 PyCharm 2024 连接到 WSL
linux·pycharm
momo小菜pa5 小时前
【MySQL 06】表的增删查改
数据库·mysql
Pythonliu76 小时前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
你疯了抱抱我6 小时前
【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)
linux·运维·centos
追风赶月、6 小时前
【Linux】进程地址空间(初步了解)
linux
栎栎学编程6 小时前
Linux中环境变量
linux
挥剑决浮云 -6 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记