mysql - QLGQ/learning-python GitHub Wiki
mysql安装
通过apt-get安装
- sudo apt-get update
- sudo apt-get upgrade
- sudo apt-get install MySQL-server
- sudo apt-get install mysql-client
- sudo apt-get install libmysqlclient-dev
通过tar.gz安装
- 在官网下载对应的安装包
- 解压安装
此方法较复杂,有待研究!
mysqldb安装
通过apt-get安装
- sudo apt-get install python-mysqldb
mysqldb为python的mysql数据库接口!
通过tar.gz安装
- 在官网下载对应的安装包
- 解压安装
- 进入目录下
- python setup.py build
- python setup.py install
mysql创建远程用户并授权
创建用户
命令:CREATE USER 'username'@'host' IDENTIFIED by 'password'
。
说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%.
password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器.
例子如下:
CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '';
CREATE USER 'pig'@'%';
授权
命令:GRANT privileges ON databasename.tablename TO 'username'@'host'
。
说明:privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等.如果要授予所的权限则使用ALL.;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*.
例子如下:
GRANT SELECT, INSERT ON test.user TO 'pig'@'%';
GRANT ALL ON *.* TO 'pig'@'%';
用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
。
取消某个用户的权限,可以使用REVOKE语句。该语句的语法格式如下:
Revoke privileges (columns) on what from user ;
。例如 revoke all on . from sss@localhost ; 实现了取消sss用户的所有权限的功能。
使操作生效
命令:flush privileges
。
说明: 把缓存flush掉.在修改用户记录后,需要FLUSH语句告诉服务器重载授权表.
如果还是access deny,则有可能是mysql配置文件出现了问题,大多数情况下问题可能是:bind-address = 127.0.0.1
。也即mysql默认绑定了本地ip,不接受其他来源;注释掉,重启mysql即可解决该问题带来的影响。
其他
- 修改指定用户密码:
update mysql.user set password=password('新密码') where User="test" and Host="localhost";
- 删除用户:
delete from user where User='test' and Host='localhost';
- 删除用户:
DROP USER 'username'@'host';