1、检查系统是否已经安装
rpm -qa | grep mysql
其他命令:
rpm -e --nodeps 删除指定的安装包
rpm -ivh 安装rpm包
注意!在CentOS7中,默认的数据库已变为Mariadb,执行 yum install mysql 命令只是更新Mariadb数据库,并不会安装 MySQL 。
2、卸载Mariadb 数据库
rpm -qa|grep -i mariadb 查看
rpm -qa|grep mariadb|xargs rpm -e --nodeps 卸载
3、去官网找到Yum资源
https://dev.mysql.com/downloads/repo/yum/
4、下载MySQL安装包
wget 链接.rpm
或下载后使用FTP传输Linux
5、Yum安装MySQL源
yum -y install 包名
或
yum -y localinstall 包名
6、安装Mysql服务器
yum install mysql-community-server
7、启动MySQL服务并设置开机启动
systemctl start mysqld 启动MySQL服务
systemctl enable mysqld 设置开机启动
systemctl daemon-reload
8、查看root本地登录默认密码
grep 'temporary password' /var/log/mysqld.log
或
vim /var/log/mysqld.log
9、使用默认密码连接MySQL
mysql -u root -p
10、修改密码(默认密码策略要求密码必须是大小写字母数字特殊字母的组合,至少8位)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'TOkro@1108';
或
set password for 'root'@'localhost'=password('TOkro@1108');
附注:修改策略的查询语句
SHOW VARIABLES LIKE 'validate_password%';
11、开启MySQL远程服务
因为原本对MySQL表结构不熟悉,走了很多弯路,上网查的很多资料都显示语句不对,最终终于找到MySQL8的解决办法
use mysql; 打开原始mysql数据库
select host, user, authentication_string, plugin from user; 查询当前的用户,可以看到目前账号权限是本地,不允许远程
此时,为了安全我们需要新建一个用户来作为连接的桥梁
set global validate_password.policy=0;
set global validate_password.length=1; 这两部是更改密码策略,可以使用简单密码
CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';
因为MySQL8默认加密方式为caching_sha2_password,但是目前可视化软件只支持mysql_native_password,我们需要修改新建的账号的加密方式才能连接
ALTER USER '用户名'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
修改后再用select host, user, authentication_string, plugin from user;语句查询
设置该用户可以远程登陆并刷新权限
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%';
flush privileges;
最后记得打开3306的端口并打开防火墙
附注:
旧版的MySQL设置远程登陆方式:
GRANT ALL PRIVILEGES ON . TO ‘用户名’@’%’ IDENTIFIED BY ‘密码’ WITH GRANT OPTION;
yum list all mysql* 可以查询已经安装,没有安装可以安装的安装包列表