文档章节

linux 安装 mysql 5.6 rpm版本 完整版

掐死你的温柔i
 掐死你的温柔i
发布于 2016/05/18 14:17
字数 2213
阅读 198
收藏 3

mysql 5.6 rpm  官方版本下载:

http://pan.baidu.com/s/1i51zRiX            提取码:zq76

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1:WinSCP 连接服务器  putty连接终端

    上传下载的   MySQL-5.6.30-1.linux_glibc2.5.x86_64.rpm-bundle.tar 到服务器。

-------------------------------------------------------------------------------------------------------------------------------------

查看是否已存在mysql的其他版本、将其卸载

1:#rpm -qa | grep -i mysql

若有显示的mysql 版本 例如

mysql-libs-5.1.52-1.el6_0.1.i686

那么将其卸载

yum -y remove mysql-libs-5.1.52-1.el6_0.1.i686

2:rpm -qa | grep -i mysql 

如果显示:

MySQL-client-5.1.62-1.glibc23.i386
MySQL-server-5.1.62-1.glibc23.i386

卸载:

rpm -remove mysql-libs-5.1.52-1.el6_0.1.i686  

或者

rpm -e mysql-libs-5.1.52-1.el6_0.1.i686  

 

若无法删除、可以用强制删除命令 比如:rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.i686  

3:删除mysql关联文件

 

最好实用find命令查看MySQL数据库相关的文件,方便后面彻底删除MySQL。

[root@DB-Server init.d]# find / -name mysql
/etc/rc.d/init.d/mysql
/etc/logrotate.d/mysql
/var/lock/subsys/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/include/mysql
/usr/include/mysql/mysql
/usr/bin/mysql
/usr/share/mysql
/usr/lib64/mysql

4:删除用户数组

[root@DB-Server ~]# more /etc/passwd | grep mysql
mysql:x:101:501::/home/mysql:/bin/bash
[root@DB-Server ~]# more /etc/shadow | grep mysql
mysql:!!:16496::::::
[root@DB-Server ~]# more /etc/group | grep mysql
mysql:x:501:
[root@DB-Server ~]# userdel mysql
[root@DB-Server ~]# groupdel mysql
groupdel: group mysql does not exist
[root@DB-Server ~]#

-------------------------------------------------------------------------------------------------------------------------------------

执行命令:

得到三个rpm文件,分别为

执行:

安装server 和client 端

安装完成后在/usr/share/mysql目录中会有一个mysql的启动脚本mysql.server及示例配置文件等(如my-huge.cnf、my-large.cnf、my-medium.cnf)

启动mysql

/etc/init.d/mysql start 或 service mysql start

停止mysql

/etc/init.d/mysql stop 或 service mysql stop

mysql安装好后目录结构如下:

工具程序在/usr/bin目录中---ls /usr/bin/mysql*

服务器程序/usr/sbin/mysqld

数据目录/var/lib/mysql

-------------------------------------------------------------------------------------------------------------------------------------

2:至此安装完成、开始配置:

1:首先linux防火墙要开启3306端口号。以为mysql是用3306端口的。

    执行: vi /etc/sysconfig/iptables

*一定要加载端口22的下面、加在别处无效、

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

防火墙开启其他端口号/都是这种方式。

service iptables restart   重启防火墙、OK!

-------------------------------------------------------------------------------------------------------------------------------------2:mysql 安装完毕后直接登陆

# mysql -uroot -p

此时可能存在登录不上的问题、因为你没有密码哈哈。

解决方案很多、这里提供一张通用解决方案、------- 安全模式下登陆mysql 、不用账号密码、然后进去更新root的帐号密码。

首先,关闭mysql

# service mysql stop

然后

# mysqld_safe --skip-grant-tables &

等待starting完毕、

在执行 # mysql -uroot -p 

不用密码登入mysql

mysql>use mysql;
mysql> update user set password=password("root") where user='root';
mysql> flush privileges;
mysql> exit;      
 

#service mysql restart

密码生效;

-------------------------------------------------------------------------------------------------------------------------------------

3:远程连接mysql、Navicat等工具连接的时候、就是远程连接、而不是登陆的账号密码了。

