前言:
因为我在我的 Linux 上安装的是 CentOS 系统, 本次安装对于我们这些不太熟悉 Liunx 操作系统的小白使用的是镜像下载安装, 这样子我们只需要输入一些简单的命令即可, 当然你也可以下载压缩包自己完成一些初始化的配置与安装. 使用这种方式的话大家可以查看一些这篇博客进行安装, 该作者写的相对的详细:.
第一步: 查看系统中是否已存在 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. 创建用户用来远程连接: 参考该篇博客:
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 连接数据库:
来源: https://www.cnblogs.com/Can-daydayup/p/10877500.html