mysql 安装和基本使用

1、mysql 介绍

1.1 mysql 和 Mariadb

(1)官方地址

  https://www.mysql.com/

  https://mariadb.org/

(2)官方文档

  https://dev.mysql.com/doc/

  https://mariadb.com/kb/en/

1.2 Mariadb 的特性

(1)插件式存储引擎:也称为 “表类型”,存储管理器有多种实现版本,功能和特性可能均略有差别;用户可根据需要灵活选择,mysql5.5.5 开始 innoDB 引擎是 mysql 默认引擎

  MyISAM → Aria

  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                       # 执行脚本
Enter current password for root (enter for none):
Set root password? [Y/n]                        # 设置数据库管理员root口令
Remove anonymous users? [Y/n]                   # 删除匿名anonymous用户帐号
Disallow root login remotely? [Y/n]             # 禁止root远程登录
Remove test database and access to it? [Y/n]    # 删除test数据库
Reload privilege tables now? [Y/n]              # 重新加载特权表(使生效)

3、mysql 初使用

 3.1 mysql 程序

(1)客户端程序:

  mysql:交互式的CLI工具

  mysqldump:备份工具,基于 mysql 协议向 mysqld 发起查询请求,并将查得的所有数据转换成 insert 等写操作语句保存文本文件中

  mysqladmin:基于 mysql 协议管理 mysqld

  mysqlimport:数据导入工具

(2)MyISAM 存储弓|擎的管理工具:

  myisamchk:检查 MyISAM 库,打包 MyISAM 表,只读

(3)服务器端程序:

  mysqld_safe

  mysqld

  mysqld_multi:多实例,示例:mysqld_multi --example

3.2 用户账号

mysql 用户账号由两部分组成:'USERNAME'@'HOST'

  HOST 限制此用户可通过哪些远程主机连接 mysql 服务器,支持使用通配符:

    % 匹配任意长度的任意字符

      例:172.16.0.0/255.255.0.0 等价于 172.16.%.%

    _匹配任意单个字符

3.3 mysql 基本使用

(1)mysql 使用模式:

  交互式模式:

    可运行命令有两类:

      客户端命令:

                   \h,help
                      \u,use
                      \s,status
                    \!,system

      服务器端命令:

        SQL,需要语句结束符;
  脚本模式:

1 mysql -uUSERNAME -pPASSWORD < /path/somefile.sql
2 mysql > source /path/from/somefile.sql

(2)mysql 客户端可用选项:

 1 -A      #禁止[Tab]补全
 2 -u    #用户名,默认为root
 3 -h    #服务器主机,默认为localhost
 4 -p    #用户密码,建议使用-p,默认为空密码
 5 -P    #服务器端口
 6 -S    #指定连接socket文件路径,默认路径:/var/lib/mysql/mysql.sock
 7 -D    #指定默认数据库
 8 -C    #启用压缩
 9 -e    #执行SQL命令
11 -V    #显示版本
12 -v    #显示详细信息
13 --print-defaults    #获取程序默认使用的配置

  服务器监听的两种 socket 地址:

    ip socket:监听在 tcp 的 3306 端口,支持远程通信

    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 information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed MariaDB [mysql]> select user(); +----------------+ | user() | +----------------+ | root@localhost | +----------------+ 1 row in set (0.00 sec) MariaDB [mysql]> select user,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.00 sec) 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修改

 

posted @ 2020-05-03 20:28  我听过  阅读(285)  评论(0编辑  收藏  举报