zoukankan      html  css  js  c++  java
  • 【mysql】centos7下安装mysql8.0.16(rpm方式)

    一、下载

    地址:https://downloads.mysql.com/archives/community/

    选择如下:

    二、安装

     将下载后的rpm包上传到虚拟机/服务器上,我这里是放在了/usr/local/mysql/下,如果没有mysql文件夹新建一个即可。

    1. 解压.tar文件

    tar -xf mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar

    2. 开始安装如下四个rpm包,执行命令如下,注意要按照顺序执行:

    (1)rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm

    (2)rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm

    (3)rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm

    (4)rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm

    注意:这里我在执行到第二个命令的时候,报错了,报错信息如下:

    网上搜索处理办法如下,没有报错此步骤可以省略。

    执行命令:yum remove mysql-libs 作用是清除之前安装过的依赖。

    执行结束后,继续执行上面命令没有遇到任何问题。

    三、启动与修改密码

    1. 启动mysql

    执行启动命令:systemctl start mysqld

    启动成功后,查看启动状态:systemctl status mysqld

    2. 查看临时密码

    执行命令:cat /var/log/mysqld.log | grep "temporary password"

    红框内的即为临时密码

    当然也可以使用跳过登陆密码的方式访问mysql,具体方法参考下面

    3. 使用临时密码登陆

    命令如下:mysql -uroot -p 之后回车,输入临时密码再回车,即可登陆。

    4. 跳过密码登陆方式:

    (1)首先编辑my.cnf文件:命令如下:vi /etc/my.cnf

    (2)在my.cnf文件中添加skip-grant-tables,保存退出。

    (3)由于修改了配置文件,所以需要重新启动mysql 执行命令:systemctl restart mysqld

    (4)之后重新使用登陆命令 mysql -uroot -p 进行登陆,在输入密码的地方什么都不填写,直接回车即可登陆。

    5. 设置登陆密码:

    执行命令:alter user user() identified by "Aa123456.";  即将密码设置成  Aa123456. 

    这里要注意密码一定要复杂一点,不然会报错

    四、使用navicat连接mysql

    1. 之后,我们来使用navicat来连接mysql,发现无法连接,报错如下:意思是主机不被允许连接,因为虚拟机上安装的mysql没有授权其他主机连接它,需要我们进行授权。

    2. 修改权限,让navicat可以连接上mysql

    (1)查看所有数据库:show databases;

    (2)使用名称为mysql的数据库:use mysql

    (3)展示mysql数据库中所有的表:show tables;

    (4)查看user表中的数据:select user,host from user;

    可以看到root用户,只能本地连接,需要我们对其进行修改。

    (5)修改成任何远程主机都可以访问数据库:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

    但是我这里报错了,没有报错的伙伴可以跳过:

    原因是:当前user表中没有root - %记录; 可以更新root - localhost 为 root - %

    修改命令:update user set host = '%' where user = 'root' and host='localhost';

    修改完成后需要刷新:FLUSH  PRIVILEGES;

    修改完成后重新访问,发现再一次报错,结果如下:

    这里搜到的原因是:

    mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 

    解决办法有两种:

    (1)把mysql用户登录密码加密规则还原成mysql_native_password. 

    (2)升级navicat驱动。

    这里采用第一种方式:

    命令如下:alter user 'root'@'%' identified with mysql_native_password by 'Aa123456.'; 之后刷新FLUSH  PRIVILEGES;

    刷新后,重新访问,发现已经可以访问了。成功!!

    参考:

    1. https://blog.csdn.net/ypp91zr/article/details/84801204

    2. https://blog.51cto.com/kangxi/2439808

    3. https://blog.csdn.net/qq_38366063/article/details/100736999

    4. https://www.cnblogs.com/nhdlb/p/13846034.html

    5. https://blog.csdn.net/mxskymx/article/details/88765072

    6. https://blog.csdn.net/seventopalsy/article/details/80195246

  • 相关阅读:
    函数
    python操作文件
    POJ-2689-Prime Distance(素数区间筛法)
    POJ-2891-Strange Way to Express Integers(线性同余方程组)
    POJ-2142-The Balance
    POJ-1061-青蛙的约会(扩展欧几里得)
    Educational Codeforces Round 75 (Rated for Div. 2) D. Salary Changing
    Educational Codeforces Round 75 (Rated for Div. 2) C. Minimize The Integer
    Educational Codeforces Round 75 (Rated for Div. 2) B. Binary Palindromes
    Educational Codeforces Round 75 (Rated for Div. 2) A. Broken Keyboard
  • 原文地址:https://www.cnblogs.com/flyinghome/p/14350031.html
Copyright © 2011-2022 走看看