zoukankan      html  css  js  c++  java
  • mysql在linux下的安装

    1、下载

        下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads

        下载版本:我这里选择的5.6.33,通用版,linux下64位

        也可以直接复制64位的下载地址,通过命令下载:wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

    下载地址: https://pan.baidu.com/s/1i4VW6NF 密码: n2k6

    指令 ps -ef|grep mysql 

    1. root     17659     1  0  2011 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid   
    2. mysql    17719 17659  0  2011 ?        03:14:57 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --socket=/var/lib/mysql/mysql.sock  

    usr/bin/mysql 是指:mysql的运行路径 
    var/lib/mysql 是指:mysql数据库文件的存放路径 
    usr/lib/mysql 是指:mysql的安装路径

    本地上传文件到服务器:scp atlassian-jira-software-7.13.0-x64.bin  root@192.168.198.141:/user

    2、解压

    1
    2
    3
    4
    #解压
    tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
    #复制解压后的mysql目录
    mv mysql-5.6.28-linux-glibc2.5-x86_64     /usr/local/

    3、添加用户组和用户

    1
    2
    3
    4
    #添加用户组
    groupadd mysql
    #添加用户mysql 到用户组mysql
    useradd -g mysql mysql

    4、安装

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    进入安装mysql目录: cd /usr/local
    mv mysql-5.6.28-linux-glibc2.5-x86_64    mysql
    cd /usr/local/mysql
    修改当前目录拥有者为mysql用户: chown -R mysql .
    chgrp -R mysql .
    执行命令:
    scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/mysqldata/ 
     

    [root@198-141 mysql]# scripts/mysql_install_db --user=mysql --ldata=/var/lib/mysql/

    (MySQL初始化脚本mysql_install_db,其中--user为mysqld服务的运行用户 --basedir和--datadir则分别代表mysql的安装目录和数据存放目录 )

    [root@db19320 mysql]# cp support-files/mysql.server /etc/init.d/mysql.server
    [root@db19320 mysql]# mv /etc/init.d/mysql.server /etc/init.d/mysql
    [root@db19320 mysql]# chkconfig --add mysql && chkconfig mysql on

    chmod 755 /etc/init.d/mysqld

     

    #修改启动脚本
    vi /etc/init.d/mysqld
     
    #修改项:
    basedir=/usr/local/mysql/
    datadir=/usr/local/mysql/data/mysql
     
    #启动服务
    service mysqld start
     
    #测试连接
    ./mysql/bin/mysql -uroot
     
    #加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了
    export PATH=$PATH:/usr/local/mysql//bin<br>source /etc/profile
     配置环境变量 vi   /etc/profile

     export PATH=....:/usr/local/mysql/bin 

    #启动mysql
    service mysql start
    #关闭mysql
    service mysql stop
    #查看运行状态
    service mysql status
     
     
     

    5、常见错误

     (1)近日在启动mysql时,遇到一个问题,现记录一下

    Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/198-141.pid).

    此问题的原因是没有进行初始化库,使用如下命令:

       mysql_install_db --user=mysql --ldata=/var/lib/mysql/

    (2)数据库连接时报错error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'

    Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!

    查看/tmp文件夹的确没有mysql.sock文件,我们需要修改my.cnf文件

     [root@localhost /]# vi /etc/my.cnf

     socket  = /tmp/mysql.sock,

    保存后,执行连接测试

    ./mysql/bin/mysql -uroot

    (3) sqlyog连接时,报1130错误,是由于没有给远程连接的用户权限问题

        解决1:更改 ‘mysql’数据库‘user’表‘host’项,从‘localhost’改成‘%’。

    use mysql;
    select 'host' from user where user='root'; 
    update user set host = '%' where user ='root';
    flush privileges; 

        解决2:直接授权

          GRANT ALL PRIVILEGES ON *.* TO ‘root’@'%’ IDENTIFIED BY ‘youpassword’ WITH GRANT OPTION;

    (4) 安装时的一些错误

        -bash: ./scripts/mysql_install_db: /usr/bin/perl: bad interpreter: 没有那个文件或目录
        解决: yum -y install perl perl-devel

        Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
        解决:yum -y install libaio-devel

    (5)ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)解决方法?

    #1.停止mysql数据库

    /etc/init.d/mysql  stop
     
    #2.执行如下命令
    mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
     
    #3.使用root登录mysql数据库
    mysql -u root mysql
     
    ./mysql/bin/mysql -uroot

     

    #4.更新root密码
    mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
    #最新版MySQL请采用如下SQL:
    mysql> UPDATE user SET authentication_string=PASSWORD('123456') where USER='root';
     
    #5.刷新权限 
    mysql> FLUSH PRIVILEGES;
     
    #6.退出mysql
    mysql> quit
     
    #7.重启mysql
    /etc/init.d/mysql restart
     
    #8.使用root用户重新登录mysql
    mysql -uroot -p 
    Enter password: 123456

    (6)出现-bash: mysql: command not found的方法

    原因:因为系统默认会查找/usr/bin下的命令,由于mysql没有在这个目录下,所以出现not found。因此需要做一个软连接到/usr/bin目录下。
    执行命令: ln -s  /usr/local/mysql/bin/mysql  /usr/bin

    其中/usr/local/mysql 为:mysql的安装路径

  • 相关阅读:
    穷人思维与富人思维
    纯真IP库读取文件
    memcached 分布式 一致性hash算法demo
    纯CSS画的基本图形(矩形、圆形、三角形、多边形、爱心、八卦等)
    IPhone在横屏字体变大解决办法-webkit-text-size-adjust
    js设计模式---阅读笔记002--接口
    js设计模式---阅读笔记001--富有表现力的js
    关于js继承
    js正则表达式中test,exec,match方法的区别说明
    js获取自定义的属性值
  • 原文地址:https://www.cnblogs.com/kaola8023/p/6971964.html
Copyright © 2011-2022 走看看