MySQL入门——在Linux下安装和卸载MySQL

Wesley13
• 阅读 748

MySQL入门——在Linux下安装和卸载MySQL

摘要:本文主要学习了如何在Linux系统中安装和卸载MySQL数据库。

查看有没有安装过MySQL

使用命令查看有没有安装过:

1 [root@localhost ~]# yum list installed | grep mysql
2 [root@localhost ~]#

从CentOS版本6开始,官方版本的yum源中用MariaDB替换了MySQL,新的Linux系统中将不会默认安装MySQL,安装MySQL一般需要去官网下载rpm包或者源码包等方式。

安装MySQL源码包

查看yum可用的软件包

因为如果没有源码包,yum的仓库里是没有MySQL的安装包的,使用命令查看yum仓库里有关MySQL的软件包:

1 [root@localhost ~]# yum repolist all | grep mysql
2 [root@localhost ~]#

找到源码包下载链接

MySQL的官网地址如下:

https://www.mysql.com

登录官网如图:

MySQL入门——在Linux下安装和卸载MySQL

将页面滑动到下面,点击Red Hat Enterprise Linux 7对应的Download下载按钮:

MySQL入门——在Linux下安装和卸载MySQL

在新的页面找到下方的地址链接,右键复制链接地址:

MySQL入门——在Linux下安装和卸载MySQL

下载源码包

在Linux系统中使用wget命令下载rpm包,地址即为刚刚在MySQL官网复制的链接地址:

 1 [root@localhost ~]# wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
 2 --2019-07-13 16:19:14--  https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
 3 正在解析主机 dev.mysql.com (dev.mysql.com)... 137.254.60.11
 4 正在连接 dev.mysql.com (dev.mysql.com)|137.254.60.11|:443... 已连接。
 5 已发出 HTTP 请求,正在等待回应... 302 Found
 6 位置:https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm [跟随至新的 URL]
 7 --2019-07-13 16:19:15--  https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
 8 正在解析主机 repo.mysql.com (repo.mysql.com)... 184.26.157.95
 9 正在连接 repo.mysql.com (repo.mysql.com)|184.26.157.95|:443... 已连接。
10 已发出 HTTP 请求,正在等待回应... 200 OK
11 长度:26024 (25K) [application/x-redhat-package-manager]
12 正在保存至: “mysql80-community-release-el7-3.noarch.rpm.1”
13 
14 100%[=====================================================================================================>] 26,024      88.9KB/s 用时 0.3s   
15 
16 2019-07-13 16:19:17 (88.9 KB/s) - 已保存 “mysql80-community-release-el7-3.noarch.rpm.1” [26024/26024])
17 
18 [root@localhost ~]#

安装源码包

使用命令安装MySQL的源码包:

 1 [root@localhost ~]# yum install -y mysql80-community-release-el7-3.noarch.rpm
 2 已加载插件:fastestmirror
 3 正在检查 mysql80-community-release-el7-3.noarch.rpm: mysql80-community-release-el7-3.noarch
 4 mysql80-community-release-el7-3.noarch.rpm 将被安装
 5 正在解决依赖关系
 6 --> 正在检查事务
 7 ---> 软件包 mysql80-community-release.noarch.0.el7-3 将被 安装
 8 --> 解决依赖关系完成
 9 
10 依赖关系解决
11 ...
12 完毕!
13 [root@localhost ~]#

再次查看yum仓库中的源码包

使用命令查看yum仓库中有关MySQL的软件包:

 1 [root@localhost ~]# yum repolist all | grep mysql
 2 mysql-cluster-7.5-community/x86_64 MySQL Cluster 7.5 Community      禁用
 3 mysql-cluster-7.5-community-source MySQL Cluster 7.5 Community - So 禁用
 4 mysql-cluster-7.6-community/x86_64 MySQL Cluster 7.6 Community      禁用
 5 mysql-cluster-7.6-community-source MySQL Cluster 7.6 Community - So 禁用
 6 mysql-cluster-8.0-community/x86_64 MySQL Cluster 8.0 Community      禁用
 7 mysql-cluster-8.0-community-source MySQL Cluster 8.0 Community - So 禁用
 8 !mysql-connectors-community/x86_64 MySQL Connectors Community       启用:    118
 9 mysql-connectors-community-source  MySQL Connectors Community - Sou 禁用
