朋友购买了阿里云的服务器,服务器上自带有CentOS操作系统,但是开发软件需要自己安装,接下来将介绍本地RedHat Linux 5.10虚拟机上搭建Mysql数据库。

 一、软件准备

  (1)jdk-6u32-linux-x64.bin

   (2)MySQL-devel-5.6.16-1.linux_glibc2.5.x86_64.rpm

   (3)MySQL-server-5.6.16-1.linux_glibc2.5.x86_64.rpm

   (4)MySQL-client-5.6.16-1.linux_glibc2.5.x86_64.rpm

  软件下载地址:

     http://dev.mysql.com/downloads/mysql/

  也可以到如下下载:

   http://pan.baidu.com/s/1bnemZXP

 二、安装软件

 2.1 JDK配置

  JDK安装配置比较简单,主要是配置本地虚拟机默认的Java编译器。安装RedHat系统时候,系统自带JDK是1.4.2版本的,可以通过java -version命令来查看当前JDK版本。

  设置默认JDK版本方法:

  (1)编辑vi /etc/profile.d/java.sh文件

    添加如下代码:

1
2
3
export JAVA_HOME=/usr/java1.6
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$PATH

  (2)重启机器验证

     java -version

 2.2 MySQL安装

  2.2.1 检查原系统是否已经安装MysQL相关软件:

    rpm -qa |grep -i mysql

    2.2.2 卸载之前安装的MysqL相关软件或者是版本过低的软件。

    rpm -qa |grep -i mysql | rpm -e | sh

  2.2.3 安装MysQL

    1) rpm -ivh MySQL-devel-5.6.16-1.rhel5.x86_64
    2) rpm -ivh MySQL-server-5.6.16-1.rhel5.x86_64.rpm
    3) rpm -ivh MySQL-client-5.6.16-1.rhel5.x86_64.rpm

 2.3 配置Mysql数据库

  2.3.1 启动mysql数据库

  [root@AY1404 ~]# /etc/init.d/mysql start

  ERROR:

   ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

  原因还没有配置Mysql数据库,解决方法,编辑/etc/my.cnf文件,添加如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
--创建存放数据路径
mkdir -p /usr/mysql/data
chown -R mysql:mysql /usr/mysql
chmod -R 777 /usr/mysql
--配置my.cnf文件
[mysqld]
datadir=/usr/mysql/data
socket=/var/lib/mysql/mysql.sock
port=3306
basedir=/usr
  
[mysql.server]
user=mysql
basedir=/usr
  
[client]
socket=/var/lib/mysql/mysql.sock

 2.3.2 再次启动Mysql数据库

  [root@AY1404 ~]# /etc/init.d/mysql start

  有可能报错如下错误ERROR:

  Starting MySQL ERROR! Couldn't find MySQL server (/usr/local/bin/mysqld_safe)

  解决办法:

  在配置my.cnf文件时候,basedir路径选择有问题, mysqld_safe命令找不到,可用手工执行mysqld_safe命令验证一下。

  [root@AY1404 ~]# /usr/bin/mysqld_safe &

 2.3.3 再次启动数据库

  [root@AY1404 ~]# /etc/init.d/mysql start

  报错信息如下:

    Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist

  原因是我们当初创建数据库的时候,不存在mysql用户,只有root用户。解决方法:

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

  2.3.4 启动数据库

   mysql> show databases;

    +--------------------+
    | Database |
    +--------------------+
    | information_schema |
    | mysql |
    | performance_schema |
    | test |  
    +--------------------+
   4 rows in set (0.00 sec)

 三、Mysql数据库常用命令

  3.1 修改密码

    默认root用户密码时空,-p指旧密码,password后是新密码

  [root@AY1404 ~]#/usr/bin/mysqladmin -u root -p password root123;

  3.2 数据库启动关闭命令

1
2
3
4
5
6
7
8
--数据库启动服务
/etc/init.d/mysql start
或者
service mysql start
--数据库关闭服务
/etc/init.d/mysql shutdown
或者
service mysql stop

  3.3 数据库命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
(1) show databases; --列出当前数据库
(2) use databasename; 选择数据库  如:use test;
(3) show tables; 显示表
(4) describe tablename; 表的详细描述 
(5) create database name; 创建数据库 
(6)表重命名
    mysql>rename table table_abc to table_cba;
(7) 用文本方式将数据装入数据库表中
    mysql> LOAD DATA LOCAL INFILE "/opt/dept.txt" INTO TABLE dept;
(8) 导入.sql文件命令(例如/opt/dept.sql)
    mysql>use database;
    mysql>source/opt/dept.sql;
(9) 数据库备份
    导出整个库
    mysql>mysqldump -u user_name -p password --default-character-set=latin1 database_name > output_database
    导出表
    mysqldump -u user_name -p password database_name tablename   > table_name.sql
    导出数据结构
    mysqldump -u user_name -p password -d –add-drop-table database_name > database_name.sql
(10)数据库还原
    还原某张表
    mysqldump -u username -p password  database_name < inputfile.sql

四、解决系统内存溢出问题
    Mysql占内存较多,系统经常报内存溢出,需要在my.cnf里添加如下参数设置。
    Mysql V5.6数据库一些默认值较大,可通过SHOW VARIABLES LIKE 'perf%';进行查看数据库当前的值。
    Mysql官网online文档http://dev.mysql.com/doc/refman/5.6/en/performance-schema-system-variables.html
    现调整以下参数的大小:

