sudo grep mysql_root_passwd /root/env.txt (现在很多人开始使用云主机,登录云主机之后可以根据该命令查看阿里云数据库密码)
mysql 安装:rpm+rethat6.8(http://www.linuxidc.com/Linux/2016-03/128966.htm)          http://www.mysql.com/downloads/mysql/
(rpm -ivh)
rpm -qpl mysql-community-server-version-distribution-arch.rpm
Configuration file /etc/my.cnf
Data directory /var/lib/mysql
mysqld server /usr/sbin
修改密码;
mysqladmin -u用户名 -p旧密码 password 新密码
设置所有ip都可访问该数据库
mysql -uroot -psawyer(密码前面没有空格)
use mysql
select host,password,user from user;
update user set host='%' where host = '127.0.0.1';
select host,password,user from user; root默认只有本机访问的权限,要通过其他机器访问,必须授权
GRANT ALL PRIVILEGES ON *.* TO'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
flush privileges;
1.ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
访问被拒绝,原因就是在删除数据库时(rpm -e mysql*)没有删除干净,需要把/var/lib/mysql的目录全部删除干净,然后再重新安装即可。
常用命令
1、显示当前数据库服务器中的数据库列表:
mysql>show databases;
注意:mysql库里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。 2、显示数据库中的数据表:
mysql>use 库名;
mysql>show tables; 3、显示数据表的结构:
mysql>describe 表名; 4、建立数据库:
mysql>create database 库名; 5、建立数据表:
mysql>use 库名;
mysql>create table 表名 (字段名 varchar(20), 字段名 char(1)); 6、删除数据库:
mysql>drop database 库名; 7、删除数据表:
mysql>drop table 表名; 8、将表中记录清空:
mysql>delete from 表名; 9、显示表中的记录:
mysql>select * from 表名; 10、往表中插入记录:
mysql>insert into 表名 values (”123”,”b”); 11、更新表中数据:
mysql>update 表名 set 字段名1='a',字段名2='b' where 字段名3='c'; 12、用文本方式将数据装入数据表中:
mysql>load data local infile “/root/mysql.txt” into table 表名; 13、导入.sql文件命令:
mysql>use 数据库名;
mysql>source /root/mysql.sql; 14、命令行修改root密码:
1.利用shell 登录阿里云服务器,
执行命令#cd /etc/
#vi my.cnf
点击键盘任意按键 进入编辑模式
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
skip-grant-tables
点击 ESC按键退出编辑模式
#:wq! 保存
重启mysql
#/etc/init.d/mysqld restart
然后接下来就是无密码登录了
#mysql -u root -p
回车键
接下来就是
mysql > use mysql
mysql>update mysql.user set authentication_string=PASSWORD('新密码') where user='root';
mysql>flush privileges; 2.如果忘记了MySQL root密码,可以用以下方法重新设置:
1.KILL掉系统里的MySQL进程;
killall -TERM MySQLd
2.用以下命令启动MySQL,以不检查权限的方式启动;
safe_MySQLd --skip-grant-tables &
3.然后用空密码方式使用root用户登录 MySQL;
MySQL -u root
4.修改root用户的密码;
MySQL> update MySQL.user set authentication_string=PASSWORD('新密码') where User='root'; (RROR 1054 (42S22): Unknown column 'password' in 'field list')
解决;ERROR 1175 (HY000): You are using safe update mode and you tried to update a table without a WHERE t
show variables like 'sql_safe%';
set sql_safe_updates=0; off MySQL> flush privileges;
MySQL> quit
重新启动MySQL,就可以使用新密码登录了。 15、显示use的数据库名:
mysql>select database(); 16、显示当前的user:
mysql>select user();
备份数据库 1.导出整个数据库,导出文件默认是存在当前操作目录下
# mysqldump -u 用户名 -p 数据库名 > 导出的文件名
# mysqldump -u user_name -p123456 database_name > outfile_name.sql 2.导出一个表
# mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
# mysqldump -u user_name -p database_name table_name > outfile_name.sql 3.导出一个数据库结构
# mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql
-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table 4.带语言参数导出
# mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql
create table user (
Host char(60) collate utf8_bin NOT NULL default '',
User char(16) collate utf8_bin NOT NULL default '',
Password char(41) character set latin1 collate latin1_bin NOT NULL default '',
Select_priv enum('N','Y') character set utf8 NOT NULL default 'N',
Insert_priv enum('N','Y') character set utf8 NOT NULL default 'N',
Update_priv enum('N','Y') character set utf8 NOT NULL default 'N',
Delete_priv enum('N','Y') character set utf8 NOT NULL default 'N',
Create_priv enum('N','Y') character set utf8 NOT NULL default 'N',
Drop_priv enum('N','Y') character set utf8 NOT NULL default 'N',
Reload_priv enum('N','Y') character set utf8 NOT NULL default 'N',
Shutdown_priv enum('N','Y') character set utf8 NOT NULL default 'N',
Process_priv enum('N','Y') character set utf8 NOT NULL default 'N',
File_priv enum('N','Y') character set utf8 NOT NULL default 'N',
Grant_priv enum('N','Y') character set utf8 NOT NULL default 'N',
References_priv enum('N','Y') character set utf8 NOT NULL default 'N',
Index_priv enum('N','Y') character set utf8 NOT NULL default 'N',
Alter_priv enum('N','Y') character set utf8 NOT NULL default 'N',
Show_db_priv enum('N','Y') character set utf8 NOT NULL default 'N',
Super_priv enum('N','Y') character set utf8 NOT NULL default 'N',
Create_tmp_table_priv enum('N','Y') character set utf8 NOT NULL default 'N',
Lock_tables_priv enum('N','Y') character set utf8 NOT NULL default 'N',
Execute_priv enum('N','Y') character set utf8 NOT NULL default 'N',
Repl_slave_priv enum('N','Y') character set utf8 NOT NULL default 'N',
Repl_client_priv enum('N','Y') character set utf8 NOT NULL default 'N',
Create_view_priv enum('N','Y') character set utf8 NOT NULL default 'N',
Show_view_priv enum('N','Y') character set utf8 NOT NULL default 'N',
Create_routine_priv enum('N','Y') character set utf8 NOT NULL default 'N',
Alter_routine_priv enum('N','Y') character set utf8 NOT NULL default 'N',
Create_user_priv enum('N','Y') character set utf8 NOT NULL default 'N',
ssl_type enum('','ANY','X509','SPECIFIED') character set utf8 NOT NULL default '',
ssl_cipher blob NOT NULL,
x509_issuer blob NOT NULL,
x509_subject blob NOT NULL,
max_questions int(11) unsigned NOT NULL default '0',
max_updates int(11) unsigned NOT NULL default '0',
max_connections int(11) unsigned NOT NULL default '0',
max_user_connections int(11) unsigned NOT NULL default '0',
PRIMARY KEY (Host,User)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Users and global privileges'; MySQL中的存储引擎: 1、存储引擎的概念 2、查看mysql所支持的存储引擎 3、MySQL中几种常用存储引擎的特点 4、存储引擎之间的相互转化 一、存储引擎 1、存储引擎其实就是如何实现存储数据,如何为存储的数据建立索引以及如何更新,查询数据等技术实现的方法。
2、MySQL中的数据用各种不同的技术存储在文件(或内存)中,这些技术中的每一种技术都使用不同的存储机制,索引技巧,锁定水平并且最终提供广泛的不同功能和能力。在MySQL中将这些不同的技术及配套的相关功能称为存储引擎。 二、MySQL 中查看引擎
1、show engines; // 查看mysql所支持的存储引擎,以及从中得到mysql默认的存储引擎。
2、show variables like '% storage_engine'; // 查看mysql 默认的存储引擎
3、show create table tablename ; // 查看具体某一个表所使用的存储引擎,这个默认存储引擎被修改了!
4、show table status from database where name="tablename"
//准确查看某个数据库中的某一表所使用的存储引擎
三、MySQL中常用的几种存储引擎:innoDB、myisam、memory、BlackHole以及这几个引擎的讲解
innoDB存储引擎
(1) innodb存储引擎的mysql表提供了事务,回滚以及系统崩溃修复能力和多版本迸发控制的事务的安全。
(2)innodb支持自增长列(auto_increment),自增长列的值不能为空,如果在使用的时候为空的话怎会进行自动存现有的值开始增值,如果有但是比现在的还大,则就保存这个值。
(3)innodb存储引擎支持外键(foreign key) ,外键所在的表称为子表而所依赖的表称为父表。
(4)innodb存储引擎最重要的是支持事务,以及事务相关联功能。
(5)innodb存储引擎支持mvcc的行级锁。
(6)innodb存储引擎索引使用的是B+Tree
mvcc类似于Java中的读锁具体介绍可以看这篇文章:http://blog.csdn.NET/chosen0ne/article/details/18093187 MyISAM存储引擎 1、MyISAM 这种存储引擎不支持事务,不支持行级锁,只支持并发插入的表锁,主要用于高负载的select。 2、MyISAM 类型的表支持三种不同的存储结构:静态型、动态型、压缩型。 (1)静态型:就是定义的表列的大小是固定(即不含有:xblob、xtext、varchar等长度可变的数据类型),这样mysql就会自动使用静态myisam格式。 使用静态格式的表的性能比较高,因为在维护和访问的时候以预定格式存储数据时需要的开销很低。但是这高性能是有空间换来的,因为在定义的时候是固定的,所以不管列中的值有多大,都会以最大值为准,占据了整个空间。 (2)动态型:如果列(即使只有一列)定义为动态的(xblob, xtext, varchar等数据类型),这时myisam就自动使用动态型,虽然动态型的表占用了比静态型表较少的空间,但带来了性能的降低,因为如果某个字段的内容发生改变则其位置很可能需要移动,这样就会导致碎片的产生。随着数据变化的怎多,碎片就会增加,数据访问性能就会相应的降低。 对于因为碎片的原因而降低数据访问性,有两种解决办法: @1、尽可能使用静态数据类型 @2、经常使用optimize table语句,他会整理表的碎片,恢复由于表的更新和删除导致的空间丢失。 (如果存储引擎不支持 optimize table 则可以转储并重新加载数据,这样也可以减少碎片) (3)压缩型:如果在这个数据库中创建的是在整个生命周期内只读的表,则这种情况就是用myisam的压缩型表来减少空间的占用。 3、MyISAM也是使用B+tree索引但是和Innodb的在具体实现上有些不同。 MEMORY存储引擎 (1)memory存储引擎相比前面的一些存储引擎,有点不一样,其使用存储在内从中的数据来创建表,而且所有的数据也都存储在内存中。 (2)每个基于memory存储引擎的表实际对应一个磁盘文件,该文件的文件名和表名是相同的,类型为.frm。该文件只存储表的结构,而其数据文件,都是存储在内存中,这样有利于对数据的快速处理,提高整个表的处理能力。 (3)memory存储引擎默认使用哈希(HASH)索引,其速度比使用B-+Tree型要快,如果读者希望使用B树型,则在创建的时候可以引用。 (4)memory存储引擎文件数据都存储在内存中,如果mysqld进程发生异常,重启或关闭机器这些数据都会消失。所以memory存储引擎中的表的生命周期很短,一般只使用一次。 BlackHole存储引擎(黑洞引擎) (1)支持事务,而且支持mvcc的行级锁,主要用于日志记录或同步归档,这个存储引擎除非有特别目的,否则不适合使用! 四、各存储引擎相互转化 1、alter table tablename engine = INnodb /MyISAM/Memory // 修改了这个表的存储引擎 优点:简单,而且适合所有的引擎。 缺点:(1)、这种转化方式需要大量的时间 和I/O,mysql要执行从旧表 到新表的一行一行的复制所以效率比较低 (2)、在转化这期间源表加了读锁 (3)、从一种引擎到另一种引擎做表转化,所有属于原始引擎的专用特性都会丢失,比如从innodb到 myisam 则 innodb的索引会丢失! 2、使用dump(转储) import(导入) 优点:使用mysqldump这个工具将修改的数据导出后会以 .sql 的文件保存,你可以对这个文件进行操作,所以你有更多更好的控制, 如修改表名,修改存储引擎等! 看看导出的一个表: 以上就是使用mysqldump 导出来的表 即 一个 .sql 文件 你可以按照需求编写这个文件,在将这个文件导入就ok! 3、第一种方式简便,第二种方式安全,这第三种方式就算是前两种方式的折中吧, create select: (1)、 create table newtable like oldtable; (2)、alter table newtable engine= innodb/ myisam / memory (3)、insert into newtable select * from oldtable; 如果数据量不大的话这种方式还是挺好的! 还有更高效的办法就是 增量填充,在填充完每个增量数据块之后提交一次事务,这样就不会导致撤销日志文件过大; (1)start transaction (2)insert into newtable select * from oldtable where id(主键) between x and y; (3) commit 这样等数据填充之后有了需要的新表,旧表也存在,不需要的haunt可以删除,很方便!

mysql安装及简单操作的更多相关文章

  1. MySQL安装和简单操作

    MySQL数据库安装与配置详解 MySQL的安装请参考下面这篇博客,讲述的非常详细,各种截图也很清晰.http://www.cnblogs.com/sshoub/p/4321640.html MySQ ...

  2. linux下MySQL安装登录及操作

    linux下MySQL安装登录及操作 二.安装Mysql 1.下载MySQL的安装文件 安装MySQL需要下面两个文件: MySQL-server-4.0.16-0.i386.rpm MySQL-cl ...

  3. 进击的Python【第十二章】:mysql介绍与简单操作,sqlachemy介绍与简单应用

    进击的Python[第十二章]:mysql介绍与简单操作,sqlachemy介绍与简单应用 一.数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数 ...

  4. 【ZooKeeper】ZooKeeper安装及简单操作

    ZooKeeper介绍 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一 ...

  5. Mysql安装和简单设置

    MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的.如果是msi格式的可以直接点击安装,按照它给出的安装提示进行安装(相信大家的英文可以看懂英文提示),一般MySQL将会安装在C:\P ...

  6. storm安装以及简单操作

    storm的安装比较简单,下面以storm的单节点为例说明storm的安装步骤. 1.storm的下载 进入storm的官方网站http://storm.apache.org/,点击download按 ...

  7. MySQL安装与初步操作

    MySQL是一款出色的中小型关系数据库,做Java Web开发时,要做到数据持久化存储,选择一款数据库软件自然必不可少. 由于MySQL社区版开元免费,功能比较强大,在此以MySQL为例,演示MySQ ...

  8. Python --链接MYSQL数据库与简单操作 含SSH链接

    项目是软硬件结合,在缺少设备的情况,需要通过接口来模拟实现与设备的交互,其中就需要通过从数据库读取商品的ID信息 出于安全考虑  现在很多数据库都不允许通过直接访问,大多数是通过SSH SSH : 数 ...

  9. RabbitMQ安装以及简单操作应用(针对Windows和C#)

    1.RabbitMQ安装 1.1下载并安装Erlang https://www.erlang.org/downloads 一直点next就安装好了.我直接使用了默认的安装目录.否则的话,应该需要配置一 ...

随机推荐

  1. CODING 敏捷看板全新上线,助力研发管理可视化升级

    在服务企业研发团队的过程中,我们发现不少团队碰到了类似的问题: 团队成员声称完成了自己的大部分任务,但团队实际交付的需求却寥寥无几? 由于某些问题导致工序一直处于等待状态,怎么识别和处理这些延迟? 成 ...

  2. MySQL基础-存储过程

    存储过程 定义:将一批为了完成特定功能的SQL语句集,根据传入的参数(也可没有),调用,完成单个sql语句更复杂的功能 存储过程思想很简单,就是SQL语句层面上的代码封装和重用 优点:1) 可封装,并 ...

  3. 研究STM32F4的IEEE1558 PTP网络时间同步协议实现,软件是RL-TCPnet V7.X的底层

    这个东西发现挺有意思,刚开始研究没整明白怎么用,实测设置一次时间戳就可以使用了,后面在深入研究下 extern ARM_DRIVER_ETH_MAC Driver_ETH_MAC0; ARM_ETH_ ...

  4. 用python爬虫简单爬取 笔趣网:类“起点网”的小说

    首先:文章用到的解析库介绍 BeautifulSoup: Beautiful Soup提供一些简单的.python式的函数用来处理导航.搜索.修改分析树等功能. 它是一个工具箱,通过解析文档为用户提供 ...

  5. LeetCode H2O 生成

    第1117题 现在有两种线程,氢 oxygen 和氧 hydrogen,你的目标是组织这两种线程来产生水分子. 存在一个屏障(barrier)使得每个线程必须等候直到一个完整水分子能够被产生出来. 氢 ...

  6. Jenkins使用SSH构建Go项目并执行

    目录 下载插件 配置要部署的服务器 构建项目 Jenkinx可以帮助我们通过SSH插件,将项目直接部署到指定的服务器. 下载插件 (1)点击左侧的"系统管理"菜单 ,然后点击 (2 ...

  7. Access the Security System in Code 在代码中访问安全系统

    This lesson will guide you through using the static SecuritySystem class to check whether or not a u ...

  8. Vue学习笔记Day2

    1.mustache语法 如何将data中的文本数据插入到HTML中? 通过使用mustache语法(也就是双大括号),将data中的变量名插入到HTML元素中,显示在页面上. 如下图:并且数据是响应 ...

  9. C lang: The Command line

    Ax_command line h Ax_a command line describe The command line is in enviroment for DOS,to user opera ...

  10. Maven简介与使用

    Maven介绍 Maven是项目管理工具,对软件项目提供构建与依赖管理 Mavan是Apache下的Java开源项目 Mavan为Java项目提供了统一的管理方式,已成为业界标准 Maven核心特性 ...