10 !mysql-tools-community/x86_64      MySQL Tools Community            启用:     95
11 mysql-tools-community-source       MySQL Tools Community - Source   禁用
12 mysql-tools-preview/x86_64         MySQL Tools Preview              禁用
13 mysql-tools-preview-source         MySQL Tools Preview - Source     禁用
14 mysql55-community/x86_64           MySQL 5.5 Community Server       禁用
15 mysql55-community-source           MySQL 5.5 Community Server - Sou 禁用
16 mysql56-community/x86_64           MySQL 5.6 Community Server       禁用
17 mysql56-community-source           MySQL 5.6 Community Server - Sou 禁用
18 mysql57-community/x86_64           MySQL 5.7 Community Server       禁用
19 mysql57-community-source           MySQL 5.7 Community Server - Sou 禁用
20 !mysql80-community/x86_64          MySQL 8.0 Community Server       启用:    129
21 mysql80-community-source           MySQL 8.0 Community Server - Sou 禁用
22 [root@localhost ~]#

可以看到,目前默认安装版本是8.0。

修改安装版本

如果要修改MySQL的安装版本,可以通过修改repo配置文件或者通过执行修改命令来实现。

1)修改文件

编辑mysql-community.repo文件,将 [mysql80-community] 下面的enable设置为0表示关闭8.0版本,然后将 [mysql56-community] 下面的enable设置为1表示开启5.6版本。

命令如下:

1 [root@localhost ~]# vim /etc/yum.repos.d/mysql-community.repo

2)修改命令

关闭8.0版本:

1 [root@localhost ~]# yum-config-manager --disable mysql80-community
2 已加载插件:fastestmirror
3 ====================================================== repo: mysql80-community =======================================================
4 [mysql80-community]
5 ...
6 enabled = 0
7 ...
8 [root@localhost ~]#

开启5.6版本:

1 [root@localhost ~]# yum-config-manager --enable mysql56-community
2 已加载插件:fastestmirror
3 ====================================================== repo: mysql56-community =======================================================
4 [mysql56-community]
5 ...
6 enabled = 1
7 ...
8 [root@localhost ~]#

安装MySQL

安装

使用yum命令安装:

 1 [root@localhost ~]# yum install -y mysql-community-server
 2 ...
 3 ======================================================================================================================================
 4  Package                             架构                版本                                    源                              大小
 5 ======================================================================================================================================
 6 正在安装:
 7  mysql-community-server              x86_64              5.6.45-2.el7                            mysql56-community               60 M
 8 为依赖而安装:
 9  mysql-community-client              x86_64              5.6.45-2.el7                            mysql56-community               20 M
10  mysql-community-common              x86_64              5.6.45-2.el7                            mysql56-community              257 k
11  mysql-community-libs                x86_64              5.6.45-2.el7                            mysql56-community              2.0 M
12  net-tools                           x86_64              2.0-0.24.20131004git.el7                base                           306 k
13 ...
14 完毕!
15 [root@localhost ~]#

查看安装版本

使用命令查看MySQL的安装版本:

1 [root@localhost ~]# mysql -V
2 mysql  Ver 14.14 Distrib 5.6.45, for Linux (x86_64) using  EditLine wrapper
3 [root@localhost ~]#

启动服务

使用systemctl命令启动并查看MySQL的服务状态:

 1 [root@localhost ~]# systemctl start mysqld
 2 [root@localhost ~]# systemctl status mysqld
 3 ● mysqld.service - MySQL Community Server
 4    Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
 5    Active: active (running) since 三 2019-08-14 17:18:54 CST; 23s ago
 6   Process: 1851 ExecStartPost=/usr/bin/mysql-systemd-start post (code=exited, status=0/SUCCESS)
 7   Process: 1791 ExecStartPre=/usr/bin/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
 8  Main PID: 1850 (mysqld_safe)
 9    CGroup: /system.slice/mysqld.service
10            ├─1850 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
11            └─2016 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mysqld.log...
12 
13 8月 14 17:18:53 localhost.localdomain mysql-systemd-start[1791]: PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
14 8月 14 17:18:53 localhost.localdomain mysql-systemd-start[1791]: To do so, start the server, then issue the following commands:
15 8月 14 17:18:53 localhost.localdomain mysql-systemd-start[1791]: /usr/bin/mysqladmin -u root password 'new-password'
16 8月 14 17:18:53 localhost.localdomain mysql-systemd-start[1791]: /usr/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'
17 8月 14 17:18:53 localhost.localdomain mysql-systemd-start[1791]: Alternatively you can run:
18 8月 14 17:18:53 localhost.localdomain mysql-systemd-start[1791]: /usr/bin/mysql_secure_installation
19 8月 14 17:18:53 localhost.localdomain mysql-systemd-start[1791]: which will also give you the option of removing the test
20 8月 14 17:18:53 localhost.localdomain mysqld_safe[1850]: 190814 17:18:53 mysqld_safe Logging to '/var/log/mysqld.log'.
21 8月 14 17:18:53 localhost.localdomain mysqld_safe[1850]: 190814 17:18:53 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
22 8月 14 17:18:54 localhost.localdomain systemd[1]: Started MySQL Community Server.
23 [root@localhost ~]#

连接数据库

