【MySQL数据库管理】
cd c:\dev\mysql-5.0.51a-win32\bin
●安装服务:
mysqld --install
#指定服务名并且指定配置文件
mysqld --install MySQL5 --defaults-file=D:\mysql5-vod\bin\my.ini
●删除服务:
mysqld --remove MySQL5
●连接数据库:
mysql -u user -p
回车输入密码
如果不是本地数据库,用-h参数指定主机地址
如果不是默认端口3306,用-P参数指定端口
如果该用户没有密码,不需要-p参数
●在控制台上启动数据库:
mysqld --console
●启动时指定配置文件:
mysqld --defaults-file=D:\dev\mysql-5.0.51a-win32\my.ini
●关闭数据库:
mysqladmin -u root shutdown -p
●命令行启动服务:
net start MySQL
●命令行停止服务:
net stop MySQL
●创建用户:
GRANT ALL PRIVILEGES ON *.* TO 'ask'@'%' IDENTIFIED BY 'ask' WITH GRANT OPTION;
SET PASSWORD FOR 'ask'@'%' = OLD_PASSWORD('ask');
GRANT ALL PRIVILEGES ON *.* TO 'ask'@'localhost' IDENTIFIED BY 'ask' WITH GRANT OPTION;
SET PASSWORD FOR 'ask'@'localhost' = OLD_PASSWORD('ask');
注意:%的用户不能用在localhost
●删除用户
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'username'@'host';
DROP USER 'username'@'host';
●创建数据库:
create database base CHARACTER SET utf8;
●执行sql脚本:
source F:/sodoperation-20080416-0948.sql
●导出数据库:
mysqldump -h localhost -B base -u root >d:/base.sql -p
●导入数据库:
mysql -u root base<d:/base.sql -p
●查看版本:
SELECT VERSION();
●性能监测:
SHOW STATUS like'Max%'
SHOW VARIABLES like'Max%'
●测试:
mysqlshow
mysqlshow -u root mysql -p
●生成特定脚本:
-- 从数据库中提取出当前的科目映射情况
-- 此脚本需用如下方式进入 mysql 后再执行: mysql -u base -pbase --skip-column-names --silent
use base;
set character_set_client=utf8;
set character_set_connection=utf8;
tee D:/update_account_reforming.sql;
select _gbk'-- 这个脚本能够直接设定某个税案中的科目重整结果';
select _gbk'-- 运行前需根据实际税案的 case_id 修改脚本中对 @CASE_ID 的设定';
notee;
SET @SRC_CASE_ID=101;
SET @DEST_CASE_ID=101;
tee D:/update_account_reforming.sql;
select _gbk'-- 威海市量具厂有限公司 2003';
select concat('SET @CASE_ID=', @DEST_CASE_ID, ';');
select concat('UPDATE audit_account SET standardaccount_code=''', standardaccount_code, ''' WHERE account_code=''', account_code, ''' AND case_id=@CASE_ID;') from audit_account where case_id=@SRC_CASE_ID order by account_code;
select 'COMMIT;';
notee;
=========================================常见SQL===========================================
//返回date_col在最近30天内的记录
SELECT something FROM tbl_name WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;