zoukankan      html  css  js  c++  java
  • Linux安装mysql5.6.33

    1、下载mysql安装包:

        下载地址: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 --no-check-certificate
    
    tar -xvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

    2、卸载老版本MySQL

    查找并删除mysql有关的文件

    find / -name mysql
    rm -rf 上边查找到的路径,多个路径用空格隔开
    #或者下边一条命令即可
    find / -name mysql|xargs rm -rf

    3、在安装包存放目录下执行命令解压文件:

    tar -xvf mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz

    4、重命名解压后的文件

    mv mysql-5.6.31-linux-glibc2.5-x86_64/ mysql

    5、添加mysql用户组和mysql用户

    先检查是否有mysql用户组和mysql用户

    groups mysql

     

    若无,则添加;

    groupadd mysql
    useradd -r -g mysql mysql

    若有,则跳过;

    6、进入mysql目录更改权限

    cd mysql/
    chown -R mysql:mysql ./

    7、执行安装脚本

    ./scripts/mysql_install_db --user=mysql

    安装完之后修改当前目录拥有者为root用户,修改data目录拥有者为mysql

    chown -R root:root ./
    chown -R mysql:mysql data

    Paste_Image.png

    8、更改mysql密码

    上一步安装脚本执行输出的日志中告诉我们如何更改密码了

    但是如果直接执行这两条命令就会报错

    因为这时还没有启动mysql,这算是一个坑。启动方法如下:

    ./support-files/mysql.server start

    如果MySQL启动报错,则可能是已经存在MySQL进程,杀掉即可

    ps aux|grep mysql
    kill -9 上边的进程号
    #或者下边一条命令即可杀掉所有MySQL进程
    ps aux|grep mysql|awk '{print $2}'|xargs kill -9

    杀掉后再启动即可。
    或者是有其他的mysql文件干扰了mysql的启动,所以在安装之前要删除其他的mysql目录,如果一直启动不了,那就删除掉所有的mysql目录,重新安装

    MySQL启动之后再执行如下命令更改密码:

    ./bin/mysqladmin -u root -h localhost.localdomain password '123456'

    密码更改后即可登录MySQL

    ./bin/mysql -h127.0.0.1 -uroot -p123456

     
    9、修改配置
    但是如果./bin/mysql -uroot -p123456登陆,系统会报错:Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2) ";
    具体可以参考帖子:https://blog.csdn.net/hjf161105/article/details/78850658
    验证办法:
    ./bin/mysql -uroot -p -S /var/lib/mysql/mysqld.sock

    如果执行上述命令可以连接mysql,则使用下面解决办法
    解决办法:
    ln -s /var/lib/mysql/mysqld.sock /tmp/mysql.sock

    ls /tmp/

    同时,将etc/my.cnf文件的bind-address = 127.0.0.1  更改为 bind-address = 0.0.0.0,如果配置文件中没有这个配置,则手动添加上
     

    这一步可有可无:

    登录之后将其他用户的密码也可改为root

    update mysql.user set password=password('root') where user='root';
    flush privileges;

     
    10、关闭防火墙
    service iptables stop
    11、增加远程登录权限

    上一步即可本地登录,但远程登录会报错


    为解决这一问题,需要本地登陆MySQL后执行如下命令
    grant all privileges on *.* to root@'%' identified by '123456';
    flush privileges;

    执行之后即可远程登录

    转发自链接: https://blog.csdn.net/wwd0501/article/details/71171614

  • 相关阅读:
    Linux 开机启动 php socket
    Linux 判断进程是否运行
    应用容器公共免费部署平台
    dos2unix 批量转化文件
    django中多个app放入同一文件夹apps
    django无法同步mysql数据库 Error:1064
    cos migration工具webhook推送
    腾讯云 COS 对象存储使用
    docker nginx 运行后无法访问
    makefile中 = := += 的区别
  • 原文地址:https://www.cnblogs.com/barrywu/p/12059700.html
Copyright © 2011-2022 走看看