MySQL单表大约在2千万条记录(4G)下能够良好运行,经过数据库的优化后5千万条记录(10G)下运行良好
一、启动与退出
启动MySQL
net start mysql
1、进入MySQL:
mysql -h 127.0.0.1 -u root -p
再输入密码就可以了。
2、退出MySQL:quit或exit

二、库操作
1、创建数据库
命令:create database <数据库名>,例如建立一个名为testdb的数据库
mysql> CREATE DATABASE testdb;
2、显示所有的数据库
mysql> SHOW DATABASES;
3、删除数据库
mysql> DROP DATABASE testdb;
4、选择数据库
mysql> USE testdb;
屏幕提示:Database changed
5、查看当前使用的数据库
mysql> SELECT database();
6、当前数据库包含的表信息:
mysql> SHOW TABLES;
7、查看服务器状态
SHOW STATUS;
8、显示服务器的错误告警信息
SHOW ERRORS;
SHOW WARNINGS;
9、linux下mysql设置大小写不敏感
9.1、linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写;
9.2、用root帐号登录后,在/etc/my.cnf 中的[mysqld]后添加添加
lower_case_table_names=1

三、用户和权限管理
1、用户
用户信息表:mysql.user
– 刷新权限
FLUSH PRIVILEGES
– 增加用户
CREATE USER 用户名 IDENTIFIED BY [PASSWORD] 密码(字符串)
– 重命名用户
RENAME USER old_user TO new_user
– 设置密码
SET PASSWORD = PASSWORD(‘密码’) – 为当前用户设置密码
SET PASSWORD FOR 用户名 = PASSWORD(‘密码’) – 为指定用户设置密码
– 删除用户
DROP USER 用户名
2、权限
– 分配权限/添加用户
GRANT 权限列表 ON 表名 TO 用户名 [IDENTIFIED BY [PASSWORD] ‘password’]
- all privileges 表示所有权限
- . 表示所有库的所有表
- 库名.表名 表示某库下面的某表
– 查看权限
SHOW GRANTS FOR 用户名
– 查看当前用户权限
SHOW GRANTS; 或 SHOW GRANTS FOR CURRENT_USER; 或 SHOW GRANTS FOR CURRENT_USER();
– 撤消权限
REVOKE 权限列表 ON 表名 FROM 用户名
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 用户名 – 撤销所有权限

四、优化
1、慢查询分析
1.1、开启慢查询日志
可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能。
1.2、进入MySql 查询是否开了慢查询
show variables like ‘slow_query%’;
1.3、查看慢查询超时时间
show variables like ‘long%’;
1.4、通过MySQL命令查看有多少慢查询
show global status like ‘%Slow_queries%’;

2、日志分析工具mysqldumpslow
在生产环境中,如果要手工分析日志,查找、分析SQL,显然是个体力活,MySQL提供了日志分析工具mysqldumpslow
2.1、MySQL 慢查询日志分析
show variables like ‘%slow%’;
其中,各参数说明如下:
slow_launch_time: 慢查询超过的执行时间值
slow_query_log: 是否打开慢查询日志功能
show_query_log_file:慢查询日志目录

五、mysql去掉字段空格
msyql有去掉两边trim,左侧ltrim,右侧rtrim的函数可以直接用

update 表名 set 字段名=ltrim(字段名)
有时候不顶事可以用下面解决,去掉空格

update sptcs_warrior set ID_number=replace(ID_number,‘’,‘’)
如果excel导表不小心产生了空格

update 表名 set 字段名= replace(replace(replace(字段名,char(9),‘’),char(10),‘’),char(13),‘’);
trim是mysql内置函数,可以去除字段首位空格
replace 内置函数,去除指定字符
char(9):水平制表符 (tab键 或者 \t)
char(10):换行键 (\n)
char(13):回车键 (Enter键)