0-MySQL 在 Centos 7环境详细安装过程

✨✨ 欢迎大家来到小伞的大讲堂✨✨

🎈🎈养成好习惯,先赞后看哦~🎈🎈

所属专栏:MySQL**
小伞的主页:xiaosan_blog**

gitee:************许星让 (xu-xingrang) - Gitee.com****************

制作不易!点个赞吧!!谢谢喵!!

说明:

  • 安装与卸载中,用户全部切换成为root,一旦 安装,普通用户能使用的
  • 初期练习,mysql不进行用户管理,全部使用root进行,尽快适应mysql语句,后面学了用户管理,在考虑新建普通用户

1、卸载不要的环境,有时候会默认存在

bash 复制代码
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

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 ===

ps axj |grep mariadb # 停⽌完成
13134 14976 14975 13134 pts/0 14975 S+ 1005 0:00 grep --color=auto
mariadb

2、检查系统安装包

bash 复制代码
rpm -qa | grep mariadb
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安装包
sudo yum remove mariadb

4、获取mysql官方yum源

#1.获取mysql官方yum源 http://repo.mysql.com/

#一定要看下面的文字!如果后面自己安装不成功,就看看这个

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

[root@vM-0-2-centos ~]

cat /etc/redhat-release

Cent0s Linux release 7.8.2003 (Core) # 可以进入 http://repo.mysql.com/,找一下和自己版本一致的资源8# 下载到你的本地,然后上传到你的Linux服务器

我们下载mysql157的

为了看清是Centos 7 的后续版本号,查看页面源代码

这里我们的版本号是Centos 7.6的,所以选择下载.rpm的通用版本(这里为我版本的下载,请查询自己的版本进行寻找)

5、安装mysql yum源,对比前后

##安装前,查看本地的yum源

##安装中

安装指令

bash 复制代码
rpm -Uvh xxxxx.rpm

##出错信息

cpp 复制代码
warning: mysql57-community-release-el7.rpm: Header V3 DSA/SHA1
Signature, key ID 5072e1f5: NOKEY
error: can't create transaction lock on /var/lib/rpm/.rpm.lock (Permission
denied)

换成root用户安装
sudo rpm -Uvh mysql57-community-release-el7.rpm

##安装后

##表明已经安装完成

6、看看是否能正常工作

7、安装mysql服务

bash 复制代码
sudo yum install -y mysql-community-server
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

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

bash 复制代码
[root@iZ2vc09opqmjec5hsbsi0aZ ~]# ls /etc/my.cnf
/etc/my.cnf
cpp 复制代码
[root@iZ2vc09opqmjec5hsbsi0aZ ~]# sudo ls /var/lib/mysql
auto.cnf    client-cert.pem  ibdata1	  ibtmp1      mysql.sock.lock	  public_key.pem   sys
ca-key.pem  client-key.pem   ib_logfile0  mysql       performance_schema  server-cert.pem
ca.pem	    ib_buffer_pool   ib_logfile1  mysql.sock  private_key.pem	  server-key.pem

9、启动服务

bash 复制代码
systemctl start mysqld.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to manage system services or units.
Authenticating as: root
Password:
==== AUTHENTICATION COMPLETE ===

10、查看启动服务

11、登录方法一(获取临时root密码)

bash 复制代码
##获取临时root密码
sudo grep 'temporary password' /var/log/mysqld.log
#使⽤临时密码登录
mysql -uroot -p

#判断修改密码时候新密码是否符合当前的策略,不满⾜报错,不让修改,关闭它
#安全强度,默认为中,即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默认没有密码

12、登录方法二(最新mysql,默认没有密码)

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

13、登录方法三(修改配置文件,无需密码登录)

bash 复制代码
vim /etc/my.cnf # 打开mysql配置⽂件
在[mysqld]最后⼀栏配置(不知道是什么,就放在配置⽂件最后) 加⼊: skip-grant-tables 选项,
并保存退出

systemctl restart mysqld # 重启mysql服务

mysql -uroot ##回车即可

14、设置开机自启动

bash 复制代码
#开启开机⾃启动
systemctl enable mysqld
systemctl daemon-reload

15、配置my.cnf

bash 复制代码
#配置⼀下my.conf,主要是数据库客⼾端和服务器的编码格式
[whb@VM-0-3-centos 9.9]$ cat /etc/my.cnf
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[mysql]
#default-character-set=utf8 ,暂不设置,mysql有bug,汉字不回显
[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
---------------------------------------------------------
##这里添加
port=3306
datadir=/var/lib/mysql
character-set-server=utf8
default-storage-engine=innodb
---------------------------------------------------------
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

# 配置完毕,重启mysql即可

mysql 已经配置了客户端服务器utf8编码,但是无法输入中文

bash 复制代码
mysql 已经配置了客⼾端服务器utf8编码,但是⽆法输⼊中⽂

确保您在终端命令⾏中可以输⼊中⽂
[whb@VM-0-3-centos ~]$ env |grep LANG
LANG=en_US.utf8

16、退出mysql

bash 复制代码
mysql> quit
相关推荐
李钢蛋2 小时前
内网跨服务器定时同步指定数据库最新备份
运维·服务器
Oscar的参数2 小时前
datagrip连接未预置数据库保姆级教程--以dm数据库为例
大数据·数据库·database
锋风Fengfeng2 小时前
远程服务器运行Android Studio开发aosp源码
android·服务器·android studio
流水迢迢lst2 小时前
Linux概述及基础命令
linux·运维·服务器
恋红尘2 小时前
VM虚拟机配置静态IP,网络
linux·centos
醇氧2 小时前
Window 查看是否安装wsl
linux·运维·服务器
海边的Kurisu2 小时前
范进说八股 | Redis篇
数据库·redis·缓存
難釋懷2 小时前
Redis主从-主从同步优化
数据库·redis·缓存
Rick19932 小时前
一个方法a加了事务注解@Transactional,方法a执行10次循环,插入10条数据,是第10条数据执行完之后才会进行提交操作吗?
数据库·事务·transactional