mysql的基础知识!

MySQL

Start Time:2014-10-31

1.yum安装mysql的几个重要的目录

/var/lib/mysql                       #数据目录

/usr/share/mysql                     #配置文件

/usr/bin/                            #相关命令

/etc/rc.d/init.d/                    #启动脚本

/etc/my.cnf                          #mysql配置文件

/var/log/mysqld.log                  #mysql日志文件

2.用户管理

默认安装的mysql没有密码

mysql直接登录

mysqladmin -u root password '密码'                                         #设置mysql密码

mysqladmin -uroot -p密码 password 新密码

mysql> update mysql.user set password=PASSWORD("123@qw") where user='root';#更改mysql密码

mysql> flush privileges;                                                   #使生效


create user 用户名 identified by 'password';                               #创建用户

drop user 用户名;                                                          #删除用户

rename user 用户名 to 新用户名;                                            #更改用户名

set password = PASSWORD('password');                                       #更改密码

set password for 用户名 = PASSWORD('password');                            #更改用户密码

权限管理

注:检查用户是否能够连接,检查用户是否有执行权限

grant授权  revoke撤销

层级:全局层级/数据库层级/表层级/列层级/子程序层级

grant all privileges on 层级 to '用户'@'主机' identified by 'password';

revoke al privileges from 用户名;

MySQL连接认证

ALL host:%

Host:www.domain.com/192.168.1.1

*:*.domain.com

Hosts:192.168.1.0/255.255.255.0


mysql> update mysql.user set host='192.168.0.0/255.255.255.0' where user='renke';



##############################################


3.数据库编码

编码影响:

数据库保存内容占空间大小

数据库与客户端通信

MySQL默认的编码是Latin1

mysql> show character set;                                #查看数据库支持的编码

mysql> show variables like 'collation_set%';

mysql> show variables like 'character%';                  #查看数据库编码,默认是拉丁

+--------------------------+----------------------------+

| Variable_name            | Value                      |

+--------------------------+----------------------------+

| character_set_client     | latin1                     | #客户端编码

| character_set_connection | latin1                     | #建立连接使用的编码

| character_set_database   | utf8                       | #数据库编码

| character_set_filesystem | binary                     |

| character_set_results    | latin1                     | #结果集编码

| character_set_server     | utf8                       | #数据库服务器编码

| character_set_system     | utf8                       |

| character_sets_dir       | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------

注:上述四个保持一致编码方式,就不会出现乱码

mysql> show variables like 'collation%';                  #另一种查看编码的命令(修改过了)

+----------------------+-----------------+

| Variable_name        | Value           |

+----------------------+-----------------+

| collation_connection | utf8_general_ci |

| collation_database   | utf8_general_ci |

| collation_server     | utf8_general_ci |

+----------------------+-----------------+


create dateabase dbname

default character set utf8

default collate utf8_general_ci;                          #创建数据库时,可以指定数据库编码

alter database dbname

character set utf8 collate utf8_general_ci;               #修改数据库编码

/etc/my.cnf

添加

[mysqld]下面添加

default-character-set=utf8

[client]

default-character-set=utf8

重启动mysql服务即可

4.mysql基本命令

show databases;                                           #查看数据库

show tables;                                              #查看数据表

create database 数据库名;

drop database 数据库名;


insert into 数据库.表 values (1,'zhangsan');

select * from 数据库.表;

select 列名 from 数据库.表;

select distinct 列名 from 数据库.表名;                    #distinct删除重复项

select * from 表名 where 条件1 and 条件2;

select * from 表名 where 条件1 or tia

select * from 表名 order by 列名;                         #排序

select * from 表名 order by 列名 desc;                    #排序(倒序)


alter table 表名 rename 新表名;                          #重命名表名

alter table 表名 add 新列 varchar(100);                  #表中添加一列

alter table 表名 drop column 列名;                       #删除一列

alter table 表名 modify 表名 varchar(100);               #修改一个列的数据类型

alter table 表名 change column 列名 新列名 varchar(100); #重命名列名


delete * from 表名;                                      #删除表中所有记录

delete from 表名 where 条件;


update 表名 set 列表名=新值 where 列=值;#更新语句


5.mysql备份

mysqldump -uroot -p123@qw 数据库 > backup.sql            #备份数据库

mysql -uroot -p123@qw 数据库 < backup.sql#还原数据库

注:使用source也可以导入数据库

mysqldump -uroot -p123@qw 数据库 > /Backup/database-`date +%F-%H-%M-%S`.sql

mysqldump -uroot -p123@qw 数据库 > /Backup/database-$(date +%F-%H-%M-%S).sql

mysqldump -uroot -p123@qw 数据库 表1 表2 > 表.sql        #备份数据库表

mysql -uroot -p123@qw 数据库 < 表.sql                    #还原数据库表


mysqldump -uroot -p123@qw 数据库 | gzip > /Backup/dateabase-`date +%F-%H-%M-%S`.sql.gz  

                                                         #备份压缩数据库

gunzip < BACK.sql.gz | mysql -uroot -p123@qw 数据库      #还原压缩数据库

6.

mysql -uroot -p123@qw -S /var/lib/mysql/mysql.sock -e "show databases"                                                                              #-S or --sock=


你可能感兴趣的:(mysql,update,配置文件,基础知识,password)