1.1 Mysql服务的起停
Linux下启动mysql的命令:
mysqladmin start
/etc/init.d/mysql start (前面为mysql的安装路径)
Linux下重启mysql的命令:
mysqladmin restart
/etc/init.d/mysql restart (前面为mysql的安装路径)
Linux下关闭mysql的命令:
mysqladmin shutdown
/etc/init.d/mysql shutdown (前面为mysql的安装路径)
1.2 登录MYSQL
语法如下: mysql -u用户名 -p用户密码
键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是:
mysql>
注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP
1.3 创建用户并授权
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"
如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数 据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:
grantselect,insert,update,delete on *.* to user1@localhost Identified by"password1";
如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。
如果你不想user1有密码,可以再打一个命令将密码去掉。
grant select,insert,update,delete on mydb.*to user1@localhost identified by "";
或者
create user 'wordpress'@'%' identified by 'wordpress';
//授权'wordpress'用户拥有phplamp数据库的所有权限。
>grant all privileges on phplampDB.* to 'wordpress'@"%" identified by '1234';
//如果想在本地登录还需要:
grant all privileges on phplampDB.* to 'wordpress'@"localhost" identified by '1234';
这样就创建了一个名为:'wordpress'密码为:'wordpress'的用户。
1.4 创建数据库
首先为用户创建一个数据库(phplampDB)
create database phplampDB;
创建库时指定字符集:
GBK: create database test2 DEFAULT CHARACTER SET gbk COLLATEgbk_chinese_ci;
UTF8: CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATEutf8_bin
1.5 删除用户。
mysql>DELETE FROM user WHERE User="phplamp" and Host="localhost";
mysql>flush privileges;
或者
drop user user1@localhost;
1.6 删除数据库或者表
drop database phplampDB;
drop table 数据表名;
1.7 清空表
mysql>delete from MYTABLE;
1.8 修改指定用户密码。
update mysql.user set password=password('新密码’) where User="phplamp" and Host="localhost";
mysql>flush privileges;
1.9 列出所有数据库
mysql>show databases;
1.10 切换数据库
mysql>use '数据库名';
1.11 列出所有表
mysql>show tables;
1.12 显示数据表结构
mysql>describe 表名;
1.13 查看表的comment
1.13 8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;
1.14 导入.sql文件命令(例如D:/mysql.sql)
mysql>source d:/mysql.sql;
1.15 备份MySQL数据库的命令
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql
1.16 查看MySQL连接数和状态
1.17 查看MySQL版本
- linux下执行mysql -v
- 登录到mysql执行status
命令: show processlist;
如果是root帐号,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接。
show processlist;只列出前100条,如果想全列出请使用show full processlist;
mysql> show processlist;
命令: show status;
命令:show status like '%下面变量%';
Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。
Aborted_connects 尝试已经失败的MySQL服务器的连接的次数。
Connections 试图连接MySQL服务器的次数。
Created_tmp_tables 当执行语句时,已经被创造了的隐含临时表的数量。
Delayed_insert_threads 正在使用的延迟插入处理器线程的数量。
Delayed_writes 用INSERT DELAYED写入的行数。
Delayed_errors 用INSERT DELAYED写入的发生某些错误(可能重复键值)的行数。
Flush_commands 执行FLUSH命令的次数。
Handler_delete 请求从一张表中删除行的次数。
Handler_read_first 请求读入表中第一行的次数。
Handler_read_key 请求数字基于键读行。
Handler_read_next 请求读入基于一个键的一行的次数。
Handler_read_rnd 请求读入基于一个固定位置的一行的次数。
Handler_update 请求更新表中一行的次数。
Handler_write 请求向表中插入一行的次数。
Key_blocks_used 用于关键字缓存的块的数量。
Key_read_requests 请求从缓存读入一个键值的次数。
Key_reads 从磁盘物理读入一个键值的次数。
Key_write_requests 请求将一个关键字块写入缓存次数。
Key_writes 将一个键值块物理写入磁盘的次数。
Max_used_connections 同时使用的连接的最大数目。
Not_flushed_key_blocks 在键缓存中已经改变但是还没被清空到磁盘上的键块。
Not_flushed_delayed_rows 在INSERT DELAY队列中等待写入的行的数量。
Open_tables 打开表的数量。
Open_files 打开文件的数量。
Open_streams 打开流的数量(主要用于日志记载)
Opened_tables 已经打开的表的数量。
Questions 发往服务器的查询的数量。
Slow_queries 要花超过long_query_time时间的查询数量。
Threads_connected 当前打开的连接的数量。
Threads_running 不在睡眠的线程数量。
Uptime 服务器工作了多少秒。