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

    安装环境:系统是 centos6.5

    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

    2、解压

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

    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
    cd /usr/local/mysql/<br>mkdir ./data/mysql
    chown -R mysql:mysql ./
    ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql
    发生的问题:

    FATAL ERROR: please install the following Perl modules before executing

    安装autoconf库  命令:yum-y install autoconf

    cp support-files/mysql.server /etc/init.d/mysqld
    chmod 755 /etc/init.d/mysqld
    cp support-files/my-default.cnf /etc/my.cnf
     
    #修改启动脚本
    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
     
     
    #启动mysql
    service mysqld start
    #关闭mysql
    service mysqld stop
    #查看运行状态
    service mysqld status

    5、错误

      5.1 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;

      5.2 安装时的一些错误

        -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

    6、其他

      6.1 配置环境变量

        vi + /etc/profile

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

    7、遇到的问题汇总

    (1)

    Host is not allowed to connect to this MySQL server解决方法

    1.在装有MySQL的机器上登录MySQL mysql -u root -p密码
    2.执行use mysql;
    3.执行update user set host = '%' where user = 'root';这一句执行完可能会报错,不用管它。
    4.执行FLUSH PRIVILEGES;

    一、拥有原来的myql的root的密码;


    方法一:
    在mysql系统外,使用mysqladmin
    mysqladmin -u root -p password "test123"
    Enter password: 【输入原来的密码】

    方法二:
    通过登录mysql系统,
    mysql -uroot -p
    Enter password: 【输入原来的密码】
    mysql>use mysql;
    mysql> update user set password=passworD("test") where user='root';
    mysql> flush privileges;
    mysql> exit;      



    二、忘记原来的myql的root的密码;

    首先,你必须要有操作系统的root权限了。要是连系统的root权限都没有的话,先考虑root系统再走下面的步骤。
    类似于安全模式登录系统,有人建议说是pkill mysql,但是我不建议哈。因为当你执行了这个命令后,会导致这样的状况:
    /etc/init.d/mysqld status
    mysqld dead but subsys locked
    这样即使你是在安全模式下启动mysql都未必会有用的,所以一般是这样/etc/init.d/mysqld stop,如果你不幸先用了pkill,那么就start一下再stop咯。
    mysqld_safe --skip-grant-tables &
    &,表示在后台运行,不再后台运行的话,就再打开一个终端咯。
    mysql
    mysql> use mysql;
    mysql> UPDATE user SET password=password("test123") WHERE user='root';   
    mysql> flush privileges;
    mysql> exit;                         
    ##本来mysql是不分大小写的,但是这个是修改的mysql中的mysql数据库的具体的值,要注意到。

    二进制安装mysql初始化出现:Installing MySQL system tables.../usr/local/mysql/bin/mysqld: error while loading shared


    原因:缺少libaio库文件

    解决方法:yum install libaio* -y
    -----------------

    【开机自启】Linux下设置MySql自动启动

     

    1、将服务文件拷贝到init.d下,并重命名为mysql

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

    2、赋予可执行权限

    chmod +x /etc/init.d/mysqld

    3、添加服务

    chkconfig --add mysqld

    4、显示服务列表

    chkconfig --list

    如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入

    chkconfig --level 345 mysqld on

    5、重启电脑

    reboot

    6、验证

    netstat -na | grep 3306

    如果看到有监听说明服务启动了

  • 相关阅读:
    转:python时间日期处理小结
    vi 的一些常用操作-君子善假于物也
    没有了老师,该如何学习?
    git常用命令
    python 读配置文件
    Python中unittest用法实例
    python 单元测试unnitest-摘录自http://www.cnblogs.com/hackerain/p/3682019.html#undefined
    纯CSS实现立方体旋转
    CSS 3动画
    CSS 2D转换
  • 原文地址:https://www.cnblogs.com/AllIhave/p/10154100.html
Copyright © 2011-2022 走看看