zoukankan      html  css  js  c++  java
  • RedHat 安装MySQL数据库【转】

     

      朋友购买了阿里云的服务器,服务器上自带有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
  • 相关阅读:
    解决:Could not resolve archetype org.apache.maven.archetypes
    Spring MVC配置MyBatis输出SQL
    Spring集成MyBatis 通用Mapper以及 pagehelper分页插件
    关于SpringMVC或Struts2接受参数接收不到的原因
    配置quartz启动时就执行一次
    ajaxFileUpload进行文件上传时,总是进入error
    spring mvc注入配置文件里的属性
    java中将一个文件夹下所有的文件压缩成一个文件
    flume failed to start agent because dependencies were not found in classpath
    ubuntu不能安装pip unable to install pip in unbuntu
  • 原文地址:https://www.cnblogs.com/bluedy1229/p/3737509.html
Copyright © 2011-2022 走看看