MySql 环境搭建

目录

[MySql 在 CentOS 7 环境下安装。](#MySql 在 CentOS 7 环境下安装。)

说明:

1.卸载不要的环境

[2.配置 mysql 官方 yum 源](#2.配置 mysql 官方 yum 源)

3.开始安装

[4.启动 mysql](#4.启动 mysql)

[5.mysql 登录](#5.mysql 登录)

[6.配置 mysql](#6.配置 mysql)

[7. 设置开机启动](#7. 设置开机启动)


MySql 在 CentOS 7 环境下安装。

说明:

  • 在安装与卸载中,用户切换成 root ,一旦安装,普通用户能使用

1.卸载不要的环境

复制代码
1. 先检查是否有这些环境
[root@slave0 ~]# ps axj | grep mysql
  3446   3541   3540   3392 pts/0      3540 S+       0   0:00 grep --color=auto mysql
[root@slave0 ~]# ps axj | grep mariadb
  3446   3584   3583   3392 pts/0      3583 S+       0   0:00 grep --color=auto mariadb
上面的 mariadb 其实就是 mysql。

上面没有查到有 mysql 的服务,如果有的话就删掉。

虽然这里没有,但是还是演示一下如何删除。

这里删除的时候需要把用户切换成 root 用户,否则无法卸载。

复制代码
2. 先关闭 mysql 服务
root@slave0 ~]# systemctl stop mysqld

我们在 yum 上获得的 mysql 都是 .rpm 的。所以我们可以使用 rmp 来查看 yum 上获得的 mysql 的安装包,查到后卸载掉。

复制代码
3. 查询 yum 获得的 mysql
[root@slave0 ~]# rpm -qa  | grep mysql
mysql++-3.1.0-12.el7.x86_64
4.查询到后删除,因为是 yum 安装所以使用 yum remove
删除的时候可以一个一个删除也可以批量化删除。
[root@slave0 ~]# rpm -qa | grep mysql | xargs yum -y remove
这里使用 xargs 就是将查询到的数据按照命令行参数的形式经过管道传到 yum remove 里,由于删除的时候要确认,所以我们不想确认,我们可以带 -y 选项。

下一步我们就继续查询一下,如果没有 mysql 的安装包和对应的进程就可以了。

然后我们在卸载掉我们有关之前安装 mysql 剩余的配置环境

复制代码
5. 在 /etc/ 目录下
[root@slave0 etc]# cd /etc/
[root@slave0 etc]# ls | grep my.cnf | xargs rm -rf
[root@slave0 etc]# ls | grep my.cnf
[root@slave0 etc]# 
上面就就这样就卸载干净了

2.配置 mysql 官方 yum 源

复制代码
1. 获取 mysql 官方 yum 源  http://repo.mysql.com/
2. 注意安装的和自己系统一直的版本,否则可能出现软件兼容问题。
3. 检查自己系统版本。
[root@slave0 etc]# cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core)
我这里是 7.5 的版本,所以尽量找 mysql 
<IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el7.rpm">mysql57-community-release-el7.rpm</A> 27-Apr-2017 10:45    25k
由于我上面没有找到与自己匹配的,所以就挑选这个。

当下载好后,我们会下载到本地,然后我们在到 Linux 上建一个 MySql 的路径,然后我们把刚刚下载好的 MySql 的上传上来。

复制代码
[root@slave0 /]# cd MySql/
[root@slave0 MySql]# rz
​
[root@slave0 MySql]# ll
总用量 28
-rw-r--r--. 1 root root 25680 8月  20 12:21 mysql57-community-release-el7.rpm

这里就上传上来了。

我们要先查一下我们默认支持的 yum 源。

复制代码
[root@slave0 MySql]# ls /etc/yum.repos.d/ -l
总用量 40
-rw-r--r--. 1 root root 1664 4月  29 2018 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 4月  29 2018 CentOS-CR.repo
-rw-r--r--. 1 root root  649 4月  29 2018 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  314 4月  29 2018 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 4月  29 2018 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 4月  29 2018 CentOS-Sources.repo
-rw-r--r--. 1 root root 4768 4月  29 2018 CentOS-Vault.repo
-rw-r--r--. 1 root root 1358 9月   5 2021 epel.repo
-rw-r--r--. 1 root root 1457 9月   5 2021 epel-testing.repo

我们这里面没有 mysql 的,所以我们还要做 yum 源 安装。

复制代码
安装 yum 源
[root@slave0 MySql]# rpm -ivh mysql57-community-release-el7.rpm
警告:mysql57-community-release-el7.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:mysql57-community-release-el7-11 ################################# [100%]

安装好后,我们继续查一下 yum 源

复制代码
[root@slave0 MySql]# ls -l /etc/yum.repos.d/
总用量 48
-rw-r--r--. 1 root root 1664 4月  29 2018 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 4月  29 2018 CentOS-CR.repo
-rw-r--r--. 1 root root  649 4月  29 2018 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  314 4月  29 2018 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 4月  29 2018 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 4月  29 2018 CentOS-Sources.repo
-rw-r--r--. 1 root root 4768 4月  29 2018 CentOS-Vault.repo
-rw-r--r--. 1 root root 1358 9月   5 2021 epel.repo
-rw-r--r--. 1 root root 1457 9月   5 2021 epel-testing.repo
-rw-r--r--. 1 root root 1838 4月  27 2017 mysql-community.repo
-rw-r--r--. 1 root root 1885 4月  27 2017 mysql-community-source.repo

这下就有了。

yum 源安装好后,我们 yum list 就能查到我们想要的 mysql 了。

3.开始安装

前面的步骤都完成后,我们就可以一键安装 mysql 了。

复制代码
yum install -y mysql-community-server

如果在安装中出现错误可能就是下面的错误。

复制代码
1. 安装遇到密钥过期的问题
2. Failing package is: mysql-community-client-5.7.39-1.el7.x86_64
3. GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
4.
5. 解决方案:
6. rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

安装成功后,要存在 /etc/my.cnf 的文件。

还要能查到一个 mysqld

复制代码
[root@slave0 MySql]# which mysql
/usr/bin/mysql

还要能查到 mysql 的客户端

复制代码
[root@slave0 MySql]# which mysqld
/usr/sbin/mysqld

启动 mysql 的服务器的时候,一般启动的时候需要 root 来启动。

4.启动 mysql

复制代码
[root@slave0 MySql]# systemctl start mysqld
[root@slave0 MySql]# ps axj | grep mysqld
     1   5888   5887   5887 ?            -1 Sl      27   0:00 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
  4465   5921   5920   4465 pts/1      5920 S+       0   0:00 grep --color=auto mysqld

然后查一下,是否有 mysqld 的一个程序启动。

5.mysql 登录

mysql 的登陆方法很多,下面说一个比较通用的方法

复制代码
1. 打开 mysql 的配置文件 /etc/my.cnf
2. 在最后一行添加 skip-grant-tables
[root@slave0 MySql]# vim /etc/my.cnf
[root@slave0 MySql]# 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

[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
datadir=/var/lib/mysql
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
skip-grant-tables

配置完成后,我们重启一下 mysql 的服务就可以了,然后直接登录

复制代码
mysql -u root -p
直接回车就可以
复制代码
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

然后我们 show databases 查看一下数据库就可以了。

6.配置 mysql

复制代码
1 配置mysql 主要是配置 mysql 的编码格式
复制代码
源:
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[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
datadir=/var/lib/mysql
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
skip-grant-tables
复制代码
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[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
character-set-server=utf8
default-storage-engine=innodb

datadir=/var/lib/mysql
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
skip-grant-tables

加了三行

等配置文件修改完毕后,我们还需要重启 mysql 服务

因为 mysql 的默认端口号是 3306 所以我们自己使用的话,不建议修改为其他的端口号。

7. 设置开机启动

复制代码
[root@slave0 MySql]# systemctl enable mysqld
[root@slave0 MySql]# systemctl daemon-reload

如果是服务器的话,那么其实设置不设置都一样,如果是虚拟机的话,那么可以设置一下。

相关推荐
H10033 分钟前
重构(二)
android·重构
拓端研究室44 分钟前
R基于贝叶斯加法回归树BART、MCMC的DLNM分布滞后非线性模型分析母婴PM2.5暴露与出生体重数据及GAM模型对比、关键窗口识别
android·开发语言·kotlin
zhangphil2 小时前
Android简洁缩放Matrix实现图像马赛克,Kotlin
android·kotlin
m0_512744642 小时前
极客大挑战2024-web-wp(详细)
android·前端
lw向北.2 小时前
Qt For Android之环境搭建(Qt 5.12.11 Qt下载SDK的处理方案)
android·开发语言·qt
不爱学习的啊Biao2 小时前
【13】MySQL如何选择合适的索引?
android·数据库·mysql
Clockwiseee3 小时前
PHP伪协议总结
android·开发语言·php
mmsx9 小时前
android sqlite 数据库简单封装示例(java)
android·java·数据库
众拾达人12 小时前
Android自动化测试实战 Java篇 主流工具 框架 脚本
android·java·开发语言
吃着火锅x唱着歌13 小时前
PHP7内核剖析 学习笔记 第四章 内存管理(1)
android·笔记·学习