Mysql数据库学习笔记

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:
1.Mysql数据库安装要点总结
1)初始化授权表 mysql_install_db;
/user/local/mysql/bin/mysql_install_db --basedir=/usr/local/mysql(安装目录) --datadir=/data/mysql/3306/data(数据存放目录) --user=mysql
2)用特定的用户启动守护程序;
3)修改root用户的密码;
4)让mysql自动重启;
2.Mysql系统升级需要备份数据
1)数据库目录;
2)守护程序;
3)配置文件
3.一台服务器运行多台mysql数据库
最好的办法就是使用不同的TCP/IP端口和套接字文件重新编译服务器
--prefix=/usr/local/mysql
--with-tcp-port=3308
--with-unix-socket=/data/mysql/3308/mysql.sock
4.Mysql数据库密码相关操作
1)mysql初始化密码
/usr/bin/mysqladmin -uroot password 密码 (rpm包)
/usr/local/mysql/bin/mysqladmin -uroot password 密码 (源码包)
2)修改root用户密码:
/usr/bin/mysqladmin -uroot -p旧密码 password 新密码 (rpm包)
/usr/local/mysql/bin/mysqladmin -uroot -p旧密码 password新密码 (源码包)
还可以用set和update命令修改数据库密码
mysql>SET PASSWORD FOR root=PASSWORD('new_password');
mysql>update user set password=password('mysql') where user='root'
flush privileges
3)mysql数据库忘记密码
/usr/local/mysql/bin/mysqld_safe --skip-grant-tables & 跳过权限授权表
/usr/local/mysql/bin/mysqladmin -uroot flush-privileges password "mysql" -S /data/mysql/3306/mysql.sock                                             然后重启mysql即可。                                                       
5.mysql数据库权限的管理
1)权限查看
select * from user \G;
2)查看某个用户的权限信息
show grants for 'usermame'@'hostname';
2.使用grant增加权限
grant all privileges on icewarp.* to 'sfzhang'@'192.168.1.115' identified by 'da2010##';
标注:sfzhang在192.168.1.115客户端对数据库icewarp拥有所有权限
grant all privileges on icewarp.* to 'sfzhang'@'%' identified by 'da2010##';
标注:sfzhang在在任何客户端对数据库icewarp拥有所有权限
grant all privileges on jiradb.* to 'sfzhang'@'192.168.1.%' identified by 'da2010##' with grant option;
标注:sfzhang在192.168.1.0网段的客户端对数据库icewarp拥有所有权限,并且可以把授权给其它用户(grant option选项)
3)使用revoke取消权限
注意:撤销权限的时候也要加主机
revoke delete on test.* from 'david'@'hostname';
4)删除用户
delete from user where user="wikiuser" and host="192.168.1.125";
5)权限管理实例:
grant SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, CREATE VIEW, EXECUTE  on  wikidb.* to 'wikiuser'@'192.168.1.125' identified by 'wiki@#$'; (授权限)
revoke SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, CREATE VIEW, EXECUTE  on wikidb.* from 'wikiuser'@'192.168.1.25';(撤销权限)                      
6.Mysql常用命令集合
1)查看mysql变量信息
[root@mysql ~]#/usr/local/mysql/bin/mysqladmin -h localhost variables -uroot -p
2)查看Mysql版本信息
mysql>select version();
3)查看当前用户
mysql>select user();
4)查看当前数据库
select database();
5)查看mysql的所有用户
mysql>select user,host,password from mysql.user;
6)查看mysql数据库日志信息
mysql>show variables like 'log_%'
7)从1700列开始,查看12行数据
mysql> select * from parameters limit 1700,12;
8)删除数据表
mysql>drop table wiki;
9)查看mysql支持存储引擎
mysql> show engines;
10)创建数据库的时候指定数据库的字符集
create database wordpress default character set utf8;

7.Mysql数据库的备份还原
1)备份数据库
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql     
2)备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库
mysqldump add-drop-table -uusername -ppassword databasename > backupfile.sql     
3)直接将MySQL数据库压缩备份   
mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz     
4)备份MySQL数据库某些表    
mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql     
5)同时备份多个MySQL数据库    
mysqldump -hhostname -uusername -ppassword  databases databasename1 databasename2 databasename3 > multibackupfile.sql     
6)仅仅备份数据库结构    
mysqldump no-data databases databasename1 databasename2 databasename3 > structurebackupfile.sql     
7)备份服务器上所有数据库    
mysqldump all-databases > allbackupfile.sql     
8)还原MySQL数据库的命令   
mysql -hhostname -uusername -ppassword databasename < backupfile.sql     
9)还原压缩的MySQL数据库    
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename     
10)将数据库转移到新服务器   
mysqldump -uusername -ppassword databasename | mysql –-host=*.*.*.* -uroot -p -C databasename
11)远程备份数据库
mysqldump -uroot -p test pet -h 192.168.128.128 > /tmp/mysqlbackup/test.sql
远程登录数据库,在登录之前要授权
grant all on *.* to 'root'@'172.16.100.108' IDENTIFIED BY 'mysql';    










本文转自 sfzhang 51CTO博客,原文链接:http://blog.51cto.com/sfzhang88/860768,如需转载请自行联系原作者

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
235
分享
相关文章
MySQL索引学习笔记
本文深入探讨了MySQL数据库中慢查询分析的关键概念和技术手段。
316 80
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
228 6
Mysql学习笔记(三):fetchone(), fetchmany(), fetchall()详细总结
MySQL中用于数据检索的`fetchone()`, `fetchmany()`, `fetchall()`函数的功能、SQL语句示例和应用场景。
158 3
Mysql学习笔记(三):fetchone(), fetchmany(), fetchall()详细总结
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
126 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
105 1
php学习笔记-连接操作mysq数据库(基础)-day08
本文介绍了PHP中连接操作MySQL数据库的常用函数,包括连接服务器、设置字符集、关闭连接、选择数据库、结果集释放、获取影响行数以及遍历结果集等操作。通过书籍查询的实例演示了如何使用这些函数进行数据库操作,并提供了一个PHP操纵MySQL数据库的模板。
php学习笔记-连接操作mysq数据库(基础)-day08
|
7月前
|
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
86 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
397 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
56 6
MySQL学习笔记
这篇文章是一份关于MySQL数据库操作的学习笔记,涵盖了数据库的终端操作、数据类型、建表约束、事务处理以及SQL的连接查询等基础知识点。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等