云服务器搭建MySQL8.0并允许远程链接
1.检查是否有MySQL
1.1首先我们先检查服务器是否有MySQL
rpm -qa | grep mysql
1.2.如果有MySQL则进行删除
rpm -e mysql // 普通删除模式
rpm -e --nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
2.利用yum安装MySQL
2.1.官网地址
https://dev.mysql.com/downloads/repo/yum/
2.2.安装
wget http://repo.mysql.com/mysql80-community-release-el8-1.noarch.rpm //需要其他版本需替换rpm地址
rpm -ivh mysql80-community-release-el8-1.noarch.rpm
yum update //如出现y/N 回y
yum install mysql-server //如出现y/N 回y
2.3.权限设置
chown -R mysql:mysql /var/lib/mysql
2.4.初始化MySQL
mysqld --initialize
2.5.启动MySQL
systemctl start mysqld //如遇到异常,请再次执行权限设置命令
3.重置密码
3.1.按命令进入如下文件
vi /etc/my.cnf
3.2.添加并保存
[mysqld]
skip-grant-tables
3.3.重启mysql服务
systemctl restart mysqld
3.4.将密码重置为空
mysql -u root -p //提示输入密码时直接敲回车。
//选择数据库
use mysql
//将密码置空, 需带上分号
update user set authentication_string = '' where user = 'root';
//退出
quit
3.5.去除免密码登录
vi /etc/my.cnf
//在下方加# 表示注释
[mysqld]
# skip-grant-tables
//重启服务
systemctl restart mysqld
3.6.修改密码
//提示输入密码时直接敲回车,刚刚已经将密码置空了
mysql -u root -p
//切换数据库
use mysql
//密码形式过于简单则会报错
ALTER USER 'root'@'localhost' IDENTIFIED BY 'abc123@xxx';
4.MySQL允许远程链接
4.1.登录mysql
mysql -u root -p //然后输入密码
4.2.查看mysql库中的user表的host字段
use mysql
//需带分号
select user,host from user;
host字段中,localhost表示只允许本机访问,要实现远程连接,可以将root用户的host改为%,%表示允许任意host访问,如果需要设置只允许特定ip访问,则应改为对应的ip。
4.3.修改用户权限
//修改root用户的host字段
update user set host="%" where user="root";
//使本次修改立即生效
flush privileges;