【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
© 著作权归作者所有,转载或内容合作请联系作者

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

相关推荐
斌糖雪梨5 小时前
spring auth 核心流程详解
java·后端·spring
唠点键盘之外的10 小时前
29 切片的权限隔离(实战篇):Milvus + Spring AI,从 0 搭一条带权限过滤的检索链路
人工智能·spring·milvus
小蒜学长11 小时前
基于Spring Boot+Vue3的在线游戏技术指导师匹配系统的设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端·在线游戏技术指导
weixin_BYSJ198712 小时前
【计算机毕设】房屋租赁系统02647
java·vue.js·spring boot·python·django·课程设计
步行cgn12 小时前
HTTP 请求协议详解
spring·mvc
wflynn12 小时前
NVIDIA 将 Run:ai 平台全面开源,纳入 DSX AI Factory 体系
ai·技术
VX_bysjlw98512 小时前
基于协同过滤的美食推荐系统的设计与实现32221-计算机毕设原创(免费领源码+带部署教程)
java·spring boot·redis·mysql·tomcat·maven·mybatis
专业程序开发源13 小时前
springboot校企合作双选会一站式预约与面试系统16010-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·面试·php·课程设计
iCxhust14 小时前
模型:500kW飞轮 10kV输电线路 油田抽油机 同时考虑无功补偿 统计:全年节电量 结果56万度电
前端·css·css3·电力·飞轮