1.检查是否有安装

安装之前应该先查询系统是否自在了mysql的软件包 rpm -qa|grep -i mysql

如果有的话需要先删除 rpm -e 软件名 --nodeps

2.下载安装包

cd/usr/local/src

wgethttp://cdn.mysql.com/Downloads/MySQL-5.6/MySQL-server-5.6.13-1.el6.x86_64.rpm

wget http://cdn.mysql.com/Downloads/MySQL-5.6/MySQL-client-5.6.13-1.el6.x86_64.rpm

上面的地址失效,用这个:

http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-5.6/

3.安装 

rpm -ivh MySQL-server-5.6.13-1.el6.x86_64.rpm

rpm -ivh MySQL-client-5.6.13-1.el6.x86_64.rpm

4.启动及配置

#启动MySQL

service mysql start

#登录mysql

mysql -u root -p

Enter password:

其中-u后跟的是用户名,-p要求输入密码,回车后在输入密码处输入密码。

   注意:这个mysql文件在/usr/bin目录下,与后面讲的启动文件/etc/init.d/mysql不是一个文件。

   四、MySQL的几个重要目录

   MySQL安装完成后不象SQL Server默认安装在一个目录,它的数据库文件、配置文件和命令文件分别在不同的目录,了解这些目录非常重要,尤其对于Linux的初学者,因为 Linux本身的目录结构就比较复杂,如果搞不清楚MySQL的安装目录那就无从谈起深入学习。

   下面就介绍一下这几个目录。

   1、数据库目录 
   /var/lib/mysql/

   2、配置文件 
   /usr/share/mysql(mysql.server命令及配置文件)

   3、相关命令 
   /usr/bin(mysqladmin mysqldump等命令)

   4、启动脚本 
   /etc/rc.d/init.d/(启动脚本文件mysql的目录) 
  五、修改登录密码

   MySQL默认没有密码,安装完毕增加密码的重要性是不言而喻的。

   1、命令 
   usr/bin/mysqladmin -u root password 'new-password' 
   格式:mysqladmin -u用户名 -p旧密码 password 新密码

   2、例子 
   例1:给root加个密码123456。 
   键入以下命令 : 
   [root@test1 local]# /usr/bin/mysqladmin -u root password 123456 
   注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。

   3、测试是否修改成功 
   1)不用密码登录 
   [root@test1 local]# mysql 
   ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO) 
   显示错误,说明密码已经修改。 
   2)用修改后的密码登录 
   [root@test1 local]# mysql -u root -p 
   Enter password: (输入修改后的密码123456) 
   Welcome to the MySQL monitor. Commands end with ; or \g. 
   Your MySQL connection id is 4 to server version: 4.0.16-standard 
   Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 
   mysql> 
   成功! 
   这是通过mysqladmin命令修改口令,也可通过修改库来更改口令。

六、启动与停止

   1、启动 
   MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令即可。 
   [root@test1 init.d]# /etc/init.d/mysql start

   2、停止 
   /usr/bin/mysqladmin -u root -p shutdown

   3、自动启动 
   1)察看mysql是否在自动启动列表中 
   [root@test1 local]# /sbin/chkconfig --list 
   2)把MySQL添加到你系统的启动服务组里面去 
   [root@test1 local]# /sbin/chkconfig –- add mysql 
   3)把MySQL从启动服务组里面删除。 
   [root@test1 local]# /sbin/chkconfig –-del mysql 
