mysql的默认安装目录
linux:/var/lib/mysql/
windows: C:\Program Files\MySQL\
windows: C:\Program Files\MySQL\
mysql命令行历史记录文件
~/.mysql_history
在Linux下启动Mysql。
#/etc/init.d/mysql start
重启mysql服务
查看mysql运行状态
#/etc/init.d/mysql status
登录到mysql
Enter password:
-h是host的缩写,表示登录到哪一个mysql服务器,localhost是本地。
如果要登录到222.222.222.222的mysql服务器可以这样写:
Enter password:
显示mysql中所有的数据库
显示test数据库中所有的表
>use test;
>show tables;
>show tables;
用来设置客户端的字符集的,与服务器端的字符集无关
如果你用终端登录进mysql来查询包含中文的数据时,如果没法查到数据或中文为乱码,可以尝试设置这个来解决问题
set names gbk;
or
set names utf8; -- 不是utf-8
如果想查看当前的状态及编码可以使用
status
如果想知道MySQL数据库中每个表占用的空间、表记录的行数的话,可以打开MySQL的 information_schema 数据库。
在该库中有一个 TABLES 表,这个表主要字段分别是(我们关心的字段):
TABLE_SCHEMA:数据库名
TABLE_NAME:表名
ENGINE:所使用的存储引擎
TABLES_ROWS:记录数
DATA_LENGTH:数据大小
INDEX_LENGTH:索引大小
TABLE_NAME:表名
ENGINE:所使用的存储引擎
TABLES_ROWS:记录数
DATA_LENGTH:数据大小
INDEX_LENGTH:索引大小
查看表空间和索引大小
>SELECT TABLE_NAME,DATA_LENGTH,INDEX_LENGTH,TABLE_ROWS FROM TABLES WHERE TABLE_SCHEMA='数据库名' AND TABLE_NAME='表名';
删除一张表,并让自动增长的ID从1开始计算
>truncate table test_table;
执行一个.sql文件
>source file.sql
修改root账户密码
# mysqladmin -u root password newpassword
update user set password=PASSWORD('123456') where user='root';
flush privileges;
flush privileges;
SET PASSWORD FOR name=PASSWORD('new password');
解决客户端与MySQL服务器端的连接
方法零:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
方法一:
update user set host ='%'where user ='root'
方法二:
GRANT SELECT,INSERT,UPDATE,DELETE ON dbname.* TO root@192.168.1.222 identified by 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
方法一:
update user set host ='%'where user ='root'
方法二:
GRANT SELECT,INSERT,UPDATE,DELETE ON dbname.* TO root@192.168.1.222 identified by 'password';
查看mysql使用的端口:
mysql> show variables like'port';