CentOS 7安装MySQL 8.0 详细教程

优质博文: IT-BLOG-CN
在这里插入图片描述

一、卸载旧版本

如果未安装过MySQL可以忽略该步骤。如果安装过MySQL,需要先卸载CentOS 7上的旧版MySQL。避免版本冲突和不必要的麻烦。
【1】关闭MySQL服务: 使用命令systemctl stop mysqld停止MySQL服务。
【2】查看安装的MySQL 使用命令rpm -qa | grep mysql查看已安装的MySQL相关包。
【3】卸载MySQL相关包: 使用命令rpm -e包名卸载已安装的MySQL相关包。

//普通删除模式
rpm -e xxx(mysql_libs)
//强力删除模式,如果上述命令删除时,提示有依赖其他文件,则可以用该命令对其进行强力删除
rpm -e --nodeps xxx(mysql_libs)

【4】检查是否有mariadb

[root@localhost ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64

【5】删除MySQL相关目录: 删除MySQL的相关目录,如/var/lib/mysql/etc/my.cnf等。
【6】检查卸载情况: 确保MySQL已完全卸载,没有残留文件。

二、安装

【1】添加包

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
rpm -ivh mysql80-community-release-el7-3.noarch.rpm

【2】更新yum命令

yum clean all && yum makecache

【3】安装

yum install -y  mysql-community-server

一路y即可
在这里插入图片描述

【4】配置文件

#修改配置文件
vim /etc/my.cnf

将里面的命令都删除掉,然后添加以下命令,保存并退出(如果有一定经验,可以在里面添加一些其他的配置)

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/mysqldb
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

【5】启动服务

#启动服务
systemctl start mysqld

#查看版本信息
mysql -V

#查看状态
systemctl status mysqld

##开机启动
systemctl enable mysqld
systemctl daemon-reload

如果第一次启动,当初始化执行会有报错

[root@localhost bin]# cd /usr/local/mysql/support-files
[root@localhost support-files]# ./mysql.server start
Starting MySQL.Logging to '/usr/local/mysql/mysqldb/localhost.localdomain.err'.
 ERROR! The server quit without updating PID file (/usr/local/mysql/mysqldb/localhost.localdomain.pid).

重新给mysql安装目录赋予一下权限后,再次执行。

[root@localhost support-files]# chmod -R 777 /usr/local/mysql
[root@localhost support-files]# ./mysql.server start
Starting MySQL. SUCCESS! 

【6】修改账号密码

#1、查看MySQL为Root账号生成的临时密码
grep "A temporary password" /var/log/mysqld.log

#2、进入MySQL shell
mysql -u root -p

#3、修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

【7】开启MySQL远程连接

#选择 mysql 数据库:
USE mysql;

#在 mysql 数据库的 user 表中查看当前 root 用户的相关信息:
SELECT host, user, authentication_string, plugin FROM user;

#设置root 用户远程访问:
update user set host = '%' where user ='root';

#刷新权限:
FLUSH PRIVILEGES;

#授权的所有权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

#更新 root 用户密码及加密规则(如果客户端不支持加密插件):
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'MyNewPass4!';

#刷新权限:
FLUSH PRIVILEGES;

【8】新建远程用户

#1、新建远程用户
CREATE USER 'devops'@'%' IDENTIFIED BY 'MyNewPass3!';

#2、赋予指定账户指定(数据库名称.表名)远程访问权限
GRANT ALL PRIVILEGES ON mydb_name.* TO 'devops'@'%';

#3、查看权限
SHOW GRANTS FOR 'devops'@'%';

#4、收回权限
REVOKE ALL PRIVILEGES ON *.* FROM 'devops'@'%';

#5、删除用户
DROP USER 'devops'@'%';

#6、刷新权限
FLUSH PRIVILEGES;

【9】找回密码:如果忘记了MySQL root密码,可以用以下方法重新设置:

#1.关闭MySQL
service mysql stop

#2.用以下命令启动MySQL,以不检查权限的方式启动;
service mysql start --skip-grant-tables

#3.然后用空密码方式使用root用户登录 MySQL;
mysql -u root

【10】启动失败

#权限问题
chown mysql:mysql -R /var/run/mysqld

/usr/sbin/mysqld --user=mysql &

三、其他

【1】设置允许远程登录

mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
 
Database changed
mysql> update user set user.Host='%'where user.User='root';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0
 
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
 
mysql> quit
Bye

【2】设置mysql自启动

[root@localhost support-files]# chmod +x /etc/init.d/mysqld
[root@localhost support-files]# systemctl enable mysqld
mysqld.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig mysqld on

【3】修改root用户登录密码

mysql> alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.01 sec)
  • 36
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 24
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿进阶

千言万语都不及一句“谢谢”

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值