1
2
3
4
5
6
7
8
9
10
11
12
13
performance_schema_max_table_instances=200
#performance_schema_max_table_instances default value 12500
table_definition_cache=200
#table_definition_cache default value  1400
table_open_cache=128
#table_open_cache  default value  2000
  
key_buffer_size = 8M
sort_buffer_size = 8M
  
query_cache_size= 16M
tmp_table_size=24M
key_buffer_size=20M

RedHat 安装MySQL数据库【转】的更多相关文章

  1. [原创]RedHat 安装MySQL数据库

    朋友购买了阿里云的服务器,服务器上自带有CentOS操作系统,但是开发软件需要自己安装,接下来将介绍本地RedHat Linux 5.10虚拟机上搭建Mysql数据库. 一.软件准备 (1)jdk-6 ...

  2. 二进制包安装MySQL数据库

    1.1二进制包安装MySQL数据库 1.1.1 安装前准备(规范) [root@Mysql_server ~]# mkdir -p /home/zhurui/tools ##创建指定工具包存放路径 [ ...

  3. Linux环境安装MySQL数据库

    1.  下载mysql安装包 下载地址1:  http://www.mysql.com/   (mysql官网) 下载地址2:  http://mirrors.sohu.com/mysql/   (其 ...

  4. CentOS下安装Mysql数据库

    其实,安装mysql数据库还是比较容易的,安装方式可以分为源码安装和二进制包安装.安装简单,只需要 yum安装几个包就可以搞定,安装后续其实还需要简单做些工作,才可以使用. 环境:CentOS 6.5 ...

  5. CentOS7安装mysql数据库

    安装完Centos7,迫不急待的想安装mysql数据库,却没想到走了很多弯路,后来经过查资料,才知道了在Centos7中用MariaDB代替了mysql数据库. 准确来说,本文的标题有点误导的意思,本 ...

  6. Centos6.4下Yum命令安装Mysql数据库及配置

    如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了 如果要开发web项目,我们当然可以安装一个 ...

  7. Linux下安装MySQL数据库以及用C语言编程存取数据库

    ubuntu下安装软件相当简单,一条简单的 apt-get install 就可以解决,相比源码安装方式唯一的缺点就是,你无法自定义软件的安装目录.不过这也不是什么太大的缺点.下面我们就用 apt-g ...

  8. Linux系统上安装mysql数据库

    一:下载并且上传安装包到linux系统上 1:下载地址:http://dev.mysql.com/downloads/mysql/ 2:通过LeapFtp工具,将windows上的mysql安装包拷贝 ...

  9. 可以自动安装mysql数据库的一个shell脚本

    发布:thatboy   来源:脚本学堂     [大 中 小] 分享一例shell脚本,可以实现mysql数据库的自动安装,脚本写的不错,无论是用来学习,还是生产环境中应用,都是不错的,有需要的朋友 ...

随机推荐

  1. x名称空间中的标记拓展

    1.x:Type Type类可作为所有数据类型在编程层面上的抽象.在XAML中,如果想表达某个数据类型时就需要使用x:Type标记拓展.例子: 创建一个Button的派生类: using System ...

  2. java位运算符常见用法

    1. 判断int型变量a是奇数还是偶数 a&1 = 0 偶数 a&1 = 1 奇数 2. 求平均值,比如有两个int类型变量x.y,首先要求x+y的和,再除以2,但是有可能x+y的结果 ...

  3. [转]使用onclick跳转到其他页面/跳转到指定url

    如果是本页显示可以直接用location,方法如下: ①onclick="javascript:window.location.href='URL'" ②onclick=" ...

  4. 转一篇讲camera的 mb好多年不搞3d 都忘光了

    Camera定义 游戏中,Camera用来向用户展示场景,Camera就像一个摄像机,摄像机里面的景象就是Camera的展示范围,如下图所示: 在3D空间中Camera被定义为一个位置,有一个单位“方 ...

  5. HttpServletResponse 学习

    1: 利用Response向浏览器输出中文: private void test1(HttpServletResponse response) throws IOException { String ...

  6. iOS - Swift NSTimer 定时器

    前言 public class NSTimer : NSObject 作用 在指定的时间执行指定的任务. 每隔一段时间执行指定的任务. 1.定时器的创建 当定时器创建完(不用 scheduled 的, ...

  7. Git与Repo入门(转载)

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAykAAADuCAIAAACyDd+sAAAAA3NCSVQICAjb4U/gAAAgAElEQVR4Xu ...

  8. poj3525Most Distant Point from the Sea(半平面交)

    链接 求凸多边形内一点距离边最远. 做法:二分+半平面交判定. 二分距离,每次让每条边向内推进d,用半平面交判定一下是否有核. 本想自己写一个向内推进..仔细一看发现自己的平面交模板上自带.. #in ...

  9. Jdbc入门

    JDBC入门 l  导jar包:驱动! l  加载驱动类:Class.forName(“类名”); l  给出url.username.password,其中url背下来! l  使用DriverMa ...

  10. jsp实时显示后台批处理进度 - out分块,简单的长连接方式

    这两天在实现一个批处理操作,但是想让前台实时显示后台批处理进度,本想着用复杂一些的框架可以实现异步信息调用 但是鉴于是内部管理系统,且只有一两个人用到这个功能,所以做了一个简单的长连接方式的实时响应 ...