MySQL 入手指南

每次在新的服务器上部署 MySQL 都要重新上网各种搜索,有的操作还不适用自己的服务器系统等等问题。故此,准备整理一下 MySQL 入手指南,方便自己与方便他人。

服务器安装MySQL依赖

阿里云在Linux实例中安装MySQL数据库

查看 MySQL 安装情况

查看版本

bash 复制代码
# mysql -V

# mysql  Ver 8.0.35 for Linux on x86_64 (MySQL Community Server - GPL) 出现此信息,表示安装成功

查看安装路径 (Linux)

bash 复制代码
whereis mysql

mysql: /usr/bin/mysql /usr/lib64/mysql /usr/share/man/man1/mysql.1.gz

登录用户mysql

bash 复制代码
# mysql -u username -p

创建新用户

登录 root 用户 进入 mysql> 运行环境

bash 复制代码
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

'username'是要创建的用户名,'localhost'是该用户的主机名,'password'是该用户的密码。如果要创建的用户已经存在,可以使用IGNORE关键字来忽略错误: 在这里,'localhost'表示该用户只能从本地登录,如果您希望用户能够从任何主机远程登录,可以将'localhost'改为'%'

查看所有用户

bash 复制代码
SELECT user, host FROM mysql.user;


+------------------+-----------+
| user             | host      |
+------------------+-----------+
| test             | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+

权限配置

查看用户权限

  • root 用户登录情况
bash 复制代码
SHOW GRANTS FOR 'username'@'localhost';

+--------------------------------------------------------------+
| Grants for shanping@%                                        |
+--------------------------------------------------------------+
| GRANT USAGE ON *.* TO `username`@`%`                         |
| GRANT ALL PRIVILEGES ON `database_name`.* TO `username`@`%` |
+--------------------------------------------------------------+
  • 当前用户登录
bash 复制代码
SHOW GRANTS;

+--------------------------------------------------------------+
| Grants for username@%                                        |
+--------------------------------------------------------------+
| GRANT USAGE ON *.* TO `username`@`%`                         |
| GRANT ALL PRIVILEGES ON `database_name`.* TO `username`@`%` |
+--------------------------------------------------------------+

对非Root用户进行授权

  • 授权全部权限,一般不建议这么做

有时候运行以下命令会出现 ERROR 1410 (42000): You are not allowed to create a user with GRANT 错误,翻译获利就是 不允许使用GRANT创建用户 ,这是因为你可能输出了用户的 主机地址 ,真实的地址是 % 而不是 localhost 。最后别玩了 执行 FLUSH PRIVILEGES 命令 刷新权限

bash 复制代码
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';
FLUSH PRIVILEGES;
  • 收回用户的全部权限
bash 复制代码
REVOKE ALL PRIVILEGES ON *.* FROM 'username'@'localhost';
FLUSH PRIVILEGES;
  • 对新用户只授权特定的数据库权限
bash 复制代码
GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'localhost';
FLUSH PRIVILEGES;
  • 撤销对某个数据库的权限
bash 复制代码
REVOKE ALL PRIVILEGES ON database_name.* FROM 'username'@'localhost';
FLUSH PRIVILEGES;
相关推荐
瓯雅爱分享6 小时前
Java+Vue构建的采购招投标一体化管理系统,集成招标计划、投标审核、在线竞价、中标公示及合同跟踪功能,附完整源码,助力企业实现采购全流程自动化与规范化
java·mysql·vue·软件工程·源代码管理
咋吃都不胖lyh8 小时前
SQL-多对多关系
android·mysql·数据分析
哲Zheᗜe༘11 小时前
了解学习MySQL数据库基础
数据库·学习·mysql
咋吃都不胖lyh11 小时前
MySQL 多表查询中,联合查询(UNION) 和子查询
mysql·数据分析
先鱼鲨生12 小时前
【MySQL】认识数据库以及MySQL安装
数据库·mysql
周杰伦_Jay13 小时前
【终端使用MySQL】MySQL 数据库核心操作全解析:从入门到性能优化
数据库·mysql·性能优化
-雷阵雨-14 小时前
MySQL——数据库入门指南
数据库·mysql
就叫飞六吧15 小时前
DataX适合全量同步和简单的增量场景
mysql
xhbh66616 小时前
【实战避坑】MySQL自增主键(AUTO_INCREMENT)全解:从锁机制、间隙问题到分库分表替代方案
android·数据库·mysql·mysql自增主键
程序员三明治20 小时前
【MyBatis从入门到入土】告别JDBC原始时代:零基础MyBatis极速上手指南
数据库·mysql·mybatis·jdbc·数据持久化·数据