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/ ...
随机推荐
- 《F4+2》——团队项目的原型设计与开发
目 录 1 · 团队信息 2 · NABCD模型 3. 原型设计的工具 4 · 原型设计 5 · PSP表格 6 · 团队设计过程 7 · 原型设计心得 一 · 团 队 信 息 成 员 列 ...
- 关于 Flutter的Button按钮没有高度设置
flutter 里面 RaisedButton.FloatingActionButton.FlatButton.OutlineButton 中四个button都无高度设置,如下用RaisedButto ...
- Java Spring-AOP中的动态代理
2017-11-10 16:17:12 AOP中有两种代理方式,分别是JDK的动态代理和CGLib的动态代理. JDK的动态代理 Proxy 提供用于创建动态代理类和实例的静态方法,它还是由这些方法创 ...
- 前端框架MVVM是什么(整理)
前端框架MVVM是什么(整理) 一.总结 一句话总结:vm层(视图模型层)通过接口从后台m层(model层)请求数据,vm层继而和v(view层)实现数据的双向绑定. 1.我大前端应该不应该做复杂的数 ...
- MongoDB排序异常
com.mongodb.MongoQueryException: Query failed with error code 96 and error message 'Executor error d ...
- iTerm2的设置和Zsh.
很好的说明文: https://xiaozhou.net/learn-the-command-line-iterm-and-zsh-2017-06-23.html iTerm2是Mac os用户使用的 ...
- bzoj1211: [HNOI2004]树的计数 prufer序列裸题
一个有n个结点的树,设它的结点分别为v1, v2, …, vn,已知第i个结点vi的度数为di,问满足这样的条件的不同的树有多少棵.给定n,d1, d2, …, dn,编程需要输出满足d(vi)=di ...
- 获取div的高度
1.获取div的文档总高度(必须DOM操作): var scrollHeight=document.getElementById("inner").scrollHeight; // ...
- centos7 搭建svn服务器&客户端的访问&备份迁移
当今用于版本控制的软件程序主要的有svn和git,其它软件咱不熟悉,今天记录下搭建svn服务器和svn客户端使用: 使用环境:虚拟机为centos7系统,svn服务器安装在centos7系统平台上,s ...
- 用压测模拟并发、并发处理(synchronized,redis分布式锁)
使用工具:Apache an 测压命令: ab -n 100 -c 100 http://www.baidu.com -n代表模拟100个请求,-c代表模拟100个并发,相当于100个人同时访问 ab ...