Linux上安装MySQl超详细教程(CentOS系统)

Linux上安装MySQl超详细教程(CentOS系统),第1张

目录 一、CentOS6.x 版本的yum镜像安装二、yum联网安装MySQL(一)直接安装(二)间接安装 三、下载.tar文件安装MySQL四、卸载MySQL

一、CentOS6.x 版本的yum镜像安装

1.如果你使用的是CentOS的简化版本,你是需要先安装yum
注:如果你的yum没有问题,请自行跳过此步yum的安装
2.如果你的yum出现了问题,你需要执行这五行命令
注:五行命令,五步 ,一步步复制 *** 作即可

[root@master ~]# sed -i "s|enabled=1|enabled=0|g" /etc/yum/pluginconf.d/fastestmirror.conf
[root@master ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
[root@master ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://www.xmpan.com/Centos-6-Vault-Aliyun.repo
[root@master ~]# yum clean all
[root@master ~]# yum makecache

注:这里使用的是阿里云,也就是国内代理,如果服务器是海外,则把第三条命令替换为官方Vault源(海外服务器用)

curl -o /etc/yum.repos.d/CentOS-Base.repo https://www.xmpan.com/Centos-6-Vault-Official.repo`
二、yum联网安装MySQL (一)直接安装

1.查看是否已经安装了mysql

[root@master ~]# rpm -qa|grep mysql #无输出则说明没有安装
rpm -e mysql        // 普通删除模式
rpm -e --nodeps mysql  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

2.使用yum安装mysql
注:此方式只能安装mysql5.x版本,不能安装mysql的最新版本
(1)搜索mysql安装包,找到mysql-server.x86_64

[root@master ~]# yum search mysql

(2)安装mysql-server.x86_64

[root@master ~]# yum -y install mysql-server.x86_64 

(3)启动mysql服务

[root@master ~]# service mysqld start & chkconfig mysqld on

(4)启动mysql,直接在终端输入“mysql”

[root@master ~]# mysql

(5)执行以下命令为root用户设置权限

use mysql;
delete from user where 1=1;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;

注:mysql赋权 *** 作说明

GRANT:赋权命令
ALL PRIVILEGES:当前用户的所有权限
ON:介词
*.*:当前用户对所有数据库和表的相应 *** 作权限
TO:介词
'root’@’%’:权限赋给root用户,所有ip都能连接
IDENTIFIED BY ‘123456’:连接时输入密码,密码为123456
WITH GRANT OPTION:允许级联赋权
(二)间接安装

1.Linux 的 PMS 工具主流有两种。

对于基于 Red Hat 的发行版,其 PMS 工具为 rpm,对应的安装命令为 yum。 对于基于 Debian 的发行版,其 PMS
工具为 dpkg,对应的安装命令为 aptitude。 笔者的 *** 作系统CentOS release 6.5 属于 Red
Hat,将使用后缀为 rpm 的安装包。如果读者使用的 *** 作系统为 Ubuntu,需要选择后缀为 deb
的安装包。如果读者不知道如何分辨,可以输入以下命令来验证:yum

[root@master ~]# yum

如果输入 yum 之后,出现了一大串的说明文字,说明应该使用后缀为 rpm 的安装包。如果提示 yum 命令不存在,说明应该使用后缀为 deb 的安装包。

2.查看自己的Linux系统版本,找到对应linux的版本进行下载

[root@master ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)

3.MySQL的下载地址:

MySQL的官方网址:https://www.mysql.com/
MySQL的版本选择地址:https://downloads.mysql.com/archives/community/
MySQL的rpm文件下载地址:https://dev.mysql.com/downloads/repo/yum/

4.进入MySQL官网选择Downloads


5.选择MySQL Community (GPL) Downloads

6.选择MySQL Community Server

7.选择 *** 作系统、系统的版本、MySQL版本


8.选择yum能够安装的rpm包


9.进入下载界面


10.下载完后得到后缀名为.rpm的文件, 复制下载文件的全名:mysql80-community-release-el6-4.noarch.rpm

11.下载MySQL源

[root@master ~]# wget https://dev.mysql.com/get/mysql80-community-release-el6-4.noarch.rpm

注:如果显示wget未找到命令,则需要先安装wget: yum -y install wget 然后再次执行上面命令

12.安装MySQL源

[root@master ~]# rpm -Uvh mysql80-community-release-el6-4.noarch.rpm
warning: mysql80-community-release-el6-4.noarch.rpm: Header V3 DSA/SHA256 Signature, key ID 5072e1f5: NOKEY
Preparing...                ########################################### [100%]
   1:mysql80-community-relea########################################### [100%]

检查是否安装成功:
执行成功后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo及 mysql-community-source.repo

[root@master ~]# cd /etc/yum.repos.d/
[root@master yum.repos.d]# ll
总用量 28
-rw-r--r--. 1 root root 1749 414 2021 CentOS-Base.repo
-rw-r--r--. 1 root root 1926 1127 2013 CentOS-Base.repo.backup
-rw-r--r--. 1 root root  638 1127 2013 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  630 1127 2013 CentOS-Media.repo
-rw-r--r--. 1 root root 3664 1127 2013 CentOS-Vault.repo
-rw-r--r--  1 root root 1628 111 02:24 mysql-community.repo
-rw-r--r--  1 root root 1700 111 02:24 mysql-community-source.repo

查看mysql相关资源:

[root@master yum.repos.d]# yum repolist enabled | grep "mysql.*-community.*"
mysql-connectors-community   MySQL Connectors Community                     185
mysql-tools-community        MySQL Tools Community                          111
mysql80-community            MySQL 8.0 Community Server                     265

13.选择安装版本

当你使用此方法进行安装MySQL的时候,会默认安装mysql的最新稳定版本。如果这就是你想要安装的,那么你就可以忽略这步了。如果想要安装以前的版本,比如5.6或者5.5,那么就可以用下面的方法来配置了。

首先我们先查看MySQL的那些源被禁用或者启用了。

[root@master yum.repos.d]# yum repolist all | grep mysql
mysql-cluster-7.5-community        MySQL Cluster 7.5 Community    disabled
mysql-cluster-7.5-community-source MySQL Cluster 7.5 Community -  disabled
mysql-cluster-7.6-community        MySQL Cluster 7.6 Community    disabled
mysql-cluster-7.6-community-source MySQL Cluster 7.6 Community -  disabled
mysql-cluster-8.0-community        MySQL Cluster 8.0 Community    disabled
mysql-cluster-8.0-community-source MySQL Cluster 8.0 Community -  disabled
mysql-connectors-community         MySQL Connectors Community     enabled:   185
mysql-connectors-community-source  MySQL Connectors Community - S disabled
mysql-tools-community              MySQL Tools Community          enabled:   111
mysql-tools-community-source       MySQL Tools Community - Source disabled
mysql-tools-preview                MySQL Tools Preview            disabled
mysql-tools-preview-source         MySQL Tools Preview - Source   disabled
mysql57-community                  MySQL 5.7 Community Server     disabled
mysql57-community-source           MySQL 5.7 Community Server - S disabled
mysql80-community                  MySQL 8.0 Community Server     enabled:   265
mysql80-community-source           MySQL 8.0 Community Server - S disabled

比如我们看到现在启用的是8.0版本系列的。我们需要安装的是5.x系列的。那么我们就可以执行以下命令:

[root@master ~] # yum-config-manager --disable mysql80-community
[root@master ~]#  yum-config-manager --enable mysql57-community

注:如果出现yum-config-manager: command not found,你需要执行yum -y install yum-utils

启用与禁用命令执行成功后,再次查看MySQL的哪些源被禁用:

[root@master ~]# yum repolist all | grep mysql
mysql-cluster-7.5-community        MySQL Cluster 7.5 Community       禁用
mysql-cluster-7.5-community-source MySQL Cluster 7.5 Community - Sou 禁用
mysql-cluster-7.6-community        MySQL Cluster 7.6 Community       禁用
mysql-cluster-7.6-community-source MySQL Cluster 7.6 Community - Sou 禁用
mysql-cluster-8.0-community        MySQL Cluster 8.0 Community       禁用
mysql-cluster-8.0-community-source MySQL Cluster 8.0 Community - Sou 禁用
mysql-connectors-community         MySQL Connectors Community        启用:   185
mysql-connectors-community-source  MySQL Connectors Community - Sour 禁用
mysql-tools-community              MySQL Tools Community             启用:   111
mysql-tools-community-source       MySQL Tools Community - Source    禁用
mysql-tools-preview                MySQL Tools Preview               禁用
mysql-tools-preview-source         MySQL Tools Preview - Source      禁用
mysql57-community                  MySQL 5.7 Community Server        启用:   504
mysql57-community-source           MySQL 5.7 Community Server - Sour 禁用
mysql80-community                  MySQL 8.0 Community Server        禁用
mysql80-community-source           MySQL 8.0 Community Server - Sour 禁用

此时我们发现5.7版本的MySQL已经被启用。
这时我们查看当前系统配置,仅显示启用MySQL命令:yum repolist enabled | grep "mysql.*-community.*"

[root@master ~]# yum repolist enabled | grep "mysql.*-community.*"
mysql-connectors-community   MySQL Connectors Community                      185
mysql-tools-community        MySQL Tools Community                           111
mysql57-community            MySQL 5.7 Community Server                      504

14.安装MySQL

[root@master ~]# yum install mysql-community-server

该命令会安装MySQL服务器 (mysql-community-server)
及其所需的依赖、相关组件,包括mysql-community-client、mysql-community-common、mysql-community-libs等。

15.启动

service mysqld start        #开启MySQL服务 
service mysqld stop         #关闭MySQL服务
service mysqld restart       #重启MySQL服务 
service mysqld status        #查看服务状态

如果启动失败报错

注:意思是mysql配置文件my.cnf中的/var/lib/mysql文件夹下不允许有文件, 删掉mysql文件夹下的所有文件rm -rf /var/lib/mysql/*,并且手动初始化数据库mysqld --initialize --user=mysql再次重启服务service mysqld start,成功!!

16.修改密码及登录
MySQL第一次启动后会创建超级管理员账号root@master,初始密码存储在日志文件中:

方法一: [root@master ~]# grep ‘temporary password’ /var/log/mysqld.log2021-12-16T20:30:20.772336Z 1 [Note] A temporary password is generatedfor root@localhost: J0FSEl./DLP
[root@slave1 ~]# mysql -uroot -pJ0FSEl./D
LP

方法二:使用编辑器打开/etc/my.cnf文件在my.cnf文件的末行加入skip-grant-tables保存并退出,重启MySQL服务器service mysqld restart,跳过密码登录验证。(写者使用的是方法二,且能够成功使用)

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select User from user;
+---------------+
| User          |
+---------------+
| mysql.session |
| mysql.sys     |
| root          |
+---------------+
3 rows in set (0.00 sec)
mysql>  update mysql.user set authentication_string=password('123456') where user='root';
Query OK, 1 row affected, 1 warning (0.10 sec)
Rows matched: 1  Changed: 1  Warnings: 1
mysql> flush privileges; 
Query OK, 0 rows affected (0.00 sec)
mysql> exit;
Bye

退出mysql后使用编辑器打开/etc/my.cnf文件在my.cnf文件的注释掉上一步末行加入skip-grant-tables保存并退出,重启MySQL服务器service mysqld restart

如果在进入MySQL后,使用MySQL时出现

mysql> use mysql;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

解决方法:

MySQL版本5.7.6版本以前用户可以使用如下命令:
mysql> SET PASSWORD = PASSWORD('root2021'); 
MySQL版本5.7.6版本开始的用户可以使用如下命令:
mysql> ALTER USER USER() IDENTIFIED BY 'root2021';
mysql> flush privileges; 
三、下载.tar文件安装MySQL

1.选择MySQL的版本
官方下载地址:https://downloads.mysql.com/archives/community/


也可以进入linux后用命令下载

wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.26-1.el6.x86_64.rpm-bundle.tar

2.环境配置

Linux连接工具:Xshell
文件管理工具:Xftp
系统版本: CentOS 6.5 64位
安装源文件版本:mysql-8.0.26-1.el6.x86_64.rpm-bundle.tar

3.下载安装MySQL
首先进入/opt目录,进行在线下载,也可以将下载的文件通过xftp传入到/opt目录

cd /opt
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.26-1.el6.x86_64.rpm-bundle.tar

下载完成后你会在/opt目录发现mysql-8.0.26-1.el6.x86_64.rpm-bundle.tar文件,然后解压并安装到/usr/local目录下

tar -zxvf mysql-8.0.26-1.el6.x86_64.rpm-bundle.tar /usr/local

重命名

mv mysql-8.0.26-1.el6.x86_64 mysql-8.0.26

4.添加系统mysql组和mysql用户

首先检查mysql组和用户是否存在,如无创建

cat /etc/group | grep mysql
#类似  
mysql:x:490: cat /etc/passwd | grep mysql
#类似  
mysql:x:496:490::/home/mysql:/bin/bash

以上为存在的情况,如无,执行添加命令:

groupadd mysql
useradd -r -g mysql mysql

注:useradd -r参数表示mysql用户是系统用户,不可用于登录系统

5.安装数据库

(1)创建data目录

cd /usr/local/mysql-8.0.26
mkdir data

(2)将/usr/local/mysql-8.0.26的所有者及所属组改为mysql

chown -R mysql.mysql /usr/local/mysql-8.0.26

(3)在/usr/local/mysql-8.0.26/support-files目录下创建my_default.cnf

[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
basedir = /usr/local/mysql-8.0.26
datadir = /usr/local/mysql-8.0.26/data
port = 3306
socket = /tmp/mysql.sock
character-set-server=utf8
log-error = /usr/local/mysql-8.0.26/data/mysqld.log
pid-file = /usr/local/mysql-8.0.26/data/mysqld.pid

(4)拷贝,如果提示是否覆盖,y

cp support-files/my_default.cnf /etc/my.cnf

(5)初始化 mysqld

cd /usr/local/mysql-8.0.26
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-8.0.26/ --datadir=/usr/local/mysql-8.0.26/data/ 

(6)初始化完成之后,查看日志

/usr/local/mysql-8.0.26/data/mysqld.log

(7)临时密码

2021-04-08T06:14:29.790033Z 1 [Note] A temporary password is generated for root@localhost: a8?DQir=T+k+

(8)把启动脚本放到开机初始化目录

cp support-files/mysql.server /etc/init.d/mysql

(9)启动mysql服务

service mysql start
# 登录mysql,密码为初始密码
cd /usr/local/mysql-8.0.26
./bin/mysql -u root -p

(10)修改密码

mysql> ALTER USER USER() IDENTIFIED BY 'root2021';
mysql> grant all privileges on *.* to root@'%' identified by 'root2021';
mysql> flush privileges;

(11)添加远程访问权限

mysql> use mysql;
mysql> update user set host='%' where user = 'root';
mysql> flush privileges;

(12)重启mysql生效

service mysql stop
service mysql start
或
service mysql restart
四、卸载MySQL

由于某些原因,在本次安装 MySQL 之前,可能你的电脑中已经有了安装过 MySQL 的痕迹,这可能会给下面 MySQL 的安装带来各种问题(如密码不能初始化、MySQL 执行失败等),因此首先需要先彻底清除电脑中与MySQL 有关的任何文件。另外,如果有一些小伙伴需要安装过旧版本的MySQL,想把旧版本卸载重新安装新版本的MySQL,这也需要知道如何卸载。

1.首先要检查电脑里是否已经安装了 MySQL。输入以下命令来查看电脑中与 MySQL 有关的安装信息。

yum list installed mysql*

2.如果命令的输出什么也没有,那就无需卸载。如果有,则要输入以下命令来卸载:

yum erase mysql*

卸载通常不是万能的,还需要手动删除与 MySQL 有关的文件。输入以下命令来查找这种文件:

sudo find / -name 'mysql*'

输入以下命令来删除目录 /var/、/usr/、/etc/ 下的这些文件。

sudo find /var /usr /etc -name "mysql*" -exec rm -r {} \;

删除完成之后,再使用上面的查找命令,看看还能不能找到这些文件。

sudo find / -name 'mysql*'

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/sjk/991184.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存