MySQL - 四
引用自MySQL经典教程
上节补充
建立启动MySQL的账户
1)建立账户 mysql
- adduser mysql
2)修改全局选项文件,使守护程序以规定的用户运行
- 修改 /etc/my.cnf
[mysql.server]user=mysql #add this linebasedir=/usr/local/mysql
初始化授权表
- su mysql
- mysql_install_db
更改root用户的密码
- mysqladmin -u root password 'newpwd'
证实服务器在运行
- mysqladmin version
- mysqladmin variables
测试客户端连接
- mysql
MySQL创建用户
- CREATE USER 'username'@'host' IDENTIFIED BY 'password' - host 指定用户在哪个主机上可以登录,或用本地用户localhost
授权
- GRANT privileges ON databasesname.tablename TO 'username'@'host'
- host - 主机名,通配符%表示任意远程主机
- privileges - 用户的操作权限,如SELECT,INSERT,UPDATE等,所用权限ALL
- databasename - 数据库名
- tablename - 表名
- 如果授予该用户对所有数据库和表的相应操作全新啊可用表示 - GRANT ALL ON .* TO 'pig'@'%'
- 该用户可授权 - GRANT privileges ON databasesname.tablename TO 'username'@'host' WITH GRANT OPTION;
设置与更改用户密码
- SET PASSWORD FOR 'username'@'host' = PASSWORD("NEWPASSWORD");
- 当前用户 - SET PASSWORD = PASSWORD("newpassword");
撤销用户权限
- REVOKE privilege ON databasename .tablename FORM 'username'@'host'
删除用户
- DROP USER 'username'@'host'
一、MySQL的启动和终止
1)使用脚本 mysql.server启动关闭数据库
1.mysql.server脚本存放位置
- MySQL安装目录下的 share/mysqld/
- MySQL源码分发下的 support_files/
- rpm 分发,此脚本改为 mysqld 位于 /etc/rc.d/init.d/
2.启动停止服务器
- 关闭 - mysqladmin shutdown
- 重启 - mysqladmin reload
- 获得帮助 - mysqladmin -help
如果出现下面错误
mysqladmin:connect to server at 'localhost' failed error:'Access denied for user:'root@localhost'(Using password:YES)' 表示需要一个可以长长连接的用户,指定 -u -p,如: mysqladmin -u root -p shutdown
3.使用选项文件提供服务器的参数
对于全局选项文件 (windows:/my.cnf 或者 unix:/etc/my.cnf),重要的选项:
- user - 运行守护程序的用户
- log-update=file - 更新日志名,对于恢复数据库有重要意义,将生成file.n为名的更新日志文件
- -l,--log[=file] - 指定使用的二进制日志文件,应用于服务器复制
- -Sg,--skip-grant-tables - 启动服务器使用的Unix账户
- --socket=... - 指定是用的Unix套接字文件名,在同时运行多个服务器时使用
- -P,--port=... - 指定服务器使用的端口,在同时运行多个服务器时使用
2)MySQL与客户机的连接
1.建立和终止与服务器的连接
- 连接到服务器 - mysql
- 连接到服务器的某个具体数据库 - mysql db_name
- 连接到其他主机的服务器 - mysql -h host -u user -p
- 结束会话 - quit,exit,C-d
2.配置登录文件简化连接
- 全局选项文件贮存参数
[client]user=root
3)批处理模式连接
# 普通模式$ mysql < batch-file# 参数模式$ mysql -h host -u user -p < batch-file
为何要使用一个脚本
- 重复的运行很方便
- 能通过类似的已有脚本拷贝出新查询
- 对于多行命令或多行语句序列开发查询很有用
- 如果有一个产生很多输出的查询,可以使用分页器 - mysql < batch-file | more
- 可以捕捉输出到一个文件 - mysql < batch-file > mysqlout
- 可以分享脚本
当希望在批模式中得到交互的输出格式,使用 mysql -t
为了回显以输出被执行的命令,使用 mysql -vvv