【MySQL】之Centos7.6 Yum方式安装部署安装Mysql 5.7版本

项目需求

Linux操作系统上安装部署Mysql数据库,想要深入学习Mysql数据库,可通过RPM包安装部署所需要的数据库,选择对应的数据库版本并完成数据库的安装,开始学习或使用数据库。

(1)深入学习研究,渴望成为DBA。

(2)业务应用需求,。

(3)深入了解MySQL数据库。


1、安装系统环境准备

复制代码
操作系统:centos7.6   
地址:172.21.209.125

OS系统初始化可参考:
【Linux】---CentOS7.6操作系统初始化
https://www.jianshu.com/writer#/notebooks/54115680/notes/93699631

2、查看系统中是否已安装 MySQL 服务,以下提供两种方式:

复制代码
rpm -qa | grep mysql
yum list installed | grep mysql

3、如果已安装则删除 MySQL 及其依赖的包:

复制代码
yum -y remove mysql-libs.x86_64

4、下载 mysql57-community-release-el7-8.noarch.rpm 的 YUM 源

复制代码
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm

5、安装 mysql57-community-release-el7-8.noarch.rpm

复制代码
rpm -ivh mysql57-community-release-el7-8.noarch.rpm

[root@mysqlslave02 data]# rpm -ivh mysql57-community-release-el7-8.noarch.rpm
warning: mysql57-community-release-el7-8.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
  1:mysql57-community-release-el7-8  ################################# [100%]

[root@mysqlslave02 data]# 

6、安装 MySQL,出现提示的话,一路 Y 到底

复制代码
yum install mysql-server

提示:如果安装出错,为安装成功。
导入秘钥key:rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

安装完毕后,运行mysql,然后在  /var/log/mysqld.log 文件中会自动生成一个随机的密码,我们需要先取得这个随机密码,以用于登录 MySQL 服务端:
systemctl  start  mysqld
grep "password" /var/log/mysqld.log

将会返回如下内容,末尾字符串就是密码,把它复制下来:
[root@mysqlslave02 data]# grep "password" /var/log/mysqld.log
2023-06-30T08:15:47.514237Z 1 [Note] A temporary password is generated for root@localhost: l0+1oRWq7kii
[root@mysqlslave02 data]# 

7、登录到 MySQL 服务端并更新用户 root 的密码:

复制代码
注意:由于 MySQL5.7 采用了密码强度验证插件 validate_password,故此我们需要设置一个有一定强度的密码;

mysql -u root -p l0+1oRWq7kii
然后更改密码

SET PASSWORD = PASSWORD('password');#且密码必须满足复杂度要求
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;

执行过程:
mysql> SET PASSWORD = PASSWORD('Hxs777!@hm');
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> 

设置用户 root 可以在任意 IP 下被访问:
grant all privileges on *.* to root@"%" identified by "Hxs777!@hm";

设置用户 root 可以在本地被访问:
grant all privileges on *.* to root@"localhost" identified by "Hxs777!@hm";

刷新权限使之生效:
flush privileges;
OK,输入 exit 后用新密码再次登录看看吧!

注意:如果用远程工具还是连接不上,试试用 iptables -F   命令来清除防火墙中链中的规则

执行过程:
mysql> grant all privileges on *.* to root@"%" identified by "new password";
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> 
mysql> grant all privileges on *.* to root@"%" identified by "Hxs777!@hm";
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> grant all privileges on *.* to root@"localhost" identified by "Hxs777!@hm";
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

8、MySQL控制命令:启动、停止、重启、查看状态

复制代码
 systemctl  enable mysqld
systemctl  status  mysqld
systemctl  stop  mysqld
systemctl  start  mysqld
systemctl  restart  mysqld

9、设置 MySQL 的字符集为 UTF-8:

复制代码
打开 /etc / my.cnf 文件(此文件是 MySQL 的主配置文件):

vim /etc/my.cnf

[client]
default-character-set=utf8

[mysqld] 
character_set_server=utf8

重启数据库后登录mysql,看看字符集,6个utf8就算OK
show variables like '%character%';

10、查看指定的数据库中指定数据表的字符集,如查看 mysql 数据库中 servers 表的字符集:

复制代码
show table status from mysql like '%servers%';
查看指定数据库中指定表的全部列的字符集,如查看 mysql 数据库中 servers 表的全部的列的字符集:

show full columns from servers;

11、 忘记密码时,可用如下方法重置:

复制代码
systemctl  stop  mysqld
mysqld_safe --user=root --skip-grant-tables --skip-networking &
mysql -u root
进入MySQL后

use mysql;
update user set password=password("new_password") where user="root"; 
flush privileges;

12、一些文件的存放目录

复制代码
配置文件

vim /etc/my.cnf
存放数据库文件的目录

cd /var/lib/mysql
日志记录文件

vim /var/log/ mysqld.log
服务启动脚本

/usr/lib/systemd/system/mysqld.service
socket文件

/var/run/mysqld/mysqld.pid

13、MySQL 采用的 TCP/IP 协议传输数据,默认端口号为 3306,我们可以通过如下命令查看:

复制代码
#查看监听端口
[root@mysqlslave02 data]# netstat -anp|grep mysql
tcp6       0      0 :::3306                 :::*                    LISTEN      8958/mysqld         
unix  2      [ ACC ]     STREAM     LISTENING     127788068 8958/mysqld          /var/lib/mysql/mysql.sock
#查看进程
[root@mysqlslave02 data]# ps -ef|grep mysql
mysql       8958       1  0 08:15 ?        00:00:00 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
root        9010    8764  0 08:37 pts/1    00:00:00 grep --color=auto mysql
[root@mysqlslave02 data]# 

最后编辑于:2024-12-14 11:46:49
© 著作权归作者所有,转载或内容合作请联系作者

喜欢的朋友记得点赞、收藏、关注哦!!!

相关推荐
hrrrrb1 小时前
【Spring Security】Spring Security 概念
java·数据库·spring
小信丶1 小时前
Spring 中解决 “Could not autowire. There is more than one bean of type“ 错误
java·spring
摇滚侠3 小时前
Spring Boot 3零基础教程,IOC容器中组件的注册,笔记08
spring boot·笔记·后端
程序员小凯5 小时前
Spring Boot测试框架详解
java·spring boot·后端
程序员小凯7 小时前
Spring Boot缓存机制详解
spring boot·后端·缓存
hello 早上好8 小时前
深入 Spring 依赖注入底层原理
数据库·sql·spring
程序媛徐师姐8 小时前
Java基于SpringBoot的茶叶商城系统,附源码+文档说明
java·spring boot·java springboot·茶叶商城系统·java茶叶商城系统·茶叶·java茶叶商城
计算机毕业设计木哥10 小时前
计算机毕业设计选题推荐:基于SpringBoot和Vue的快递物流仓库管理系统【源码+文档+调试】
java·vue.js·spring boot·后端·课程设计
Chan1613 小时前
流量安全优化:基于 Sentinel 实现网站流量控制和熔断
java·spring boot·安全·sentinel·intellij-idea·进程
勇往直前plus14 小时前
如何利用docker部署springboot应用
spring boot·docker·容器