若远程连接账号密码都是对的、但是连接不上、可能就是防火墙没有添加3306端口、添加上就OK了

配置:

登陆mysql   

mysql>use mysql;
mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
mysql> flush privileges;
mysql> exit;      

远程连接设置完成。

可能某些人会有远程连接的时候、连接速度会很慢才连接上。那么下面处理

# vi  /etc/my.cnf

在配置文件中的mysqld下加入下面两行、就OK了。

[mysqld] 
skip-name-resolve 
skip-grant-tables

 

-------------------------------------------------------------------------------------------------------------------------------------

安装完成 重新连接数据库、设置远程连接的时候。use mysql 可能会报错
1:ERROR 1820 (HY000): You must SET PASSWORD before executing this statement 

如果出现这个错误、那么只需要执行一句操作即可:
    mysql> SET PASSWORD = PASSWORD('123456'); 
    Query OK, 0 rows affected (0.03 sec) 

是不是很逗比?

删除 更新远程连接的账户名密码方法:

方法一:

用root用户登陆,然后:

grant all privileges on *.* to 创建的用户名 @"%" identified by "密码";

flush privileges;   * 刷新刚才的内容*

格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by "用户密码";

            @ 后面是访问mysql的客户端IP地址(或是 主机名) % 代表任意的客户端,如果填写 localhost 为

本地访问(那此用户就不能远程访问该mysql数据库了)。

同时也可以为现有的用户设置是否具有远程访问权限。如下:

use mysql;

update db set host = ‘%’ where user = ‘用户名’; (如果写成 host=localhost 那此用户就不具有远程访问权限)

FLUSH PRIVILEGES;

GRANT ALL PRIVILEGES ON *.* TO ‘myuser’@'%' IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON *.* TO admin@localhost IDENTIFIED BY ‘password’ WITH GRANT OPTION 
GRANT ALL PRIVILEGES ON *.* TO admin@"%" IDENTIFIED BY ‘password’ WITH GRANT OPTION

 

撤权并删除用户 
要取消一个用户的权限,使用REVOKE语句。REVOKE的语法非常类似于GRANT语句,除了TO用FROM取代并且没有INDETIFED BY和WITH GRANT OPTION子句: 
REVOKE privileges (columns) ON what FROM user 
user部分必须匹配原来GRANT语句的你想撤权的用户的user部分。privileges部分不需匹配,你可以用GRANT语句授权,然后用REVOKE语句只撤销部分权限。 
REVOKE语句只删除权限,而不删除用户。即使你撤销了所有权限,在user表中的用户记录依然保留,这意味着用户仍然可以连接服务器。要完全删除一个用户,你必须用一条DELETE语句明确从user表中删除用户记录: 
use mysql; 
DELETE FROM user WHERE User=’user_name’ and Host=’host_name’; 
FLUSH PRIVILEGES; 
DELETE语句删除用户记录,而FLUSH语句告诉服务器重载授权表。(当你使用GRANT和REVOKE语句时,表自动重载,而你直接修改授权表时不是。)

----------------------------------------------------------------------------------------------------------------------------------

2:Starting MySQL. ERROR! The server quit without updating PID file 

当出现这个错误的时候、就需要你重新初始化你的数据库权限等等。原因可能是之前在这台机器上有装过mysql、起了冲突?但是以下是能解决的方案

    1):找到这几个文件与文件夹:

            Mysql的初始化表的文件 mysql_install_db    /usr/bin/mysql_install_db

            my.conf         /etc/my.conf    若没有 请下载附件粘贴到目录 

            链接:http://pan.baidu.com/s/1c2yXKWw 密码:cw2a

            mysql.sock   /var/lib/mysql     若没有请自行在目录下新建文件

        2):初始化需要的环境 

                链接:http://pan.baidu.com/s/1pKQf0CF 密码:ldcu         安装libiao环境

                执行:/usr/bin/下 mysql_install_db  --user=mysql

                若报错    

                -bash: ./scripts/mysql_install_db: /usr/bin/perl: bad interpreter: No such file or directory

                则需要安装 perl 环境  。安装命令:yum -y install perl perl-devel

                继续执行初始化命令即可 /usr/bin/下 mysql_install_db  --user=mysql

                初始化完成后、启动mysql

                

         

