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

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

相关推荐
断墨先生10 分钟前
uniapp—android原生插件开发(3Android真机调试)
android·uni-app
无极程序员2 小时前
PHP常量
android·ide·android studio
萌面小侠Plus3 小时前
Android笔记(三十三):封装设备性能级别判断工具——低端机还是高端机
android·性能优化·kotlin·工具类·低端机
慢慢成长的码农3 小时前
Android Profiler 内存分析
android
大风起兮云飞扬丶3 小时前
Android——多线程、线程通信、handler机制
android
L72563 小时前
Android的Handler
android
清风徐来辽3 小时前
Android HandlerThread 基础
android
HerayChen4 小时前
HbuildderX运行到手机或模拟器的Android App基座识别不到设备 mac
android·macos·智能手机
顾北川_野4 小时前
Android 手机设备的OEM-unlock解锁 和 adb push文件
android·java
hairenjing11234 小时前
在 Android 手机上从SD 卡恢复数据的 6 个有效应用程序
android·人工智能·windows·macos·智能手机