mysql-1安装和数据库的管理
1.安装
直接docker安装,客户端使用Navicat Premium。
docker run -d --name csjmysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
2.管理mysql
连接数据库
进入shell,使用命令行进入mysql交互
docker exec -it csjmysql sh
mysql -u root -p
2.1mysql用户设置
方法1:直接在user表插入数据
use mysql; #选择数据库
select host,user,password from user ;
insert into user (host,user,password,select_priv,insert_priv,update_priv) values ('localhost','guest',PASSWORD('123456'),'Y','Y','Y');
select host,user,password,select_priv,insert_priv,update_priv from user ;

问题:从上面的结果中guest的密码暴露了,所以要是用PASSWORD方法对密码加密
```#sql
update user set password=PASSWORD('123456') where user='guest';
```

注意:
* 在 MySQL5.7 中 user 表的 password 已换成了authentication_string。
* password() 加密函数已经在 8.0.11 中移除了,可以使用 MD5() 函数代替。
* 注意:在注意需要执行 FLUSH PRIVILEGES 语句。 这个命令执行后会重新载入授权表。
同样可以从这张表格中可以修改用户的其他权限
方法二:为数据库TEST1021添加一个有增删改查权限的用户tom,密码:tom123
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON TEST1021.* TO 'tom'@'localhost' IDENTIFIED BY 'tom123';
3.mysql配置文件/ect/my.cnf
一般情况下,不用更改
我使用的是docker镜像,配置文件不完整,此处是菜鸟的配置文件内容:
[mysqld]
datadir=/var/lib/mysql #数据存储目录
socket=/var/lib/mysql/mysql.sock
[mysql.server]
user=mysql
basedir=/var/lib
[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
3.数据库操作
use TEST1021; #选择要使用的数据库
show databases; #查看当前有哪些数据库
show tables; #显示指定数据库的所有表
show columns from table_name; #显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息。
show index from table_name; #显示数据表的详细索引信息,包括PRIMARY KEY(主键)。
show table status from database_name; #该命令将输出Mysql数据库管理系统的性能及统计信息。
3.1创建数据库
方法1:使用sql命令创建数据库
create database TEST1021;
方法2:使用shell命令 mysqladmin创建数据库
mysqladmin -u root -p create TEST1021
3.2删除数据库
方法1:使用sql命令删除
drop database TEST1021;
使用shell命令删除数据库
mysqladmin -u root -p drop TEST1021
3.3选择数据库
use TEST1021;
desc table_name; #查看表结构
3.4 修改字符集
set names 'xxx' 命令可以使 与客户端相关的character_set_client、character_set_connection、character_set_results 三者统一,减少编码转换的需要。
client (character_set_client) -----> character_set_connection -------> mysqld ------> client(character_set_results)
而 真正server端的编码字符集,character_set_server 和 character_set_database ,set names 'xxx' 根本无法修改。
更多请参考:[https://www.cnblogs.com/digdeep/p/5228199.html](https://www.cnblogs.com/digdeep/p/5228199.html)
3.5 存储引擎
Innodb引擎和MyIsam引擎的区别:
MyIsam是基于表级锁的,Innodb是基于行级锁的。
如一张表有n行记录,线程1更改第2条记录,线程2更改第1条记录。
对于MyIsam引擎的表,在执行线程1的时候将锁定整张表,线程2想修改第1条记录,是没有办法执行的,必须等待第1个线程把第2行记录更新完,释放锁之后,才能去更新第1行记录。
对于Innodb引擎的表,锁是精确到每一行的,线程1和线程2修改不同记录,可以并发执行。如果不同线程更改同一条记录,则需等待上一个线程执行完毕后,下一个线程才能执行。
| 引擎 | 事务 | 外键 | 建议操作 |
| INNODB | 支持 | 支持 | 增加、修改 |
| MYISAM | 不支持 | 不支持 | 查询 |
MYISAM读的性能是非常高的,因为它是基于全表去扫描的;而Innodb写入比MyIsam略快一些,Innodb支持事物的控制
mysql-1安装和数据库的管理的更多相关文章
- mysql的安装使用及其用户管理
mysql的安装使用及其用户管理 一.mariadb安装 搭建yum源 [mariadb] name = MariaDB baseurl = http://mirrors.ustc.edu.cn/ ...
- mysql用户授权、数据库权限管理、sql语法详解
mysql用户授权.数据库权限管理.sql语法详解 —— NiceCui 某个数据库所有的权限 ALL 后面+ PRIVILEGES SQL 某个数据库 特定的权限SQL mysql 授权语法 SQL ...
- mysql 免安装配置 数据库修改密码和远程IP登陆
MySQL Windows安装包说明: 1.mysql-5.5.20-win32.msi:Windows 安装包,图形化的下一步下一步的安装. 2.mysql-5.5.20.zip,这个是window ...
- MySQL:MySQL的安装
一.Linux:MySQL的源码安装 1.安装前的准备 在安装之前需要安装一下必备的包和工具 gcc/g++:MySQL5.6开始,需要使用g++进行编译. cmake:MySQL5.5开始,使用cm ...
- CDH集群安装配置(四)- mysql 的安装
安装mysql,并且创建相关的表(只需要在chd1上面安装而且需要root权限)1.1 查看Centos自带mysql是否已经安装 yum list installed | grep mysql 卸载 ...
- 数据库介绍(MySQL安装 体系结构、基本管理)
第1章 数据库介绍及mysql安装 1.1 数据库简介 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增.截取.更新.删除等操作. 所谓“数据库”系以一定方式 ...
- 【转】数据库介绍(MySQL安装 体系结构、基本管理)
[转]数据库介绍(MySQL安装 体系结构.基本管理) 第1章 数据库介绍及mysql安装 1.1 数据库简介 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新 ...
- [MySQL数据库之数据库相关概念、MySQL下载安装、MySQL软件基本管理、SQL语句]
[MySQL数据库之数据库相关概念.MySQL下载安装.MySQL软件基本管理.SQL语句] 数据库相关概念 数据库管理软件的由来 数据库管理软件:本质就是个C/S架构的套接字程序. 我们在编写任何程 ...
- Linux_CentOS中的MySQL 数据库的安装调试、远程管理
官网查看最新 MySQL 安装包 https://dev.mysql.com/downloads/repo/yum/ 下载 MySQL 源的安装包 wget http://dev.mysql.com/ ...
随机推荐
- 双击不能运行可执行的jar文件
1.首先在命令行下运行jar包看文件是否报错(java -jar jar文件名称.jar) 如果程序中有System.out.println()语句,不想让其输出到控制台而保存到文件 ...
- DWZ 框架详解
这是一个智障的框架,能别用就别用.
- MAC终端安装grunt--javascript世界得构建工具
祝贺我成为前端啦!~~从年前得小测试到今年得前端,成功转型!我真是一个进步得好青年,好少女! 这两天出去受虐,面了两家前端,表现非常不好,还是回到我现在得公司好好沉淀技术,做前端,要经常性得整理总结, ...
- JAVA异常处理分析高级进界(下)
既然Throwable是异常处理机制的核心,那么,我们就来分析下它的源码来看看它是如何实现的. 进行分析前,我们可以先想想如果让我们实现一个异常处理机制,我们需要它做什么? 1. 发生异常终止程序执行 ...
- JSP 点击量统计
JSP 点击量统计 有时候我们需要知道某个页面被访问的次数,这时我们就需要在页面上添加页面统计器,页面访问的统计一般在用户第一次载入时累加该页面的访问数上. 要实现一个计数器,您可以利用应用程序隐式对 ...
- Hadoop异常
org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: hdfs://xxx:49000/user/had ...
- 2-3-2 rsync+inotify备份同步数据
RSYNC = Remote Sync 远程同步 高效,一定要结合shell 官网:https://rsync.samba.org Author: Andrew Tridgell, Wayne Dav ...
- 在am中定义消息集束,并在CO中验证之后抛出异常。
需求:在页面上点某个按钮的时候,需要收集所有异常并抛出. -------------------------------------------方式1:参考 EBS OAF开发中的错误/异常处理(Er ...
- 非ie浏览器必备函数常识
场景描述: 我们都知道IE浏览器和非IE浏览器都有很多功能一样但写法不同,或者各自都有一些自己独特的方法,那么为了保持兼容性和便于编写,我们可以通过这两个方法给非IE浏览器的对象增加自己没有,但IE有 ...
- jquery分页滑动插件(鼠标可控制上下滑动)
这个插件非常好用 http://www.swiper.com.cn/