centerOS 7 安装MySql

1.彻底删除已安装mysql

1)   yum remove  mysql mysql-server mysql-libs mysql-server;

删除云服务

2)   find / -name mysql

查找服务器上有什么跟mysql相关的,删除它

rm -rf /var/lib/mysql

    3) rpm -qa|grep mysql

(查询出来的东东yum remove掉)

4) rm /etc/my.cnf

 

2.重新安装mysql

1) 下载mysql源安装包(连接应该是对的,我自己是下载后上传的)

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

这里也可以下载后上传到服务器,因为我是centerOS7,所以选的是Linux 7那个,最开始选的8那个,一直报错找不到依赖库,血的教训

在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/

传输本地文件到远程 ~表示root目录,xx的是远程的ip地址

scp mysql80-community-release-el7-3.noarch.rpm root@xx.xx.xxx.xxx:~

2) 安装mysql源

yum localinstall mysql80-community-release-el7-3.noarch.rpm

3) 检查mysql源是否安装成功

yum repolist enabled | grep "mysql.*-community.*"

4) 安装MySQL

yum install mysql-community-server

 

设置远程连接在启动前修改/etc/my.cnf,将下面这句前的#去掉(没有这句话就加上)

default-authentication-plugin=mysql_native_password

设置这个是因为我这里用的navicat连接,而navicat的加密方式只支持以前的"mysql_native_password"

 

启动

systemctl start mysqld

查看启动状态

systemctl status mysqld

 

设置root账号和远程连接

1.修改root密码

1)查看系统随机生成的密码

grep 'temporary password' /var/log/mysqld.log

2)用随机密码登录

mysql -u root -p

3)用命令修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';#注意位数和种类至少大+写+小写+符号+数字

 

2.远程连接

1)选择 mysql 数据库(sql命令都是以 ';' 结束,不要写丢了)

use mysql;

2)在 mysql 数据库的 user 表中查看当前 root 用户的相关信息

select host, user, authentication_string, plugin from user;

可以看到root用户的host默认为localhost,只允许本地访问,不允许远程连接..

(root账户的plugin应该是mysql_native_password,设置my.cnf完成的,这里的图是别人的)

为了安全(网上都是这么说的),新创建一个用户用于远程连接

3)新建用户

#CREATE USER '用户名'@'主机' IDENTIFIED BY '密码'; 

# 这里的主机为localhost表示只能本机登录,%表示所有的机器都可以,也可以设置特定的ip才能登录

CREATE USER 'origin'@'%' IDENTIFIED BY 'Origin1111?';   #注意密码位数和种类至少大+写+小写+符号+数字

4)mysql8.0默认的加密方式是“caching_sha2_password”,而navicat只支持以前的"mysql_native_password"

前面没有设置my.cnf文件的,可以这样修改加密方式

ALTER USER 'origin'@'%' IDENTIFIED WITH mysql_native_password BY 'Origin1111?';

修改后可以执行select host,user,plugin from user;语句,查看新增用户的plugin是否是"mysql_native_password"

5)设置该账户可以远程登陆

GRANT ALL PRIVILEGES ON *.* TO 'origin'@'%';

6)刷新权限

flush privileges;

7)用navicat连接看是否可以远程登陆,默认端口为3306,如果不能,则查看防火墙是否开启了该端口。

查看防火墙开放端口:iptables-save

我这里已经开了.如果没开,则执行以下命令:

添加端口:firewall-cmd --zone=public --add-port=3306/tcp --permanent

重载防火墙:firewall-cmd --reload

8)现在就可以用navicat连接了(其他的连接工具应该就那个加密方式不一样,我猜,哈哈)

  

 

参考链接

https://blog.csdn.net/zhuangweizhan/article/details/104289424

https://www.cnblogs.com/lylongs/p/11048714.html

https://www.linuxidc.com/Linux/2016-09/135288.htm

 

posted @ 2020-05-15 15:22  南风知我意、  阅读(288)  评论(0编辑  收藏  举报