Fork me on GitHub

Linux安装和卸载MySQL


MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

1、MySQL 安装

所有平台的 MySQL 下载地址为:MySQL。 挑选你需要的 MySQL Community Server 版本及对应的平台。

  • 安装前,我们可以检测系统是否自带安装 MySQL或者mariadb:
    1
    2
    rpm -qa | grep mysql
    rpm -pa | grep mariadb
  • 如果你系统有安装,那可以选择进行卸载:
    1
    2
    rpm -e mysql-xxxx  // 普通删除模式
    rpm -e --nodeps mysql-xxxx  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
  • 接下来我们在 Centos7 系统下使用 yum 命令安装 MySQL,需要注意的是 CentOS 7 版本中 MySQL数据库已从默认的程序列表中移除,所以在安装前我们需要先去官网下载 Yum 资源包,下载地址为:MySQL

    1
    2
    3
    4
    5
    wget https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
    rpm -ivh mysql80-community-release-el7-2.noarch.rpm
    yum clean all
    yum makecache
    yum install mysql-server
  • 使用yum安装MySQL
    当我们在使用yum安装mysql时,yum默认会从yum仓库中安装mysql最新的GA版本;查看mysql yum仓库中mysql版本,使用如下命令:

    1
    vim /etc/yum.repos.d/mysql-community.repo 

    将相应版本下的enabled改成 1 即可。
    然后安装

    1
    yum install mysql-community-server

2、验证 MySQL 安装

  • 在成功安装 MySQL 后,一些基础表会表初始化,在服务器启动后,你可以通过简单的测试来验证 MySQL 是否工作正常。
  • 使用 mysqladmin 工具来获取服务器状态:
  • 使用 mysqladmin 命令俩检查服务器的版本, 在 linux 上该二进制文件位于 /usr/bin 目录,在 Windows 上该二进制文件位于C:\mysql\bin 。
1
mysqladmin --version
  • linux上该命令将输出以下结果,该结果基于你的系统信息:
  • 如果以上命令执行后未输入任何信息,说明你的Mysql未安装成功。

3、Mysql安装后需要做的

mysql在安装后会创建一个[email protected]账户,并且把初始的密码放到了/var/log/mysqld.log文件中

1
cat /var/log/mysqld.log | grep password #查看初始密码

现在你可以通过以下命令来连接到Mysql服务器:
1
2
[root@host]# mysql -u root -p
Enter password:*******

你可以使用以下命令来创建root用户的密码:
1
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

注意: 在输入密码时,密码是不会显示了,你正确输入即可。

4、MySQL添加用户、删除用户与授权

MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束):

1.新建用户

1.1 登录MYSQL:

@>mysql -u root -p
@>密码

1.2 创建用户:

1
mysql> CREATE USER 'test'@'localhost' IDENTIFIED BY '1234';

这样就创建了一个名为:test 密码为:1234 的用户。
注意: 此处的”localhost”,是指该用户只能在本地登录,不能在另外一台机器上远程登录。如果想远程登录的话,将”localhost”改为”%”,表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。

1.3 然后登录一下:

mysql>exit;
@>mysql -u test -p
@>输入密码
mysql>登录成功

2.为用户授权

授权格式:grant all privileges on . to ‘tone‘@’%’ with grant option;

2.1 登录MYSQL(有ROOT权限),这里以ROOT身份登录:

@>mysql -u root -p
@>密码

2.2 首先为用户创建一个数据库(testDB):

mysql>create database testDB;

2.3 授权test用户拥有testDB数据库的所有权限(某个数据库的所有权限):

1
2
mysql>grant all privileges on *.* to 'tone'@'%' with grant option;
mysql>flush privileges; //刷新系统权限表

2.4 如果想指定部分权限给一用户,可以这样来写:

1
2
3
mysql>grant select,update on testDB.* to [email protected] identified by '1234';

  mysql>flush privileges; //刷新系统权限表

2.5 授权test用户拥有所有数据库的某些权限:

1
2
3
4
5
mysql>grant select,delete,update,create,drop on *.* to [email protected]"%" identified by "1234";

//test用户对所有数据库都有select,delete,update,create,drop 权限。
//@"%" 表示对所有非本地主机授权,不包括localhost。(localhost地址设为127.0.0.1,如果设为真实的本地地址,不知道是否可以,没有验证。)
//对localhost授权:加上一句grant all privileges on testDB.* to [email protected] identified by '1234';即可。

