Linux Centos上安装 MySQL 8.0
前言:
因为我在我的Linux上安装的是Centos系统,本次安装对于我们这些不太熟悉Liunx操作系统的小白使用的是镜像下载安装,这样子我们只需要输入一些简单的命令即可,当然你也可以下载压缩包自己完成一些初始化的配置与安装。使用这种方式的话大家可以查看一些这篇博客进行安装,该作者写的相对的详细:https://blog.csdn.net/github_39533414/article/details/80144890。
第一步:查看系统中是否已存在MySQL,若存在则选择删除
这里我就不相信讲解了,大家可以看我的上一篇博客,关于如何彻底删除Mysql数据库
地址:https://www.cnblogs.com/Can-daydayup/p/10873948.html
第二步:下载并安装MySQL数据库
官网下载地址:https://dev.mysql.com/downloads/repo/yum/
选择red hat版:
复制下载地址:
1.下载镜像 wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm 2.安装镜像 rpm -ivh mysql80-community-release-el7-3.noarch.rpm 3.安装所有更新软件 yum update 4.安装MySQL服务 yum install mysql-server
第三步:MySQL文件权限设置
chown mysql:mysql -R /var/lib/mysql
第四步:初始化MySQL
mysqld --initialize
第五步:启动MySQL服务并设置开机自动启动
#启动
systemctl start mysqld
#设置开机自动启动
systemctl enable mysqld
systemctl daemon-reload
注意我在启动MySQL服务的时候提示:
Job for mysqld.service failed because the control process exited with error code. See “systemctl status mysqld.service” and “journalctl -xe” for details.
我认为可能和我之间系统安装过MySQL有关系,解决方法:
chown mysql:mysql -R /var/lib/mysql 在启动: service mysqld start
查看运行状态:
systemctl status mysqld
完美运行:
第六步:查看当前MsSQL安装版本
mysqladmin --version
第七步:设置数据库密码
原因:在安装完成MySQL后不会默认设置密码,需要我们自己设置
mysqladmin -u root password "你的密码"
我真是一个被老天眷顾的孩子,设置密码是遇到了一个这样的问题:
ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)
一般这个错误是由密码错误引起,解决的办法自然就是重置密码
解决方案如下:
1.停止mysql数据库:systemctl stop mysqld
2.用以下命令启动MySQL,以不检查权限的方式启动:
mysqld –skip-grant-tables &
如果报错这可以使用:
mysqld –user=root –skip-grant-tables &
3.登录mysql:mysql -u root -p或mysql
4.更新root密码:
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘123456’;
修改密码的时候提示:
ERROR 1290 (HY000): The MySQL server is running with the –skip-grant-tables option so it cannot execute this statement
解决方法:
刷新权限:flush privileges;
5.刷新权限:flush privileges;
6.退出mysql:exit或quit
7.使用root用户重新登录mysql
mysql -uroot -p
Enter password:<输入新设的密码123456>
第八步:开启MySQL远程
1.登陆数据库
mysql -u root -p
然后输入密码按回车进入MySQL数据库中
2.创建用户用来远程连接:参考该篇博客:
https://jingyan.baidu.com/article/363872ec3263236e4ba16f07.html
3.查询数据库的用户
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
4. 更新用户表:(其中%的意思是允许所有的ip远程访问,如果需要指定具体的某个ip就写上具体的ip即可)
UPDATE user SET `Host` = '%' WHERE `User` = 'root' LIMIT 1;
5. 强制刷新权限:
flush privileges;
6.使用Navicat连接数据库: