一.MySQL的卸载
1.使用root用户或者具有sudo权限的用户登录到系统
2.停止MySQL服务
sudo systemctl stop mysqld
3.确认MySQL服务已停止
sudo systemctl status mysqld
如图:
看到第三行中Active为inactive即可
4.卸载MySQL软件包
sudo yum remove mysql-server
5.删除MySQL数据目录
sudo rm -rf /var/lib/mysql
6.删除MySQL配置文件
sudo rm -rf /etc/my.cnf
二、MySQL8.0的安装
-
配置yum仓库
# 更新密钥 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 # 安装Mysql8.x版本 yum库 rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
在更新密钥出现如下错误
#搜索没有卸载的MySQL包
rpm -qa |grep mysql
#卸载
rpm -e --nodeps 搜索出来的包名
如图:
卸载完之后再更新密钥
-
使用yum安装MySQL
# yum安装Mysql yum -y install mysql-community-server
错误1:
若出现如上错误可以再重复一遍步骤一,如果还不行建议去查看其他文章解决
错误2:
若出现如上错误可以试试下面的安装代码:
yum install mysql-server --nogpgcheck
错误3:
-
安装完成后,启动MySQL并配置开机自启动
systemctl start mysqld # 启动 systemctl enable mysqld # 开机自启
MySQL安装完成后,会自动配置为名称叫做:
mysqld
的服务,可以被systemctl所管理 -
检查MySQL的运行状态
systemctl status mysqld
配置
主要修改root密码和允许root远程登录
-
获取MySQL的初始密码
# 通过grep命令,在/var/log/mysqld.log文件中,过滤temporary password关键字,得到初始密码 grep 'temporary password' /var/log/mysqld.log
root@localhost: 后面的就是密码
-
登录MySQL数据库系统
# 执行 mysql -uroot -p # 解释 # -u,登陆的用户,MySQL数据库的管理员用户同Linux一样,是root # -p,表示使用密码登陆 # 执行完毕后输入刚刚得到的初始密码,即可进入MySQL数据库
注意:密码的输入时是没有输入了的提示的,即不管你输入是什么Enter password:后面都是空白
-
修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码'; -- 密码需要符合:大于8位,有大写字母,有特殊符号,不能是连续的简单语句如123,abc
-
配置root的简单密码
我们可以给root设置简单密码,如123456.
请注意,此配置仅仅是用于测试环境或学习环境的MySQL,如果是正式使用,请勿设置简单密码
set global validate_password.policy=0; # 密码安全级别低 set global validate_password.length=4; # 密码长度最低4位即可
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码'; -- 重新设置密码
-
允许root远程登录,并设置远程登录密码
默认情况下,root用户是不运行远程登录的,只允许在MySQL所在的Linux服务器登陆MySQL系统
请注意,允许root远程登录会带来安全风险
# 第一次设置root远程登录,并配置远程密码使用如下SQL命令 create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码!'; -- 密码需要符合:大于8位,有大写字母,有特殊符号,不能是连续的简单语句如123,abc # 后续修改密码使用如下SQL命令 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
-
退出MySQL控制台页面
# 退出命令 exit # 或者通过快捷键退出:ctrl + d
-
检查端口
MySQL默认绑定了3306端口,可以通过端口占用检查MySQL的网络状态
netstat -anp | grep 3306
远程连接mysql
1.创建用户
默认的root用户只能当前节点localhost访问,是无法远程访问的,我们还需要创建一个root账户,用户远程访问
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '1234';
错误:
出现如上错误,可能是因为你已经存在‘root’@‘%’这个用户了
可以删除该用户重新创建,也可以用原来的用户
查询用户
use mysql;
select * from user;
删除用户
drop user '用户名'@'主机名';
修改用户密码
alter user '用户名'@'主机名' identified with mysql_native_password by '新密码';
2.给root用户分配权限
grant all on *.* to 'root'@'%';