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%';

  • 相关阅读:
    数据库索引学习
    JavaScript提高:002:ASP.NET使用easy UI实现tab效果
    jQuery效果之显示与隐藏
    leetcode
    走进Struts2(五)— 值栈和OGNL
    Html中的超链接
    再理解 as3.0接口
    easyui combobox 三级级联 input 两种实现
    三层登录实例VB.NET版具体解释---理论加实战篇
    如何用Delphi开发网游外挂
  • 原文地址:https://www.cnblogs.com/uphold/p/11221166.html
Copyright © 2011-2022 走看看