1、mysql介绍
1.1 mysql和Mariadb
(1)官方地址
)2)官方文档
1.2 Mariadb的特性
)1)插件存储引擎:也称为“表类型”,存储管理器有多个实现版本,功能和特性可能略有不同。 用户可以根据需要灵活选择,mysql5.5.5到innoDB引擎是mysql的默认引擎
myisam艾莉亚
InnoDB XtraDB
)2)单进程、多线程
)3)许多扩展和新特性
)4)提供了很多测试组件
)5)开源
2、mysql的安装
2.1 Mysql、Mariadb安装方式
(1)源代码)编译安装
)2)二进制格式的软件包)部署到特定路径,易于配置和使用
)3) rpm包的安装
CentOS安装光盘
2.2在rpm软件包中安装Mysql
CentOS 7:
yum install mariadb-server -y
CentOS 6:
yum install mysql-server -y
提高安全性:
mysql_secure_installation #执行脚本
企业密码转发(企业) :
设置根密码? [Y/n] #设置数据库管理员的根密码
移除匿名用户? [Y/n] #删除匿名anonymous用户帐户
Disallow root login remotely? [Y/n] #禁止根远程登录
removetestdatabaseandaccesstoit? [ y/n ] #删除test数据库
加载权限表now? [Y/n] #重新加载(启用)特权表() ) ) ) ) ) ) ) )。
3、mysql的初始使用
3.1 mysql程序
(1)客户端程序:
mysql :交互式CLI工具
mysqldump—一种备份工具,用于根据mysqld协议向mysqld发出查询请求,并将所有检测到的数据转换为写入语句(如insert )并保存到文本文件中
mysqld admin :基于MySQL协议管理mysqld
MySQL导入:数据导入工具
)2) MyISAM存储弓|引擎管理工具:
myisamchk :检查myisam库,包装myisam表,只读
(3)服务器端程序:
mysqld_safe
mysqld
mysqld_multi :多个实例,例如mysqld_multi --example
3.2用户帐户
mysql用户帐户由两部分组成:“用户名称”@“主机”
HOST限制此用户可以连接到mysql服务器的远程主机,并支持使用通配符。
%与任意长度的任意字符匹配
例: 172.16.0.0/255.255.0.0等效于172.16.%.%
_匹配任意一个字符
3.3 mysql的基本使用
(1) mysql使用模式:
交互式模式:
可执行的命令有两种。
客户端命令:
h,help
u,use
s,status
!系统
服务器端命令:
SQL,需要结尾符号;
脚本模式:
1 MySQL-username-ppassword/path/some file.SQL2MySQL source/path/from/some file.SQL
)2) mysql客户端可用选项:
1-a#tab禁止增补
2 -u #用户名,默认为根
3 -h #服务器主机,默认为localhost
建议使用4 -p #用户密码、-p。 默认值为空密码
5 -P #服务器端口
指定6 -S #连接套接字文件的路径。 默认路径为/var/lib/mysql/mysql.sock
7 -D #指定默认数据库
启用8 -C #压缩
执行9-e#SQL命令
11 -V #显示版本
显示12 -v #详细信息
13--打印-默认#获取程序默认使用的配置
服务器接收的两种类型的套接字地址:
IP套接字:在TCP的330处监听
6 端口,支持远程通信unix sock:监听在 sock 文件上,仅支持本机通信
如: /var/lib/mysql/mysql.sock
说明:host 为 localhost,127.0.0.1 时自动使用 unix sock
(3)执行命令
运行 mysql 命令:默认空密码登录
[root@centos7 ~]# mysql
······MariaDB [(none)]>use mysql
Reading table informationforcompletion of table and column names
You can turn off this feature to get a quicker startup with-A
Database changed
MariaDB [mysql]> selectuser();+----------------+
| user() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00sec)
MariaDB [mysql]> selectuser,host,password from user;+------+---------------------+----------+
| user | host | password |
+------+---------------------+----------+
| root | localhost | |
| root | centos7.localdomain | |
| root | 127.0.0.1 | |
| root | ::1 | |
| | localhost | |
| | centos7.localdomain | |
+------+---------------------+----------+
6 rows in set (0.00sec)
MariaDB [mysql]>quit
Bye
[root@centos7~]#
登录系统:
[root@centos7 ~]# mysql -uroot -p
Enter password:
客户端命令:本地执行,每个命令都有完整形式和简写格式
MariaDB [(none)]> help
MariaDB [(none)]> h
MariaDB [(none)]> status
MariaDB [(none)]> s
服务端命令: 通过 mysql 协议发往服务器执行并取回结果,每个命令都必须命令结束符号; 默认为分号。
MariaDB [(none)]> select version();
4、mysql 配置
4.1 mysql 服务端配置
服务器端(mysqld):工作特性有多种配置方式
(1)命令行选项
(2)配置文件:类 ini 格式
集中式的配置,能够为 mysql 的各应用程序提供配置信息,格式:parameter = value
[mysqld]
[mysqld_safe]
[mysqld_multi]
[mysql]
[mysqldump]
[server]
[client]
说明:
_ 和 - 相同;
0、OFF、FALSE意义相同;
1、ON、TRUE意义相同。
4.2 配置文件
配置文件后面的配置文件覆盖前面的配置文件,顺序如下:
/etc/my.cnf Global选项
/etc/mysql/my.cnf Global全局选项
SYSCONFDIR/my.cnf Global选项
$MYSQL_HOME/my.cnf Server-specific选项
--defaults-extra-file=path
~/.my.cnf User-specific选项
获取可用参数列表:
mysqld --help -verbose
mysqld --print-defaults # 获取默认设置
侦听 3306/tcp 端口可以在绑定有一个或全部接口 IP 上
vim /etc/my.cnf
[mysqld]
skip-networking=1 # 关闭网络连接,只侦听本地客户端,所有和服务器的交互都通过一个socket实现 , socket 的配置存放在/var/lib/mysql/mysql.sock可在/etc/my.cnf修改