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/ ...
随机推荐
- JS判定注册表单的几个方式 及 Ajax进行用户名存在判定
最近感觉不赶紧把代码逻辑记一下梳理一下,再做的时候就容易进入"逻辑误区". 有个表单,简单点. <!DOCTYPE html> <!-- 注册表单验证,用户名格式 ...
- Maven简单的配置Junit测试及使用简单的mock
1.maven依赖配置如下 <dependency> <groupId>org.mockito</groupId> <artifactId>mockit ...
- bzoj 2818 gcd 线性欧拉函数
2818: Gcd Time Limit: 10 Sec Memory Limit: 256 MB[Submit][Status][Discuss] Description 给定整数N,求1< ...
- hdu 2204 Eddy's爱好 容斥原理
Eddy's爱好 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem ...
- 如何以Root权限在Pycharm上Run、Debug
Pycharm官网提问:https://intellij-support.jetbrains.com/hc/en-us/community/posts/206587695-How-to-run-deb ...
- jquery.validate验证表单
添加引用 <script src="/${appName}/commons/js/validate/jquery.validate.min.js"></scrip ...
- ionic2常见问题——cordova使用Gradle构建下载maven太慢,使用阿里云镜像
问题描述 当我们写完ionic2项目准备打包app时(暂时介绍android) 执行命令ionic build android的时候下载maven太慢,cmd命令行工具来下载经常会出现假死状态(下载超 ...
- WCF 学习文摘
WCF:Windows Communication Foundation 1.概念 WCF是一个用于搭建面向服务的框架,可以通过它从一个服务终端以异步消息的方式发送数据到其他服务: WCF是一个基于消 ...
- poj3814
题解: 所以poj只放了一组数据? 打表(花费了我无数心血找的的打标) 代码: #include <stdio.h> int main(){ printf("1\n2\n1\n2 ...
- ISE创建Microblaze软核(三)
第七步 进入SDK开发环境 编译完成后弹出如下对话框,选择SDK的工作目录.在MicroblazeTutor中创建一个Workspace文件夹,并选择该文件夹为SDK的工作目录. 进入SDK主界面. ...