mysql開發經常使用SQL

建立數據庫

CREATE DATABASE IF NOT EXISTS $database DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
CREATE DATABASE $database DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

建立用戶並提供相應權限php

只是建立用戶

CREATE USER phpergao@'localhost' IDENTIFIED BY 'yourpasswd';

賦予權限

GRANT select,update on phpergao.* to phpergao@'localhost';
GRANT index ON phpergao.* TO phpergao@'192.168.0.%';

建立用戶並賦予權限

GRANT ALL PRIVILEGES ON phpergao.* TO 'phpergao'@'localhost' IDENTIFIED BY 'yourpasswd';

相反的revoke 跟 grant 的語法差很少,只須要把關鍵字 「to」 換成 「from」 便可:mysql

REVOKE ALL PRIVILEGES ON phpergao.* FROM 'phpergao'@'localhost';

ALL PRIVILEGES 能夠換爲 select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file 等14個權限。sql

刪除用戶

DELETE FROM user WHERE User='phpergao' and Host='localhost';

修改用戶密碼

UPDATE USER SET PASSWORD = PASSWORD ('newpasswd') WHERE USER = 'phpergao' AND HOST = 'localhost';

刷新權限:數據庫

FLUSH PRIVILEGES;

查看用戶權限

查看本身的權限:socket

SHOW GRANTS;

查看其餘人的權限:rest

SHOW GRANTS FOR 'phpergao'@'%';

新建數據表

DROP TABLE IF EXISTS `workers_info`;  
CREATE TABLE `workers_info` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `workername` varchar(20) NOT NULL,
  `sex` enum('F','M','S') DEFAULT 'S',
  `salary` int(11) DEFAULT '0',
  `email` varchar(30) DEFAULT NULL,
  `EmployedDates` date DEFAULT NULL,
  `department` varchar(30) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

忘記了mysql密碼

修改配置文件code

[mysqld] 
datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock

ADD:blog

skip-name-resolve 
skip-grant-tables`

而後重啓MySQL服務並免密碼登陸ip

service mysqld restart
mysql

執行修改密碼SQL:將root用戶的密碼統一設爲'admin'ci

UPDATE mysql.user SET Password=password('123456') WHERE User='root';

還原MySQL配置文件並重啓服務

修改用戶登陸HOST:

UPDATE mysql.user SET Host='&' WHERE User='root';

參考

http://renxiangzyq.iteye.com/blog/763837

相關文章
相關標籤/搜索