前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >centos7 安装mysql

centos7 安装mysql

原创
作者头像
lucky鹿鹿
修改2023-04-05 14:11:00
1K0
修改2023-04-05 14:11:00
举报
文章被收录于专栏:Java学习~Java学习~

方法一

1、官网下载需要的版本:MySQL :: Download MySQL Community Server (Archived Versions)

2、删除以前安装的残留(如果有mariadb的也要删除)

代码语言:javascript
复制
 #查找mysql
 rpm -qa | grep mysql
 #查找mariadb
 rpm -qa |grep mariadb
代码语言:javascript
复制
#没有则不用卸载,有则卸载
rpm -e --nodeps 名称

3、把下载好的mysql传至centos7

(为了方便管理,我把mysql上传至新创建的mysql目录下;如果不会传送至centos7可以去下载finalshell等连接工具,当然如果自己的本机电脑是Linux系统就不需要)

4、查看是否存在libaio

代码语言:javascript
复制
rpm -qa|grep libaio
#如果没有则进行安装
yum install -y libaio

5、解压

代码语言:javascript
复制
 tar -xf mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar

6、安装(有顺序要求)

代码语言:javascript
复制
rpm -ivh mysql-community-common-8.0.28-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-8.0.28-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-devel-8.0.28-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-compat-8.0.28-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-8.0.28-1.el7.x86_64.rpm  --nodeps --force
rpm -ivh mysql-community-server-8.0.28-1.el7.x86_64.rpm --nodeps --force

6、启动MySQL服务

代码语言:javascript
复制
systemctl start mysqld

7 、设置MySQL服务开机自启动。

代码语言:javascript
复制
systemctl enable mysqld

8、命令查看/var/log/mysqld.log文件,获取并记录root用户的初始密码。

代码语言:javascript
复制
grep 'temporary password' /var/log/mysqld.log

9、对MySQL进行安全性配置。

代码语言:javascript
复制
mysql_secure_installation

(1)重置密码

代码语言:javascript
复制
Enter password for user root: #输入已获取的root用户初始密码

The existing password for the user account root has expired. Please set a new password.

New password: #输入新的MySQL密码(密码安全性要求比较高,密码需要有大写字母、小写字母、数字、字符组合,;比如:Qkkf56439!)

Re-enter new password: #重复输入新的MySQL密码
The 'validate_password' component is installed on the server.
The subsequent steps will run with the existing configuration
of the component.
Using existing password for root.
Change the password for root ? ((Press y|Y for Yes, any other key for No) :Y #输入Y选择更新MySQL密码。您也可以输入N不再更新MySQL密码。

New password: #输入新的MySQL密码

Re-enter new password: #重复输入新的MySQL密码

Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) :Y #输入Y确认使用已设置的密码。

(2)删除匿名用户。

代码语言:javascript
复制
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) :Y #输入Y删除MySQL默认的匿名用户。
Success.

(3)禁止root账号远程登录(出于安全考虑)

代码语言:javascript
复制
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) :Y #输入Y禁止root远程登录。
Success.

(4)删除test库以及对test库的访问权限。

代码语言:javascript
复制
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) :Y #输入Y删除test库以及对test库的访问权限。
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

(5)重新加载授权表。

代码语言:javascript
复制
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) :Y #输入Y重新加载授权表。
Success.

All done!

10、远程访问MySQL数据库

(1)登录

代码语言:javascript
复制
 mysql -uroot -p

(2)创建远程访问账户

代码语言:javascript
复制
mysql> create user 'dmsTest'@'%' identified by '123456'; #创建数据库用户dmsTest,并授予远程连接权限。
mysql> grant all privileges on *.* to 'dmsTest'@'%'; #为dmsTest用户授权数据库所有权限。
mysql> flush privileges; #刷新权限。

方法二(适合小白使用,直接把命令复制粘贴就行)

注:在此解释为什么不适合老手,因为以这种方式安装的MySQL默认最新版本,一般最新版本是不太稳定的,老手更适合安装自己想要的稳定版本

准备:删除以前安装的残留(如果有mariadb的也要删除)

代码语言:javascript
复制
 #查找mysql
 rpm -qa | grep mysql
 #查找mariadb
 rpm -qa |grep mariadb
代码语言:javascript
复制
#没有则不用卸载,有则卸载
rpm -e --nodeps 名称

1、更新YUM源

代码语言:javascript
复制
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

2、安装MySQL

代码语言:javascript
复制
sudo yum -y install mysql-community-server --enablerepo=mysql80-community --nogpgcheck

3、查看MySQL版本号(一般会直接安装最新版本)

代码语言:javascript
复制
mysql -V

4、启动MySQL服务

代码语言:javascript
复制
systemctl start mysqld

5、设置MySQL服务开机自启动。

代码语言:javascript
复制
systemctl enable mysqld

6、命令查看/var/log/mysqld.log文件,获取并记录root用户的初始密码。

代码语言:javascript
复制
grep 'temporary password' /var/log/mysqld.log

7、对MySQL进行安全性配置。

代码语言:javascript
复制
mysql_secure_installation

(1)重置密码

代码语言:javascript
复制
Enter password for user root: #输入已获取的root用户初始密码

The existing password for the user account root has expired. Please set a new password.

New password: #输入新的MySQL密码(密码安全性要求比较高,密码需要有大写字母、小写字母、数字、字符组合,;比如:Qkkf56439!)

Re-enter new password: #重复输入新的MySQL密码
The 'validate_password' component is installed on the server.
The subsequent steps will run with the existing configuration
of the component.
Using existing password for root.
Change the password for root ? ((Press y|Y for Yes, any other key for No) :Y #输入Y选择更新MySQL密码。您也可以输入N不再更新MySQL密码。

New password: #输入新的MySQL密码

Re-enter new password: #重复输入新的MySQL密码

Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) :Y #输入Y确认使用已设置的密码。

(2)删除匿名用户。

代码语言:javascript
复制
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) :Y #输入Y删除MySQL默认的匿名用户。
Success.

(3)禁止root账号远程登录(出于安全考虑)

代码语言:javascript
复制
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) :Y #输入Y禁止root远程登录。
Success.

(4)删除test库以及对test库的访问权限。

代码语言:javascript
复制
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) :Y #输入Y删除test库以及对test库的访问权限。
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

(5)重新加载授权表。

代码语言:javascript
复制
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) :Y #输入Y重新加载授权表。
Success.

All done!

8、远程访问MySQL数据库

(1)登录

代码语言:javascript
复制
 mysql -uroot -p

(2)创建远程访问账户

代码语言:javascript
复制
mysql> create user 'dmsTest'@'%' identified by '123456'; #创建数据库用户dmsTest,并授予远程连接权限。
mysql> grant all privileges on *.* to 'dmsTest'@'%'; #为dmsTest用户授权数据库所有权限。
mysql> flush privileges; #刷新权限。

小知识

如果嫌弃密码安全度要求高,可以自己改

1、查看 MySQL密码策略

代码语言:javascript
复制
 SHOW VARIABLES LIKE 'validate_password%';

2、修改密码策略(修改为最低)

代码语言:javascript
复制
set global validate_password.policy=LOW;

3、修改密码的长度(当前为8),如果嫌长可以改为6

代码语言:javascript
复制
set global validate_password.length=6;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 方法一
  • 方法二(适合小白使用,直接把命令复制粘贴就行)
  • 小知识
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档