zoukankan      html  css  js  c++  java
  • linux下MySQL安装

    mysql版本的区别http://www.cnblogs.com/langtianya/p/5185601.html

    mysql软件可以去官网下载http://dev.mysql.com/downloads/mysql/,也可以去大公司的资源库下载,比如:http://mirrors.sohu.com/mysql/MySQL-5.7/这是搜狐的。

    多实例创建方法:http://blog.csdn.net/leshami/article/details/40339295

    一、mysql二进制免编译包安装

    mysql二进制免编译安装

    # cd /usr/local/src/         约定以后安装软件就下载到这里使用

    # wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.51-linux2.6-x86_64.tar.gz    下载

    # tar zxvf mysql-5.5.51-linux2.6-x86_64.tar.gz       解压

    # mv mysql-5.5.51-linux2.6-x86_64  /usr/local/mysql 移动位置到安装目录下

    # useradd -s /sbin/nologin mysql 建立mysql用户

    # cd /usr/local/mysql 进入安装目录,目录下有许多文件。

    # mkdir -p /data/mysql 创建datadir目录,数据库文件放这里面

    # chown -R mysql:mysql /data/mysql 更改权限,以便mysql安装以及使用

    # ./scripts/mysql_install_db --user=mysql datadir=/data/mysql/  运行脚本安装,同时定义数据库所属主及数据库文件目录。

    以下是遇到的错误及解决办法

    (1)遇到错误:./bin/mysqld:error while loading shared libraries:libstde++.so.5:cannot open shared object file:

    解决办法:

    # yum install -y compat-libstdc++-33

    (2)遇到错误:./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or director

    解决办法:

    # yum install -y libaio

    (3)遇到错误:./scripts/mysql_install_db:./bin/my_print_defaults:/lib/ld-linux.so.2:bad ELF interpreter:No such file or directory

    解决办法:你的系统版本和mysql版本不一致,下载正确版本安装。

     配置mysql

    拷贝配置文件

     # cp support-files/my-large.cnf /etc/my.cnf

    拷贝启动脚本文件并修改其权限属性

    # cp support-files/mysql.server /etc/init.d/mysqld

    # chmod 755 /etc/init.d/mysqld

    修改启动脚本

    # vim /etc/init.d/mysqld

    basedir=/usr/local/mysql

    datadir=/data/mysql

    把启动脚本加入系统服务项

    # chkconfig --add mysqld

    设定开机启动   注意:一般为了数据安全,如果涉及主从,会对数据产生影响,所以手动启动

    # chkconfig mysqld on

    启动mysql

    # service mysqld start

    如果启动不了,到/data/mysql目录下查看 错误日志,日志名通常是主机名.err.

     检查mysql是否启动

    # ps aux |grep mysqld               以进程方式检查

    # netstat -lnp |grep mysql         以网络信息状态形式检查监听的端口

    二、mysql免安装

    1mysql安装准备工作

    下载地址http://dev.mysql.com/downloads/mysql/Linux-Generic 为免安装版本,我选择的64位。

    OS:      CentOS 6.5

    MySQL:    5.7.16  

    程序目录:       /usr/local/mysql

    数据文件目录:  /data/mysql

    # cd /usr/local/src/         约定以后安装软件就下载到这里使用

    #  wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar

    # useradd -s /sbin/nologin mysql 建立mysql用户

    # yum search libaio mysqllibiao库有依赖,查询如果没有安装则进行安装。

    # yum install -y libaio libiao库进行安装。

    # tar -xvf mysql-5.7.17-linux-glibc2.5-x86_64.tar 这里解tar包后发现有两个包:mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz mysql-test-5.7.17-linux-glibc2.5-x86_64.tar.gz,我使用mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz这个包。

    # tar zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz 解包

    # cp -R mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql 将文件复制到程序目录下

    #  cd /usr/local/mysql/support-files

    # cp my-default.cnf /etc/my.cnf

    注意:如果你在安装时Linux虚拟机时同时安装了默认的mysql,此时操作以上步骤,终端将会提示你文件已存在是否覆盖,输入yes覆盖即可。

    # vim /etc/my.cnf 在这份文件中可以添加以下配置信息(如果有修改即可)

    [mysql]

    default-character-set=utf8

    [mysqld]

    default-storage-engine=INNODB

    character_set_server=utf8

    #  cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql       目的想实现启动管理

    # vim /etc/my.cnf 修改 /etc/init.d/mysql 参数,给与2个目录位置

    basedir=/usr/local/mysql

    datadir=/data/mysql

    出于安全便利,创建一个操作数据库的专门用户

      1)、groupadd mysql #建立一个mysql的组

      2)、useradd -r -g mysql mysql #建立mysql用户,并且把用户放到mysql组

      3)、passwd mysql #给mysql用户设置一个密码

      4)、chown -R mysql:mysql /usr/local/mysql/ 给目录/usr/local/mysql 更改拥有者  

    2、初始化mysql数据库

    # cd /usr/local/mysql_1/bin 进入程序目录的bin

    # ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql 初始化,在/data生成出一个mysql目录,代表数据库已经初始化成功并且mysql的root用户生成一个临时密码:mdS!TzoJ-5P0(先记录这个临时密码)。

    # ./mysql_ssl_rsa_setup --datadir=/data/mysql 给数据库加密

    # ./mysqld_safe --user=mysql 启动mysql

    # ps -ef|grep mysql 这时查看进程没有(不知道别人有没有成功)

    # /etc/init.d/mysql start   这时提示启动成功了

    # mysql -uroot -p 使用刚前面的临时密码可以登陆了

    mysql> set password = password('mysqlpasswd'); mysqlroot密码修改为mysqlpasswd

    # chkconfig --add mysql mysql添加入chkconfig管理

    # vim /root/.bash_profile 为了方便操作,添加mysqlPATH,如下一行

    PATH=$PATH:$HOME/bin:/usr/local/mysql/bin

    三、mysqlrpm包安装

    RPM方式安装MySQL5.6

    a. 检查MySQL及相关RPM包,是否安装,如果有安装,则移除(rpm –e 名称)

    # rpm -qa | grep -i mysql mysql-libs-5.1.66-2.el6_3.x86_64 # yum -y remove mysql-libs*

    b. 下载Linux对应的RPM包,如:CentOS6.4_64对应的RPM包,如下:

    # ll

    total 74364

    -rw-r--r--. 1 root root 18442536 Dec 11 20:19 MySQL-client-5.6.15-1.el6.x86_64.rpm

    -rw-r--r--. 1 root root  3340660 Dec 11 20:06 MySQL-devel-5.6.15-1.el6.x86_64.rpm

    -rw-r--r--. 1 root root 54360600 Dec 11 20:03 MySQL-server-5.6.15-1.el6.x86_64.rpm

    c. 安装MySQL

    # rpm -ivh MySQL-server-5.6.15-1.el6.x86_64.rpm

    # rpm -ivh MySQL-devel-5.6.15-1.el6.x86_64.rpm

    # rpm -ivh MySQL-client-5.6.15-1.el6.x86_64.rpm

    修改配置文件位置

    # cp /usr/share/mysql/my-default.cnf /etc/my.cnf

    d. 初始化MySQL及设置密码

    # /usr/bin/mysql_install_db

    # service mysql start

    # cat /root/.mysql_secret  #查看root账号密码

    # The random password set for the root user at Wed Dec 11 23:32:50 2013 (local time): qKTaFZnl

    # mysql -uroot –pqKTaFZnl

    mysql> SET PASSWORD = PASSWORD('123456');    #设置密码为123456

    mysql> exit

    # mysql -uroot -p123456

    e. 允许远程登陆

    mysql> use mysql;

    mysql> select host,user,password from user;

    +-----------------------+------+-------------------------------------------+

    | host                  | user | password                                  |

    +-----------------------+------+-------------------------------------------+

    | localhost             | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

    | localhost.localdomain | root | *1237E2CE819C427B0D8174456DD83C47480D37E8 |

    | 127.0.0.1             | root | *1237E2CE819C427B0D8174456DD83C47480D37E8 |

    | ::1                   | root | *1237E2CE819C427B0D8174456DD83C47480D37E8 |

    +-----------------------+------+-------------------------------------------+

    mysql> update user set password=password('123456') where user='root';

    mysql> update user set host='%' where user='root' and host='localhost';

    mysql> flush privileges;

    mysql> exit

    f. 设置开机自启动

    # chkconfig mysql on # chkconfig --list | grep mysql mysql           0:off   1:off   2:on    3:on    4:on    5:on    6:off

    g. MySQL的默认安装位置

    /var/lib/mysql/               #数据库目录

    /usr/share/mysql              #配置文件目录

    /usr/bin                     #相关命令目录

    /etc/init.d/mysql              #启动脚本

    修改字符集和数据存储路径

    配置/etc/my.cnf文件,修改数据存放路径、mysql.sock路径以及默认编码utf-8.

    [client]

    password        = 123456

    port            = 3306

    default-character-set=utf8

    [mysqld]

    port            = 3306

    character_set_server=utf8

    character_set_client=utf8

    collation-server=utf8_general_ci

    #(注意linuxmysql安装完后是默认:表名区分大小写,列名不区分大小写; 0:区分大小写,1:不区分大小写)

    lower_case_table_names=1

    #(设置最大连接数,默认为 151MySQL服务器允许的最大连接数16384; )

    max_connections=1000

    [mysql]

    default-character-set = utf8

    查看字符集

    mysql> show variables like '%collation%';

    mysql> show variables like '%char%';

  • 相关阅读:
    Thinking in Java Reading Note(9.接口)
    Thinking in java Reading Note(8.多态)
    Thinking in Java Reading Note(7.复用类)
    SQL必知必会
    Thinking in Java Reading Note(5.初始化与清理)
    Thinking in Java Reading Note(2.一切都是对象)
    鸟哥的Linux私房菜笔记(1.基础)
    Thinking in Java Reading Note(1.对象导论)
    CoreJava2 Reading Note(2:I/O)
    CoreJava2 Reading Note(1:Stream)
  • 原文地址:https://www.cnblogs.com/uphold/p/11221166.html
Copyright © 2011-2022 走看看