一、删除MariaDB的文件
通过命令查询MariaDB:rpm -pa | grep mariadb
通过命令删除查找到的程序rpm -e 查找到的文件名
如果删除失败,就通过下面的命令强制删除:
rpm -e --nodeps 查找到的文件名
二、安装MySQL
1、安装mysql repo源
centos的yum 源中默认是没有mysql的,因此需要自己去下载。
文件下载到Centos/usr/local/mysql文件夹下,命令如下:
[root@localhost ~]# cd /usr/local
[root@localhost local]# cd mysql
[root@localhost mysql]# wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
如果没有mysql文件夹,可以通过mkdir mysql命令创建
2、安装 yum repo文件并更新 yum 缓存
通过下面的命令安装 yum repo
[root@localhost mysql]# rpm -ivh mysql57-community-release-el7-11.noarch.rpm
通过以下命令更新yum
[root@localhost mysql]# yum clean all
[root@localhost mysql]# yum makecache
经过上述步骤以后yum已经更新成功
3、通过yum安装MySQL
我们在使用yum安装mysql时,yum默认会从yum仓库中安装mysql最新的版本
可以使用如下命令查看mysql yum仓库中mysql版本:
[root@localhost mysql]# yum repolist all | grep mysql
可以看到MySQL 8.0为启用状态;
使用 yum-config-manager 命令修改需要安装的版本状态
#根据自己的需求选择版本
[root@localhost mysql]# yum-config-manager --disable mysql80-community #禁用8.0版本
[root@localhost mysql]# yum-config-manager --enable mysql57-community #启用5.7版本
4、安装MySQL
通过如下命令安装mysql
[root@localhost mysql]# yum install mysql-community-server
5、配置环境变量
具体的配置可以参考,前面jdk环境变量的配置
[root@localhost ~]# vim /etc/profile
#然后输入下面的命令
export PATH=$PATH:/usr/local/mysql-8.0.28-linux-glibc2.12-x86_64/bin
6、开启MySQL服务
通过如下命令开启:
[root@localhost mysql]# systemctl start mysqld.service
7、登录MySQL
第一种方式:
MySQL安装后会创建一个root@localhost账户,初始的密码放到了/var/log/mysqld.log文件中(我的这个文件是个空的,所以我是通过下面跳过密码的方式登录后修改密码的)
我们可以通过命令查看文件
[root@localhost mysql]# cat /var/log/mysqld.log | grep password
通过命令登录
[root@localhost mysql]# mysql -u root -p
回车后输入密码在按回车,看到Welcome就是登录成功了
通过第一种方式登录成功之后,可以通过下面的命令直接修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';
第二种方式:
如果没找到密码或者忘记密码登陆会报错(ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)]),则通过命令进入配置文件。
[root@localhost mysql]# vim /etc/my.cnf
在配置文件中的[mysqld]下面的任意一行加入如下命令
skip-grant-tables #跳过密码验证
然后重启MySQL服务
#重启MySQL服务
[root@localhost mysql]# systemctl restart mysqld.service
通过命令登录
[root@localhost mysql]# mysql -u root -p
回车后不用输入密码直接按回车,看到Welcome就是登录成功了
通过第二种方式登录的,如果直接用上面的修改密码命令可能会报错:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
因此通过第二种方式登录成功以后需要先通过flush privileges命令刷新一下权限:
flush privileges;
回车后提示:Query OK, 0 rows affected (0.01 sec)
然后再输入ALTER USER 'root'@'localhost' IDENTIFIED BY '密码'修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';
回车后提示:Query OK, 0 rows affected (0.00 sec)
密码修改成功之后记得将配置文件中的那句跳过验证的命令删除或注释掉。
三、开启MySQL远程服务
1、修改mysql数据库下的user表中host的值
帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"登录mysql数据库 执行如下命令:
update user set host='%' where user='root';
#输入命令查看
select user,host from user;
赋予任何主机访问数据的权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
FLUSH PRIVILEGES
通过命令查看mysql 数据库中user表的 plugin字段;
select host,user,plugin from user;
如果plugin这一项是caching_sha2_password的话执行命令
update user set plugin='mysql_native_password' where user='root';
然后通过Navicat连接 就可以连接成功。
或者跟着这个连接的安装更加简单,亲测有效https://blog.csdn.net/weixin_65870997/article/details/124191390?spm=1001.2014.3001.5502