3:mysql连接速度慢 
在局域网内连接其他机器的MYSQL,发现速度慢的很,不知道什么原因,总有几秒的延迟.

远程连接mysql异常缓慢,经常执行一条命令,然后要等个10几秒执行下一条。解决方法是在mysql的my.ini中的mysqld节加入skip-name-resolve,该命令参数避免了对主机名进行解析从而加快连接速度。
后来在网上发现解决方法,my.ini里面添加<linux中在/etc/my.cnf> 
[mysqld] 
skip-name-resolve 
skip-grant-tables

 

 

附:用户授权

 授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"; 

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

  @>mysql -u root -p

  @>密码

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

  mysql>create database testDB;

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

   mysql>grant all privileges on testDB.* to test@localhost identified by '1234';

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

  格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"; 

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

  mysql>grant select,update on testDB.* to test@localhost identified by '1234';

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

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

  mysql>grant select,delete,update,create,drop on *.* to test@"%" identified by "1234";

     //test用户对所有数据库都有select,delete,update,create,drop 权限。

  //@"%" 表示对所有非本地主机授权,不包括localhost。(localhost地址设为127.0.0.1,如果设为真实的本地地址,不知道是否可以,没有验证。)

 //对localhost授权:加上一句grant all privileges on testDB.* to test@localhost identified by '1234';即可。

 

2. 删除用户( 删除远程登录的用户)

   @>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; 

 

3. 修改指定用户密码(远程)

    @>mysql -u root -p

    @>密码

    mysql>update mysql.user set password=password('新密码') where User="test" and Host="localhost";

    mysql>flush privileges;

 

4. 列出所有数据库

  mysql>show database;

 

5. 切换数据库

  mysql>use '数据库名';

 

6. 列出所有表

  mysql>show tables;

 

7. 显示数据表结构

  mysql>describe 表名;

 

8. 删除数据库和数据表

  mysql>drop database 数据库名;

  mysql>drop table 数据表名;

 

 

 

 

 

 

 

 

 

 

 

                                                                                        --------------------------------------  盻神

 

 

 

© 著作权归作者所有

掐死你的温柔i

掐死你的温柔i

粉丝 11
博文 56
码字总数 29429
作品 0
闵行
后端工程师
私信 提问
centos7.1安装mysql6.5

安装方法: 众所周知,Linux系统自带的repo是不会自动更新每个软件的最新版本(基本都是比较靠后的稳定版), 所以无法通过yum方式安装MySQL的高级版本。所以我们需要先安装带有当前可用的m...

断情伤泪
2017/07/13
0
0
CentOS 6.5系统中RPM安装配置MySQL5.6数据库

一:卸载掉原有mysql 因为mysql数据库在Linux上实在是太流行了,所以目前下载的主流Linux系统版本基本上都集成了mysql数据库在里面,我们可以通过如下命令来查看我们的操作系统上是否已经安装...

Elson
2014/08/04
3.2K
0
11.1-5 LAMP架构介绍 ,MySQL、MariaDB介绍 , MySQL安装

LAMP 架构介绍 LAMP是Linux Apache MySQL PHP的简写;linux是操作系统,Apache是一个web服务软件,mysql数据库软件,PHP是一个脚本语言(目前很多网站都是php语言编写,google,百度,淘宝,...

Linux_老吴
2018/08/02
9
0
yum安装最新的mysql

通常在使用Yum安装MySQL时,centos6默认安装的是伴随OS发布的旧MySQL版本,centos7安装的MariaDB。之前要安装最新的MySQL版本,你必须去Oracle的MySQL主页,下载最新的发布版本,然后编译安装...

hiwill
2015/09/09
507
0
LAMP、MySQL、MariaDB介绍,MySQL安装

11.1 LAMP架构介绍 Linux+Apache(httpd)+MSQL+PHP Linux服务器 Apache(httpd)web服务 MySQL 存储的软件,存储数据,字符串 PHP为脚本语言类似shell,使用C开发的,做网站为主 三个角色可...

派派菠菜
2018/05/24
19
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
今天
319
5
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
11
0
计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
6
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部