linux(centos)上安装mysql教程,为需要远程登录的用户赋予权限
最近把之前学生时代的win server换成了linux(centos)系统,因为win对于部署一些项目时候比较麻烦,直接入正题
1、准备阶段
我使用xshell工具管理服务器,相应下载和安装自行百度
2、安装
接下来主要介绍Linux下使用yum安装MySQL,以及启动、登录和远程访问MySQL数据库。
2.1安装mysql客户端
yum install mysql
如何出现下面这个,说明,已经安装了mysql
2.2安装mysql服务端
yum install mysql-server
yum install mysql-devel
在CentOS7上用上面的命令安装mysql服务端时,出现了以下的提示:
原因是:
CentOS7带有MariaDB而不是MySQL,MariaDB和MySQL一样也是开元的数据库,您可以使用yum -y install mariadb-server mariadb命令安装
解决方案:
如果必须要安装MySQL,首先必须添加mysql社区repo通过输入命令:
sudo rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
最后使用像安装MySQL的常规方法一样输入上面两行命令安装既可
2.3启动和停止
1、数据库字符集设置,mysql配置文件
/
etc
/
my.cnf中加入default
-
character
-
set
=
utf8
2、启动mysql服务
service mysqld start或者/etc/init.d/mysqld start
3、检查是否成功启动了mysql
4、停止mysql
service mysqld stop
5、开机启动
chkconfig -add mysqld
chkconfig --list | grep mysql* //查看开机启动设置是否成功
mysqld 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
2.4登录
1、创建root管理员
mysqladmin -u root password 123456
1.1创建普通用户
create user 用户名 identified by '密码'; 例:create user xiaogang identified by '123456';
1.2删除普通用户 (管理员权限)
drop user 用户名@'%';
2、登陆
mysql -u root -p输入密码即可。
3、忘记密码
service mysqld stop mysqld_safe --user=root --skip-grant-tables mysql -u root use mysql update user set password=password("new_pass") where user="root"; flush privileges;
2.5远程登陆
开放防火墙的端口号,这个可以在控制台设置
设置相关的端口号外网是否可以访问。
1、为需要远程登录的用户赋予权限
如何给用户分配权限
grant 权限 on 数据库.数据表 to '用户' @ '主机名';
(1)支持root用户允许远程连接mysql数据库
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; flush privileges;
注意:root就拥有了所有的权限
(2)新建用户远程连接mysql数据库
grant all on *.* to admin@'%' identified by '123456' with grant option;
flush privileges;
允许任何ip地址(%表示允许任何ip地址)的电脑用admin帐户和密码(123456)来访问这个mysql server。
注意admin账户不一定要存在。
注意:admin用户就拥有了所有的权限
(3)新建用户saucxs为xianhe数据库赋予所有权限【常用】
grant all privileges on xianhe.* to saucxs@'%' identified by '123456' with grant option;
flush privileges;
允许任何ip地址(%表示允许任何ip地址)的电脑用saucxs帐户和密码(123456)来访问这个mysql server。
注意admin账户不一定要存在。
注意:saucxs用户就拥有了所有的权限
(4)让 saucxs有查询 weekly数据库week_week 表的权限;
grant select on weekly.week_week to 'saucxs'@'%';
(5)让saucxs有增删改查weekly数据库所有表的数据权限
grant select,insert,update,delete on weekly.* to 'saucxs'@'%';
注意:这个只有删除表中数据增删改查,而不是表的增删改查
下面是我要进行建表操作,被拒绝了
(6)给电脑IP为10.163.225.87的用户saucxs分配可对数据库weekly的week_week表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123456。这样做的目的是只有在指定的电脑指定IP上才能登陆这个数据库账号。
grant select,insert,update,delete,create,drop,alter on weekly.week_week to saucxs@10.163.225.87;
注意:这个create和drop,alter 是指的数据库表的创建和删除,表字段添加,而不是数据表中数据新增和删除。
(7)如何收回mysql分配给别的用户的权限,一般指有root用户才具有该权限
revoke 权限 on 数据库.数据表 from '用户'@'主机名';
举个例子,回收查询功能,这样查询功能就失效了
revoke select on weekly.* from 'saucxs'@'%';
(8)查看端口
show global variables like 'port'
centos7.x已经把3306端口开放了,并且不需要开启防火墙,直接用就行
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
2017-10-22 前端(各种demo)二:左侧导航栏的折叠和打开(不使用js)基础版和升级版