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/ ...
随机推荐
- 更改idea快捷键方式为eclipse风格
打开配置窗口 菜单栏中的File-settings 或者快捷键 ctrl+alt+s 设置keymap 在弹出的setting页面中左侧导航中选择Keymap: 在keymaps下拉列表中选择Ecli ...
- P4行为模型BMV2安装
前提:依赖关系请移步上篇博客.P4行为模型BMV2依赖关系安装:thrift nanomsg nnpy安装 以及,要把下面这些东西装好. On Ubuntu 14.04, the following ...
- POJ 3281 Dining(最大流)
http://poj.org/problem?id=3281 题意: 有n头牛,F种食物和D种饮料,每头牛都有自己喜欢的食物和饮料,每种食物和饮料只能给一头牛,每头牛需要1食物和1饮料.问最多能满足几 ...
- 农历03__ZC
代码,改自 农历01(http://www.cnblogs.com/cppskill/p/5930558.html) 1.main.cpp #include "Lunar_ZC.h" ...
- hdu1564博弈+找规律
#include<map> #include<set> #include<cmath> #include<queue> #include<stac ...
- 将C语言的CRC32 代码转成JAVA的CRC32 代码
public class CustomerCRC32 { private static long[] crc32Table = new long[256]; static { long crcValu ...
- CSS3全新的背景图片方案
CSS3全新的背景图片方案 firefox支持指定一个元素的ID将它作为另一个元素的背景-moz-element(#ID), webkit系支持-webkit-canvas(xxxx)动态创建一个ca ...
- 判断对称二叉树 python代码
对称二叉树的含义非常容易理解,左右子树关于根节点对称,具体来讲,对于一颗对称二叉树的每一颗子树,以穿过根节点的直线为对称轴,左边子树的左节点=右边子树的右节点,左边子树的右节点=左边子树的左节点.所以 ...
- iOS-----使用GCD实现多线程
使用GCD实现多线程 GCD的两个核心概念如下: 队列 队列负责管理开发者提交的任务,GCD队列始终以FIFO(先进先出)的方式来处理任务---但 由于任务的执行时间并不相同,因此先处理的任务并一定先 ...
- BZOJ4977: [[Lydsy1708月赛]跳伞求生(不错的贪心)
4977: [[Lydsy1708月赛]跳伞求生 Time Limit: 5 Sec Memory Limit: 256 MBSubmit: 446 Solved: 142[Submit][Sta ...