zoukankan      html  css  js  c++  java
  • 分享知识-快乐自己:Liunx 安装MySQL

    第一步:

    1):下载mysql安装包:这里选择下载版本 5.6.33,通用版,linux下64位

    http://dev.mysql.com/get/Downloads/MySQL-5.6/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):上传下载好的 MySQL tar包 到指定目录下并解压到指定目录下。上传途径(xftp 或 rz 命令) 

    tar -zxvf mysql-5.6.31-linux-glibc2.5-x86_64.tar.gz -C ../mysqlInstall

    重命名解压后的文件

    mv mysql-5.6.33-linux-glibc2.5-x86_64 mysql

    第四步:

    4):先检查是否有mysql用户组和mysql用户

    groups mysql

    若无,则添加;

    groupadd mysql
    useradd -r -g mysql mysql

    若有,则跳过;

    第五步:

    5):进入 MySQL解压后的目录 更改权限

    cd mysql/
    chown -R mysql:mysql ./

    第六步:

    6):执行安装脚本

    ./scripts/mysql_install_db --user=mysql

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

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

    第七步:

    7):更改 MySQL 密码

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

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

    因为这时还没有启动mysql,这算是一个坑。

    启动方法如下:

    ./support-files/mysql.server start

    注意:可能遇到的以下问题:

    解决方案:

    1):没有那个文件或目录

    安装MySQL的整个过程。由于我的MySQL不是安装在标准的/usr/local/mysql目录,而是安装在 /opt/mysqlInstall/mysql-5.6.33 目录,导致在启动MySQL服务时报告找不到/usr/local/mysql目录的错误。

    就是mysql.server启动文件,该文件所处路径  在解压包的support-files文件夹内,如果不修改的话启动会报错。

     

    2-1):如果报如下的错误:如果报如下的错误:

    原因是该路径下没有对应的文件;

    解决方法: 

    mkdir /var/log/mariadb 
    chmod 700 /var/log/mariadb

    启动 mysql。

    2):未找到命令:

    cp /usr/local/mysql/bin/my_print_defaults  /usr/bin

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

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

    ======

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

    ./bin/mysqladmin -u root -h admin-02 password 'root'

    admin-02:为本机名称

    密码更改后即可登录MySQL:

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

    注意:可能发生的错误

    解决方案:

    vim  /etc/hosts

    第八步:

    8):修改配置

    但是如果 ./bin/mysql -uroot -proot 登陆 系统会报错: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/mysql.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,如果配置文件中没有这个配置,则手动添加上

    第九步:

    9):关闭防火墙

    firewall-cmd --state    查看防火墙状态
    
    systemctl disable firewalld.service    设置防火墙开机不启动

    第十步:

    10):增加远程登录权限

    为解决这一问题,需要本地登陆MySQL后执行如下命令。

    grant all privileges on *.* to root@'%' identified by 'root';
    flush privileges;

    执行之后即可远程登录.

    来源于:https://www.cnblogs.com/jessica-test/p/9047431.html

    ERROR:https://blog.csdn.net/hjf161105/article/details/78850658    https://blog.csdn.net/whd526/article/details/78218801

  • 相关阅读:
    Git是如何存储对象的
    原来自己一直平凡着 2015-10-20
    把十进制数(long型)分别以二进制和十六进制形式输出,不能使用printf系列。
    #define XXX do{...}while(0)
    函数的递归调用例子学习
    MAC OSX 下安装 CTAGS
    MAC OSX 下安装Cscope
    python画图
    python读取文件内容方法
    python变量传递给系统命令的方法
  • 原文地址:https://www.cnblogs.com/mlq2017/p/10034145.html
Copyright © 2011-2022 走看看