前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql使用总结

mysql使用总结

作者头像
pydata
发布2018-08-02 11:42:15
5020
发布2018-08-02 11:42:15
举报
文章被收录于专栏:pydatapydata

Mysql创建数据库

create database sina default character set utf8mb4 collate utf8mb4_unicode_ci; 使用utf8mb4而不是utf8 ,应为utf8的长度不确定,utf8编码占用3个字节,utf8mb4能保证长度的够用, 5.5.3 版本以后的mysql版本开始支持utf8mb4

Mysql导入导出

代码语言:javascript
复制
导出所有库   
    mysqldump -uusername -ppassword --all-databases>all.sql  
导入所有库  
    mysql>source all.sql;
导出某些库  
    mysqldump -uusername -ppassword --databases db1 db2 >db1db2.sql  
导入某些库  
    mysql>source db1db2.sql  
导入某个库  
    mysql -uusername -ppassword db1<db1.sql;  
    mysql>source db1.sql;  
导出某个库  
    mysqldump -uusername -ppassword db1 table1 table2>tb1tb2.sql  
导入某些数据表  
    mysql -uusername -ppassword db1<tb1tb2.sql  
    mysql>user db1;  
    mysql>source tb1tb2.sql;  
mysqldump字符集设置  
    $mysqldump -uusername -ppassword --default-character-set=utf-8 db1 table1>tb1.sql  

Mysql用户管理

代码语言:javascript
复制
创建用户  
    mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234"));  
    mysql>grant all privileges on *.* to jee@localhost identified by ‘123′;  
修改用户密码   
    mysql> UPDATE mysql.user SET password=PASSWORD(’新密码’) WHERE User=’root’;  
    mysql> FLUSH PRIVILEGES;  
显示当前用户     
    mysql>select USER();  

Mysql启用远程

代码语言:javascript
复制
    cd /etc/mysql  
    vi my.cnf  #注释bind-address  
    mysql -uusername -ppassword #进入到mysql  
    grant all privileges on *.* to username@'deniedhost' identified by 'password';  
    GRANT ALL PRIVILEGES ON *.* TO user_name@'%' IDENTIFIED BY ‘pass_word’;  #if dynamic ip  
    flush privileges;  
    quit;  

Mysql启用远程的目的可能还是为了解决windows python mysql的问题: 在Windows上只需要安装MySQL-python后,后期只需要连接到远程mysql后就可以了

Mysql 主从复制

mysql复制的用途: 读取扩展 主备份服务器 故障转移服务器 地理空间冗余 数据仓库 基准测试 软件更新 复制配置(my.cnf): 主服务器配置(Alpha) [mysqld] log-bin=binary-log #log-bin参数启动二进制日志.二进制日志在MySQL环境中提供了多种用途.它为MySQL复制提供了DDL和DML语句流,能够重新应用于复制的从服务器. server-id=1 重新启动MySQL后 ,使用SQL命令show master status;进行验证.(对于配置复制的从服务器是必要的) 从服务器配置(Beta) [mysqld] server-id=2 read_only=TRUE show slave status; change master to MASTER_HOST=’192.168.100.1’,#主服务器上的用户名和密码 MASTER_USER=’rep1’, MASTER_PASSWORD=’rep12009’;

change master to MASTER_LOG_FILE=’binary-log.00001’,#主服务器上运行show master status命令所检索到的日志文件名称和位置. MASTER_LOG_POS=106;

slave start;#启动从服务器验证其操作 show slave status;#Slave_IO_Running和Slave_SQL_Running的值为Yes,就证明”主服务器-从服务器”式的MySQL拓扑已经正常运行. 测试MySQL复制 在alpha上测试下面的代码: PROMPT alpha>; alpha> 确认从服务器上什么都不存在: beta> show schemas;

Mysql 创建视图

代码语言:javascript
复制
create view v as select * from table;  
create view v as select id,name,age from table;  
create view v[vid,vname,vage] as select id,name,age from table;  

on,where,having的区别 on,where,having这三个都可以加条件的子句中,on是最先执行,where次之,having最后.有时候如果这先后顺序不影响中间结果的话,那最终结果是相同的.但因为on是先把不符合条件的记录过滤后才进行统计,它就可以减少中间运算要处理的数据,按理说应该速度是最快的. 根据上面的分析,可以知道where应该比having快一点,应为它过滤数据后才进行sum,所以having是最慢的.但也不是说having没用,因为有时在步骤三还没有出来都不知道那个记录才符合要求时,就要用having了. left join加上where 条件 用where是先连接然后再筛选 用and是先筛选再连接 数据库范式: 第一范式:强调的是列的原子性. 第二范式:首先使1NF,另外包含两部分内容,一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分. 第三范式:首先是2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖.即不能存在:非主键列A依赖于非主键列B,非主键列B依赖于主键的情况.

参考

无法启动mongodb的解决方法 启用远程mysql

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014年04月04日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Mysql创建数据库
  • Mysql导入导出
  • Mysql用户管理
  • Mysql启用远程
  • Mysql 主从复制
  • Mysql 创建视图
    • 参考
    相关产品与服务
    云数据库 MySQL
    腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档