七、更改MySQL目录

   MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步:

   1、home目录下建立data目录 
   cd /home 
   mkdir data

   2、把MySQL服务进程停掉: 
   mysqladmin -u root -p shutdown

   3、把/var/lib/mysql整个目录移到/home/data 
   mv /var/lib/mysql /home/data/ 
   这样就把MySQL的数据文件移动到了/home/data/mysql下

   4、找到my.cnf配置文件 
   如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下: 
   [root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

   5、编辑MySQL的配置文件/etc/my.cnf 
   为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock 。操作如下: 
   vi  my.cnf    (用vi工具编辑my.cnf文件,找到下列数据修改之) 
   # The MySQL server 
    [mysqld] 
    port   = 3306 
    #socket  = /var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行) 
    socket  = /home/data/mysql/mysql.sock   (加上此行)

   6、修改MySQL启动脚本/etc/rc.d/init.d/mysql 
   最后,需要修改MySQL启动脚本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。 
   [root@test1 etc]# vi /etc/rc.d/init.d/mysql 
   #datadir=/var/lib/mysql    (注释此行) 
   datadir=/home/data/mysql   (加上此行)

   7、重新启动MySQL服务 
   /etc/rc.d/init.d/mysql start 
   或用reboot命令重启Linux 
   如果工作正常移动就成功了,否则对照前面的7步再检查一下。

八、MySQL的常用操作

   注意:MySQL中每个命令后都要以分号;结尾。

   1、显示数据库 
   mysql> show databases; 
   +----------+ 
   | Database | 
   +----------+ 
   | mysql  | 
   | test   | 
   +----------+ 
   2 rows in set (0.04 sec) 
   Mysql刚安装完有两个数据库:mysql和test。mysql库非常重要,它里面有MySQL的系统信息,我们改密码和新增用户,实际上就是用这个库中的相关表进行操作。

   2、显示数据库中的表 
   mysql> use mysql; (打开库,对每个库进行操作就要打开此库,类似于foxpro ) 
   Database changed

   mysql> show tables; 
   +-----------------+ 
   | Tables_in_mysql | 
   +-----------------+ 
   | columns_priv  | 
   | db       | 
   | func      | 
   | host      | 
   | tables_priv   | 
   | user      | 
   +-----------------+ 
   6 rows in set (0.01 sec)

   3、显示数据表的结构: 
   describe 表名;

   4、显示表中的记录: 
   select * from 表名; 
   例如:显示mysql库中user表中的纪录。所有能对MySQL用户操作的用户都在此表中。 
   Select * from user;

   5、建库: 
   create database 库名; 
   例如:创建一个名字位aaa的库 
   mysql> create databases aaa; 
6、建表: 
   use 库名; 
   create table 表名 (字段设定列表); 
   例如:在刚创建的aaa库中建立表name,表中有id(序号,自动增长),xm(姓名),xb(性别),csny(出身年月)四个字段 
   use aaa; 
   mysql> create table name (id int(3) auto_increment not null primary key, xm char(8),xb char(2),csny date); 
   可以用describe命令察看刚建立的表结构。 
   mysql> describe name;

   +-------+---------+------+-----+---------+----------------+ 
   | Field | Type  | Null | Key | Default | Extra     | 
   +-------+---------+------+-----+---------+----------------+ 
   | id  | int(3) |   | PRI | NULL  | auto_increment | 
   | xm  | char(8) | YES |   | NULL  |        | 
   | xb  | char(2) | YES |   | NULL  |        | 
   | csny | date  | YES |   | NULL  |        | 
   +-------+---------+------+-----+---------+----------------+

   7、增加记录 
   例如:增加几条相关纪录。 
   mysql> insert into name values('','张三','男','1971-10-01'); 
   mysql> insert into name values('','白云','女','1972-05-20'); 
   可用select命令来验证结果。 
   mysql> select * from name; 
   +----+------+------+------------+ 
   | id | xm  | xb  | csny    | 
   +----+------+------+------------+ 
   | 1 | 张三 | 男  | 1971-10-01 | 
   | 2 | 白云 | 女  | 1972-05-20 | 
   +----+------+------+------------+

8、修改纪录 
   例如:将张三的出生年月改为1971-01-10 
   mysql> update name set csny='1971-01-10' where xm='张三';

   9、删除纪录 
   例如:删除张三的纪录。 
   mysql> delete from name where xm='张三';

   10、删库和删表 
   drop database 库名; 
   drop table 表名;

   九、增加MySQL用户

   格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码" 
例1、增加一个用户user_1密码为123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令:

   mysql> grant select,insert,update,delete on *.* to user_1@"%" Identified by "123"; 
例1增加的用户是十分危险的,如果知道了user_1的密码,那么他就可以在网上的任何一台电脑上登录你的MySQL数据库并对你的数据为所欲为了,解决办法见例2。

  例2、增加一个用户user_2密码为123,让此用户只可以在localhost上登录,并可以对数据库aaa进行查询、插入、修改、删除的 操作(localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使用知道user_2 的密码,他也无法从网上直接访问数据库,只能通过 MYSQL主机来操作aaa库。

   mysql>grant select,insert,update,delete on aaa.* to user_2@localhost identified by "123";

   用新增的用户如果登录不了MySQL,在登录时用如下命令:

   mysql -u user_1 -p -h 192.168.113.50 (-h后跟的是要登录主机的ip地址)

   十、备份与恢复

   1、备份

   例如:将上例创建的aaa库备份到文件back_aaa中

   [root@test1 root]# cd /home/data/mysql (进入到库目录,本例库已由val/lib/mysql转到/home/data/mysql,见上述第七部分内容) 
   [root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa

   2、恢复

   [root@test mysql]# mysql -u root -p ccc < back_aaa

你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

CentOS下开启mysql远程连接,远程管理数据库

当服务器没有运行php、没装phpmyadmin的时候,远程管理mysql就显得有必要了。因为在CentOS下设置的,所以标题加上了CentOS,以下的命令在debian等系统下应该也OK。

  1. mysql -u root -p mysql # 第1个mysql是执行命令,第2个mysql是系统数据名称

在mysql控制台执行:

  1. grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
  2. # root是用户名,%代表任意主机,'123456'指定的登录密码(这个和本地的root密码可以设置不同的,互不影响)
  3. flush privileges; # 重载系统权限
  4. exit;

允许3306端口

  1. iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
  2. # 查看规则是否生效
  3. iptables -L -n # 或者: service iptables status
  4. # 此时生产环境是不安全的,远程管理之后应该关闭端口,删除之前添加的规则
  5. iptables -D INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

PS,上面iptables添加/删除规则都是临时的,如果需要重启后也生效,需要保存修改:
service iptables save # 或者: /etc/init.d/iptables save
另外,
vi /etc/sysconfig/iptables # 加上下面这行规则也是可以的
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

远程管理数据库的软件,win系统下可以使用SQLyog,用了几种远程软件,感觉这个用起来蛮不错的

CentOS RPM安装MySQL-5.6的更多相关文章

  1. Linux/CentOS下安装MySql RPM Bundle

    一.下载对应的版本的MySql安装文件 1.下载路径 https://dev.mysql.com/downloads/mysql/ 2.选择对应的Linux版本和x86/x64位的安装文件 查看Lin ...

  2. centos 7 安装MySQL 5.6

    本文根据mysql的官方文档操作:https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/ 由于Centos7 默认数据库是mariabd(网上 ...

  3. CentOS 7 安装MySQL 5.6遇到问题及解决方案

    centos下安装mysql真的没有想象中那么容易,在这里我总结一下遇到的问题 1. ERROR 2002 (HY000): Can’t connect to local MySQL server t ...

  4. Centos下安装mysql 和挂载硬盘

    一,CentOS下安装Mysql 6.5 1.检测系统是否自带安装mysql # yum list installed | grep mysql 2.删除已经安装的Mysql # yum -y rem ...

  5. 【linux系列】Centos下安装mysql数据库

    前言 为了测试方便,通常我们会自己安装数据库,以下是在Centos上安装Mysql的操作. 一.检查自己是否安装了MySQL数据库 [root@s201 /home/mysql]#rpm -qa |g ...

  6. CentOS 7 安装 MySQL Database

    CentOS 7 安装 MySQL Database 1. 现在安装包,MySQL的安装包被分成了社区版和企业版,而本文将记录社区版本MySQL安装过程,下载MySQL版本如下: mysql-5.7. ...

  7. Centos下安装mysql 总结

    一.MySQL安装 Centos下安装mysql 请点开:http://www.centoscn.com/CentosServer/sql/2013/0817/1285.html 二.MySQL的几个 ...

  8. 使用rpm安装mysql的默认目录

    --使用rpm安装mysql的默认目录:1.数据库目录/var/lib/mysql/2.配置文件/usr/share/mysql(mysql.server命令及配置文件)3.相关命令/usr/bin( ...

  9. Centos 7 安装mysql后出现 ERROR 2002 (HY000)解决方案

    Centos 7 安装mysql后出现 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib ...

  10. centos 7 安装 MySQL 5.6

    由于Centos7 默认数据库是mariabd,所以通过rpm安装MySQL需要卸载原有的Mariabd,再下载所有的依赖包比较麻烦且容易出错.通过yum的方式安装.yum其实是rpm的一个升级将所有 ...

随机推荐

  1. SOL面向对象 五大原则

    单一职责原则SRP(Single Responsibility Principle)是指一个类的功能要单一,不能包罗万象.如同一个人一样,分配的工作不能太多,否则一天到晚虽然忙忙碌碌的,但效率却高不起 ...

  2. php-引号中出现$

    当双引号中包含变量时,变量对应的值会与双引号中的内容连接在一起: 当单引号中包含变量时,变量会被当做字符串输出. 慕课网,I love you!慕课网,$love

  3. wamp多站点配置

    1.修改wamp安装目录下:\wamp\bin\apache\Apache2.2.21\conf\extra中的httpd-vhosts.conf文件如下: 2.修改wamp-apache-httpd ...

  4. Mysql索引介绍及常见索引(主键索引、唯一索引、普通索引、全文索引、组合索引)的区别

    Mysql索引概念:说说Mysql索引,看到一个很少比如:索引就好比一本书的目录,它会让你更快的找到内容,显然目录(索引)并不是越多越好,假如这本书1000页,有500也是目录,它当然效率低,目录是要 ...

  5. TP隐藏入口

    我们知道,在thinkphp的案例中有一个.htaccess文件,里面配置了URL的一些重写规则,如: <IfModule mod_rewrite.c>  RewriteEngine on ...

  6. linux tomcat 配置

    http://www.cnblogs.com/xdp-gacl/p/4097608.html

  7. c#经典俄罗斯方块 vs2012开发

    把网上两个开源的俄罗斯方块,整合到一起了,开发环境vs2012+.net 4.0,有问题.建议可以加群沟通哦 复古的 c#写的一个俄罗斯方块小游戏,友好的人机交互,具体功能如下: 1.游戏分七个关卡, ...

  8. Python 入門語法和類型(转载学习)

    http://www.cnblogs.com/mcdou/archive/2011/08/02/2125016.html Python的设计目标之一是让源代码具备高度的可读性.它设计时尽量使用其它语言 ...

  9. JSP直接连接sql2008数据库并显示

    <%@ page contentType="text/html; charset=utf-8" language="java" errorPage=&qu ...

  10. Java获取字符串编码方式

    直接下载吧: http://files.cnblogs.com/files/xiluhua/BytesEncodingDetectTool.rar