Linux(Contos7)下使用SSH远程安装MySQL 8.0.17 完整笔记

北战南征 提交于 2019-11-29 09:41:50

1. 使用putty 配置远程服务器连接,登录服务器。

 由于没有指定下载包 使用 yum install mysql-server  提示 未指定包,如:

2. 因为甲骨文的收购了Mysql并且对Mysql进行了闭源开发,所以以前的yum下载命令无法获取到下载包,我们使用rpm方式来安装,这时我们就需要从官网去下载Mysql的社区版安装包。

地址:https://dev.mysql.com/downloads/repo/yum/

   使用命令:

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm 
yum install mysql-community-server

 

3. 安装完毕,启动Mysql,  并查看状态。

service mysqld start
service mysqld status

 

看到绿色的active(running)就代表服务启动成功了。

 

4. 配置Mysql

 登录MySQL ,系统初始时使用的默认密码,如果没记住,则会登录失败

mysql -uroot -p

 提示错误,

使用 命令查看初始密码:grep password

cat /var/log/mysqld.log | grep password

登陆成功。

密码不好记,下来需要修改root密码

 注意:重点啊,如果你没有设置认证方式,默认的密码加密方式是:caching_sha2_password,而现在很多客户端工具还不支持这种加密认证方式,连接测试的时候就会报错:client does not support  authentication protocol requested by server; consider upgrading MySQL client,这里的错误信息就是不支持身份认证方式,没关系,去my.ini里面在[mysqld]下面加上这句话即可:

default_authentication_plugin=mysql_native_password
set global validate_password.policy=0;

set global validate_password.length=1;

ALTER USER "root"@"localhost" IDENTIFIED  BY "****";   // 新密码为*****

 

 

 

 

使用 nano /etc/my.cnf” 即通过nano 修改 my.cnf文件

 

 

通过光标移动定位需要修改的参数行,例如想要设置max_connections参数,则下面的参数行max_connections=100

然后把max_connections的参数设置成你想要修改的数值,例如110

键入Ctrl+O写入writeout并保存修改

然后,键入Ctrl+X退出Nano

查看下编码:

mysql> show variables like '%character%';

 

 

最后重启MYSQL以使修改生效。键入命令:

systemctl restart mysqld

这样,max_connections参数就成功从100修改成110,成功配置了MYSQL的配置文件my.cnf

 

5. 打开远程访问和授权

对于允许远程访问,有两种角色,一种是我们的root用户,还有一种是非root用户,从安全的角度(我也不知道什么角度,听别人说的,暂且相信着吧),远程访问最后不要用root用户

用root用户访问:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '密码' WITH GRANT OPTION;

这里允许root用户远程的时候,如果出现如下的错误,就先去把root用的host改成%,再运行上面那句话,对于mysql用户管理这一块不熟悉的朋友们,请看我另一篇博客--mysql 用户及权限管理

非root用户,这里就要先去创建一个用户

切换数据库
mysql>use mysql;

创建用户(user1:用户名;%:任意ip,也可以指定,root默认就是localhost;123456:登录密码)
mysql>CREATE USER 'user1'@'%' IDENTIFIED BY '123456';

授权,默认创建的用户权限是usage,就是无权限,只能登录而已,(all:所有权限,这里有select,update等等权限,可以去搜一下;后面的*.*:指定数据库.指定表,这里是所有;to后面就是你刚才创建的用户)

mysql>grant all on *.* to 'user1'@'%';

注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令: 
GRANT all ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION; 

6.开启防火墙

Mysql默认不允许远程登录,所以需要开启远程访问权限,可以先查看user表

select user,authentication_string,host from user;

默认都是localhost  

update user set host = '%' where user = 'root';

此时root的host是所有都可以了

然后刷新修改,

FLUSH PRIVILEGES;

注意:这步一定要做,否则无法生效。

然后开启防火墙。

 firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

 

 完毕,快乐的使用远程客户端连接使用吧!!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!