MySQL安装和基本使用
安装方式可以选择:
- 源码编译:手动指定各种编译参数,生产推荐使用
- 二进制:解压并简单配置即可使用
初始化脚本提高安全性
mysql_secure_installation
- 设置数据库管理员 root 口令
- 禁止 root 远程登录
- 删除 anonymous 用户帐号
- 删除 test 数据库
MySQL 组成
1. 客户端程序
- mysql:交互式 CLI 工具
- mysqldump:备份工具,基于 mysql 协议向 mysqld 发起查询请求,并将查询得到的所有数据转换成 insert 等写操作语句保存在文本文件中
- mysqladmin:基于 mysql 协议管理 mysqld
- mysqlimport:数据导入工具
MyISAM 存储引擎管理工具:
- myisamchk:检查 MyISAM 库
- myisampack:打包 MyISAM 表,只读
msyql 运行命令类型
mysql 客户端可以运行两种命令:客户端命令和服务端命令
客户端命令:本地执行,每个命令都有完整形式和简写形式
1
2
3
4mysql> \h, help
mysql> \u,use
mysql> \s,status
mysql> \!,system服务端命令:通过 mysql 协议发往服务器执行并取回结果,命令末尾都必须使用命令结束符号,默认为分号
1
mysql>SELECT VERSION();
mysql 使用模式
mysql 客户端有两种使用模式:交互模式和脚本模式
交互模式
1
2
3[root@4710419222 test]# mysql -uUserName -pPassWord
# 或使用 -e 参数
[root@4710419222 test]# mysql -uUserName -pPassWord -e "sql command"脚本模式
1
2
3
4
5# 将sql语句写入文件
[root@4710419222 test]# mysql -uUserName -pPassWord < test.sql
# 在交互模式下,使用source也可以调用文件,执行文件中的sql语句
[root@4710419222 test]# mysql -uUserName -pPassWord
MySQL [(none)]> source ~/test/test.sql
mysql 命令
1 | mysql [OPTIONS] [database] |
常用 OPTIONS:
- -A, –no-auto-rehash 禁止补全
- -u, –user= 用户名,默认为 root
- -h, –host= 服务器主机,默认为 localhost
- -p, –passowrd= 用户密码,建议使用-p,默认为空密码
- -P, –port= 服务器端口
- -S, –socket= 指定连接 socket 文件路径
- -D, –database= 指定默认数据库
- -C, –compress 启用压缩
- -e “SQL“ 执行 SQL 命令
- -V, –version 显示版本
- -v –verbose 显示详细信息
- –print-defaults 获取程序默认使用的配置
2. 服务端程序
- mysqld_safe:
- mysqld:
- mysqld_multi:多实例,示例:mysqld_multi –example
服务端配置
三种配置方式:1. 启动时配置命令行选项; 2. 配置文件;3. set 变量
配置文件:
- /etc/my.cnf # 全局配置
- /etc/mysql/my.cnf # 全局配置
- ~/.my.cnf # 个人配置
配置文件格式:
1 | [mysqld] |
服务器监听两种 socket 地址:
ip socket: 监听在 tcp 的 3306 端口,支持远程通信 ,侦听 3306/tcp 端口可以在绑定有一个或全部接口 IP 上
unix sock: 监听在 sock 文件上,仅支持本机通信, 如:/var/lib/mysql/mysql.sock)
说明:host 为 localhost 时自动使用 unix sock
3. 用户账号
mysql 用户账号由两部分组成:username@host
host:支持通配符,% 匹配任意长度任意字符,_ 匹配任意单个字符
172.16.0.0/255.255.0.0 等于 172.16.%.%