• 阿里云linux6.9 64位安装mysql5.7.23记录


    1.检测是否已经安装了mysql

      rpm -qa | grep mysql

      如果安装了就将其卸载,命令:rpm -e --nodeps  软件名

      比如:rpm -e --nodeps  mysql-libs-5.1.71-1.el6.x86_64

    2.下载mysql 下载地址:https://dev.mysql.com/downloads/mysql/

    https://dev.mysql.com/downloads/mysql/5.7.html#downloads

    3.准备工作

      mkdir /usr/local/mysql

      mv mysql-5.7.23-1.el6.x86_64.rpm-bundle.tar /usr/local/mysql

      cd /usr/local/mysql/

    4解压:tar -xvf mysql-5.7.23-1.el6.x86_64.rpm-bundle.tar

    5.开始安装

      rpm -ivh mysql-community-server-5.7.23-1.el6.x86_64.rpm

      一般会报缺少依赖,需要我们安装,把下面这些却的都安装上,命令:yum -y install  依赖包    比如:yum -y install libaio.so.1

     

    如果过程出现如下所示,表示需要升级依赖 ,命令:yum  update 名称 ,比如:yum  update libstdc++-4.4.7-4.el6.x86_64

    如果还出现别的情况,请百度

    6.正式开始安装了 

      运行命令 rpm -ivh mysql-community-server-5.7.23-1.el6.x86_64.rpm,如下图说明需要先安装这几部分才能安装mysql-community-server-5.7.23-1.el6.x86_64.rpm,跟着提示安装即可

    运行命令如下:

      rpm -ivh mysql-community-common-5.7.23-1.el6.x86_64.rpm

      rpm -ivh mysql-community-libs-5.7.23-1.el6.x86_64.rpm

      rpm -ivh mysql-community-client-5.7.23-1.el6.x86_64.rpm

      rpm -ivh mysql-community-server-5.7.23-1.el6.x86_64.rpm

     7.安装后查询MySQL服务状态  命令:service mysqld status,如下图:

     输入命令:service mysqld start 启动mysql,如下图,另外常用的还有,service mysqld restart用来重启mysql,service mysqld stop用来停止mysql

    8.查看MySQL第一次按时生成的随机密码:

      查看日志:cat /var/log/mysqld.log,找到密码

    9.登录:

    用该零时密码登陆必须要马上修改的,不然会报错,如下:

    修改密码:SET PASSWORD = PASSWORD('123456');  密码不符合规则也报错,但是我就想使用123456,怎么办?

    修改密码校验规则,输入下面两行命令

      set global validate_password_policy=0;

      set global validate_password_length=1;

    然后修改密码:SET PASSWORD = PASSWORD('123456');

    10.设置系统启动时自动启动mysql

      加入到系统服务:chkconfig --add mysqld

      自动启动:chkconfig mysqld on

      查询列表:chkconfig

    说明:都没关闭(off时是没有自动启动。

    11.然后本机用SQLyog来连接阿里云的我们安装的MySQL,navicat也一样的

    会发现连接失败

    12. 打开阿里云控制台做如下设置,然后连接,不行就重启下

     

     大功告成了!

     问题:mysql只能本地登陆,无法远程登陆

     解决:

    在本地登陆MySQL服务后 

    show databases;    查看数据库并进入mysql数据库  use mysql;

    然后查看用户表    select Host, User  from user;

    输出如下,这几个用户都只能本地登陆

    mysql> select Host, User from user;
    +-----------+---------------+
    | Host | User |
    +-----------+---------------+
    | localhost | mysql.session |
    | localhost | mysql.sys |
    | localhost | root |
    +-----------+---------------+
    3 rows in set (0.00 sec)

    然后修改表数据

    update user set Host='%' where User='root';

    然后刷新

    flush privileges;

    完工就可以使用root用户远程登陆了

    如果上面的还是无法远程登陆,可以试试如下的操作,当我觉得阿里云控制台做的就时设置防火墙的问题,这里记录下,以防万一:

    1.登录mysql:

      mysql -uroot –p123456

    2.设置远程访问(使用root密码):

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

      flush privileges;

    3.防火墙打开3306端口

      /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

      /etc/rc.d/init.d/iptables save

      /etc/init.d/iptables status

    navicate 执行语句时可能会报如下错误

    1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

    修改 my.cnf 文件的 sql_mode

    获取 sql_mode字段内容: SELECT @@sql_mode;
    去掉 sql_mode字段中的 only_full_group_by
    获得最终要添加的字段
    sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    在 my.cnf中添加该字段

    查找 my.cnf 文件: find / -name my.cnf 或者 whereis my.cnf
    编辑 my.cnf: vim /etc/my.cnf 将上一步骤的 sql_mode 字段内容添加至 my.cnf
    保存,重启: service mysqld restart

  • 相关阅读:
    GIT的使用及心得
    XCODE的演变及使用经验分享
    软件工程学习计划
    这只是一个测试,注意,这只是一个测试
    软工实践---个人
    调研Android开发环境的发展演变
    软件工程的实践项目的自我目标
    调研ANDRIOD平台的开发环境的发展演变
    软件工程的实践项目的自我目标
    Leetcode题库——39.组合总和
  • 原文地址:https://www.cnblogs.com/ENU7/p/9460732.html
Copyright © 2020-2023  润新知