3. 删除用户

1
2
3
4
5
6
7
8
@>mysql -u root -p
@>密码
mysql>Delete FROM user Where User='test' and Host='localhost';
mysql>flush privileges;
mysql>drop database testDB;
//删除用户的数据库删除账户及权限:
>drop user 用户名@'%';
>drop user 用户名@ localhost;

4. 修改指定用户密码

@>mysql -u root -p
@>密码
mysql>update mysql.user set password=password(‘新密码’) where User=”test” and Host=”localhost”;
mysql>flush privileges;

5. 列出所有数据库

mysql>show database;

6. 切换数据库

mysql>use ‘数据库名’;

7. 列出所有表

mysql>show tables;

8. 显示数据表结构

mysql>describe 表名;

9. 删除数据库和数据表

mysql>drop database 数据库名;
mysql>drop table 数据表名;

5、CentOS下MySQL的彻底卸载

查看MySQL是否安装:

  • 方式1:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    [[email protected] usr]# yum list installed mysql*  
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    * base: mirrors.yun-idc.com
    * extras: mirror.neu.edu.cn
    * updates: mirrors.yun-idc.com
    Installed Packages
    MySQL-client.x86_64 5.6.27-1.el6 installed
    MySQL-devel.x86_64 5.6.27-1.el6 installed
    MySQL-server.x86_64 5.6.27-1.el6 installed
    [[email protected] usr]#
  • 方式2( -i :不区分大小写):
    1
    2
    3
    4
    5
    [[email protected] usr]# rpm -qa | grep -i mysql  
    MySQL-server-5.6.27-1.el6.x86_64
    MySQL-client-5.6.27-1.el6.x86_64
    MySQL-devel-5.6.27-1.el6.x86_64
    [[email protected] usr]#

卸载:

如果装了mysql-devel(其他一样add command),卸载为:

1
[root@Tony_ts_tian init.d]# yum remove mysql mysql-devel mysql-server mysql-libs compat-mysql51 

注:

  • (例如):
    mysql-5.5.39-1.el6.remi.x86_64
    mysql-libs-5.5.39-1.el6.remi.x86_64
    compat-mysql51-5.1.54-1.el6.remi.x86_64
    mysql-server-5.5.39-1.el6.remi.x86_64

卸载2{继续,1,2选择一种(此处为介绍):}:

1
2
3
4
5
6
7
8
9
[[email protected] mysql]# rpm -aq | grep -i mysql  
MySQL-server-5.6.27-1.el6.x86_64
MySQL-client-5.6.27-1.el6.x86_64
MySQL-devel-5.6.27-1.el6.x86_64
[[email protected] mysql]# rpm -e MySQL-server-5.6.27-1.el6.x86_64
[[email protected] mysql]# rpm -e MySQL-client-5.6.27-1.el6.x86_64
[[email protected] mysql]# rpm -e MySQL-devel-5.6.27-1.el6.x86_64
[[email protected] rc.d]# cd /var/lib/
[[email protected] lib]# rm -rf mysql/

注: 删除MySQL数据库目录(关键) ,否则password不更新(默认安装,如果自定义安装路径和链接路径ln -s ……请删除。)
rm -rf /var/lib/mysql

卸载3:

1
2
3
[root@localhost usr]# whereis mysql  
mysql: /usr/lib64/mysql
[root@localhost usr]# rm -rf /usr/lib64/mysql

  • 注:find / -name mysql
    注:清空相关mysql的所有目录以及文件和其他配置和设置等。如果有,则删除。也必须考虑其他软件不去影响。
    rm -rf /usr/lib/mysql
    rm -rf /usr/share/mysql

卸载4:

1
2
[root@localhost usr]# rm –rf /usr/my.cnf  
[root@localhost usr]# rm -rf /root/.mysql_sercret

卸载5(自启服务):
1
2
[root@localhost usr]# chkconfig --list | grep -i mysql  
[root@localhost usr]# chkconfig --del mysqld

此处删除看自己设置:mysql/mysqld
(原文链接:点这里

本文结束啦 感谢您阅读
路漫漫其修远兮 吾将上下而求索