MySQL的5.6版本安装完成后,默认root用户是没有密码的,使用命令登录:

 1 [root@localhost ~]# mysql -uroot
 2 Welcome to the MySQL monitor.  Commands end with ; or \g.
 3 Your MySQL connection id is 4
 4 Server version: 5.6.45 MySQL Community Server (GPL)
 5 
 6 Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
 7 
 8 Oracle is a registered trademark of Oracle Corporation and/or its
 9 affiliates. Other names may be trademarks of their respective
10 owners.
11 
12 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
13 
14 mysql>

查看版本号

使用 select version(); 命令可以查询MySQL的版本:

1 mysql> select version();
2 +-----------+
3 | version() |
4 +-----------+
5 | 5.6.45    |
6 +-----------+
7 1 row in set (0.00 sec)
8 
9 mysql>

简单配置

使用命令对MySQL进行简单配置:

1 [root@localhost ~]# mysql_secure_installation
2 
3 NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
4       SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

输入当前的密码,如果没有设置就回车:

1 In order to log into MySQL to secure it, we'll need the current
2 password for the root user.  If you've just installed MySQL, and
3 you haven't set the root password yet, the password will be blank,
4 so you should just press enter here.
5 
6 Enter current password for root (enter for none): 
7 OK, successfully used password, moving on...

是否为root用户设置密码:

1 Setting the root password ensures that nobody can log into the MySQL
2 root user without the proper authorisation.
3 
4 Set root password? [Y/n] y
5 New password: 
6 Re-enter new password: 
7 Password updated successfully!
8 Reloading privilege tables..
9  ... Success!

是否删除匿名用户:

1 By default, a MySQL installation has an anonymous user, allowing anyone
2 to log into MySQL without having to have a user account created for
3 them.  This is intended only for testing, and to make the installation
4 go a bit smoother.  You should remove them before moving into a
5 production environment.
6 
7 Remove anonymous users? [Y/n] 
8  ... Success!

是否允许root用户远程登录:

1 Normally, root should only be allowed to connect from 'localhost'.  This
2 ensures that someone cannot guess at the root password from the network.
3 
4 Disallow root login remotely? [Y/n] 
5  ... Success!

是否删除test数据库:

 1 By default, MySQL comes with a database named 'test' that anyone can
 2 access.  This is also intended only for testing, and should be removed
 3 before moving into a production environment.
 4 
 5 Remove test database and access to it? [Y/n] 
 6  - Dropping test database...
 7 ERROR 1008 (HY000) at line 1: Can't drop database 'test'; database doesn't exist
 8  ... Failed!  Not critical, keep moving...
 9  - Removing privileges on test database...
10  ... Success!

是否重新加载权限表:

1 Reloading the privilege tables will ensure that all changes made so far
2 will take effect immediately.
3 
4 Reload privilege tables now? [Y/n] 
5  ... Success!

设置完成:

1 All done!  If you've completed all of the above steps, your MySQL
2 installation should now be secure.
3 
4 Thanks for using MySQL!
5 
6 
7 Cleaning up...
8 [root@localhost ~]#

卸载MySQL

查看MySQL已安装的软件包:

1 [root@localhost ~]# yum list installed | grep mysql
2 mysql-community-client.x86_64        5.6.45-2.el7                   @mysql56-community
3 mysql-community-common.x86_64        5.6.45-2.el7                   @mysql56-community
4 mysql-community-libs.x86_64          5.6.45-2.el7                   @mysql56-community
5 mysql-community-server.x86_64        5.6.45-2.el7                   @mysql56-community
6 mysql80-community-release.noarch     el7-3                          installed   
7 [root@localhost ~]#

使用yum命令卸载:

 1 [root@localhost ~]# yum remove -y mysql80-community-release.noarch mysql-community-client mysql-community-server mysql-community-common mysql-community-libs
 2 ...
 3 ======================================================================================================================================
 4  Package                                  架构                  版本                          源                                 大小
 5 ======================================================================================================================================
 6 正在删除:
 7  mysql-community-client                   x86_64                5.6.45-2.el7                  @mysql56-community                 89 M
 8  mysql-community-common                   x86_64                5.6.45-2.el7                  @mysql56-community                2.1 M
 9  mysql-community-libs                     x86_64                5.6.45-2.el7                  @mysql56-community                9.2 M
10  mysql-community-server                   x86_64                5.6.45-2.el7                  @mysql56-community                252 M
11  mysql80-community-release                noarch                el7-3                         installed                          31 k
12 ...
13 完毕!
14 [root@localhost ~]#
点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''
Wesley13 Wesley13
2年前
MySQL入门——在Linux下安装和卸载MariaDB
MySQL入门——在Linux下安装和卸载MariaDB摘要:本文主要学习了如何在Linux系统中安装和卸载MariaDB数据库。查看有没有安装过MariaDB使用命令查看有没有安装过:1root@localhost~yumlist
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这