MySQL的二进制安装方式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL的二进制安装方式相关的知识,希望对你有一定的参考价值。
mysql和MariaDB
官方网址:
https://www.mysql.com/
http://mariadb.org/
2、官方文档
https://dev.mysql.com/doc/
https://mariadb.com/kb/en/
3、版本演变:
MySQL:5.1 --> 5.5 --> 5.6 --> 5.7 -->8.0
MariaDB:5.5 -->10.0--> 10.1 --> 10.2 --> 10.3
安装MYSQL
Mariadb安装方式:
1、源代码:编译安装
2、二进制格式的程序包:展开至特定路径,并经过简单配置后即可使用
3、程序包管理器管理的程序包
4、CentOS 安装光盘
项目官方:https://downloads.mariadb.org/mariadb/repositories/
国内镜像:https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-x.y.z/yum/centos/7/x86_64/
二进制安装
二进制格式安装过程
1、下载二进制包,
官网的下载路径:
wget http://mirrors.neusoft.edu.cn/mariadb//mariadb-10.2.15/bintar-linux-x86_64/mariadb-10.2.15-linux-x86_64.tar.gz
这里的网络路径是我自己在本地搭的一个网络存放路径
wget http://172.20.7.53/yum/mariadb/mariadb-10.2.15-linux-x86_64.tar.gz
2、添加组和用户
[[email protected] ~]# groupadd -r -g 306 mysql
[[email protected] ~]# useradd -g mysql -u 306 -r mysql
3、解压mariadb二进制包到/usr/local下去
[[email protected] ~]# tar xf mariadb-10.2.15-linux-x86_64.tar.gz -C /usr/local/
4、进入到/usr/local下面创建mysql的软连接
[[email protected] ~]# cd /usr/local/
[[email protected] /usr/local]# ln -s mariadb-10.2.15-linux-x86_64/ mysql
5、修改mysql的相对应的属主和属组权限
[[email protected] /usr/local]# chown -R root.mysql mysql/
6、创建数据文件的存放路径,并修改所属组的权限为mysql
[[email protected] ~]# cd /app/
[[email protected] /app]# mkdir mydata
[[email protected] ]# chown -R mysql.mysql /app
7、初始化数据库,指定好数据文件的存放路径和用户
[[email protected] ]# cd /usr/local/mysql/
[[email protected] /usr/local/mysql/]# scripts/mysql_install_db --datadir=/app/mydata --user=mysql
8、拷贝mariadb的启动脚本到/etc/rc.d/init.d下命名为mysqld
[[email protected] /usr/local/mysql/]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
9、把mysqld设置为开机启动
[[email protected] /usr/local/mysql/]# chkconfig --add mysqld
10、创建mariadb的配置文件存放路径,并拷贝模版文件到这个目录下命名为my.cnf
[[email protected] /usr/local/mysql/]# mkdir /etc/mysql
[[email protected] /usr/local/mysql/]#cp support-files/my-large.cnf /etc/mysql/my.cnf
11、配置系统环境变量,重读配置文件让它生效
[[email protected] /usr/local/mysql/]# vim /etc/profile.d/mysql.sh
[[email protected] /usr/local/mysql/]#export PATH=/usr/local/mysql/bin:$PATH
[[email protected] /usr/local/mysql/]# . /etc/profile.d/mysql.sh
12、修改mariadb的配置文件需要增加几条内容
[[email protected] /usr/local/mysql/]# vim /etc/mysql/my.cnf
lower_case_table_names = 1
character-set-server = utf8
datadir = /app/mydata
innodb_file_per_table = on
skip_name_resolve = o
13、启动数据库服务
[[email protected] /usr/local/mysql/]# service mysqld start
14、查看mariadb的服务端口是否正常监听
[[email protected] /app]#ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:52874 *:*
LISTEN 0 128 *:11211 *:*
LISTEN 0 128 *:111 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 128 127.0.0.1:631 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 80 :::3306 :::*
15、数据库的安全初始操作,设置完之后就可以正常使用数据库了
[[email protected] /app]#mysql_secure_installation
[[email protected] /app]#mysql -uroot -p
MYSQL的特性
1、插件式存储引擎:
也称为“表类型”,存储管理器有多种实现版本,功能和特性可能均略有差别;用户可根据需要灵活选择,Mysql5.5.5开始innoDB引擎是
MYSQL默认引擎
MyISAM ==> Aria
InnoDB ==> XtraDB
2、单进程,多线程
3、诸多扩展和新特性
4、提供了较多测试组件
5、开源
MariaDB程序
1、客户端程序:
mysql: 交互式的CLI工具
mysqldump:备份工具,基于mysql协议向mysqld发起查询请求,并将查得的所有数据转换成insert等写操作语句保存文本文件中
mysqladmin:基于mysql协议管理mysqld
mysqlimport:数据导入工具
2、MyISAM存储引擎的管理工具:
myisamchk:检查MyISAM库
myisampack:打包MyISAM表,只读
3、服务器端程序
mysqld_safe
mysqld
mysqld_multi 多实例 ,示例:mysqld_multi --example
用户账号
mysql用户账号由两部分组成:
‘USERNAME‘@‘HOST‘
说明:
HOST限制此用户可通过哪些远程主机连接mysql服务器
支持使用通配符:
% 匹配任意长度的任意字符
172.16.0.0/255.255.0.0 或 172.16.%.%
_ 匹配任意单个字符
Mysql 客户端
1、mysql使用模式:
2、交互式模式:
可运行命令有两类:
客户端命令:
h, help
u,use
s,status
!,system
服务器端命令:
SQL语句, 需要语句结束符;
---------------------------------------------------------------------------------------------
客户端命令:
([email protected]) [(none)]> s
--------------
mysql Ver 15.1 Distrib 10.2.15-MariaDB, for Linux (x86_64) using readline 5.1
Connection id: 11
Current database:
Current user: [email protected]
SSL: Not in use
Current pager: stdout
Using outfile: ‘‘
Using delimiter: ;
Server: MariaDB
Server version: 10.2.15-MariaDB-log MariaDB Server
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /tmp/mysql.sock
Uptime: 49 sec
服务器端的命令:
05:36:22> select user,host from mysql.user;
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| root | localhost |
+------+-----------+
3 rows in set (0.00 sec)
---------------------------------------------------------------------------------------------------------------
3、脚本模式:
mysql –uUSERNAME -pPASSWORD < /path/somefile.sql
mysql> source /path/from/somefile.sql
---------------------------------------------------------------------------------------------------------------
示例:
1、在shell中直接导入sql语句
[[email protected] ~]#mysql -uroot -p123456 < test.sql
Database
information_schema
mysql
performance_schema
user host password
root localhost *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9
root 127.0.0.1 *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9
root ::1 *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9
2、在mysql的命令行中用source 来导入sql语句
([email protected]) [(none)]> source test.sql
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)
+------+-----------+-------------------------------------------+
| user | host | password |
+------+-----------+-------------------------------------------+
| root | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | 127.0.0.1 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | ::1 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+------+-----------+-------------------------------------------+
3 rows in set (0.00 sec)
---------------------------------------------------------------------------------------------------------------
Mysql客户端
mysql客户端可用选项:
-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 获取程序默认使用的配置
socket地址
服务器监听的两种socket地址:
ip socket: 监听在tcp的3306端口,支持远程通信
unix sock: 监听在sock文件上,仅支持本机通信
如:/var/lib/mysql/mysql.sock
说明:host为localhost,127.0.0.1时自动使用unix sock
执行命令
1、运行mysql命令:默认空密码登录
mysql>use mysql 进入mysql库
mysql>select user(); 查看当前用户
mysql>SELECT User,Host,Password FROM user; 查看当前数据库中所有的用户列表
---------------------------------------------------------------------------------------------------------------
示例:
([email protected]) [(none)]> use mysql
Database changed
([email protected]) [mysql]> select user();
+----------------+
| user() |
+----------------+
| [email protected] |
+----------------+
1 row in set (0.00 sec)
([email protected]) [mysql]> select user,host,password from mysql.user;
+------+-----------+-------------------------------------------+
| user | host | password |
+------+-----------+-------------------------------------------+
| root | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | 127.0.0.1 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | ::1 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+------+-----------+-------------------------------------------+
3 rows in set (0.00 sec)
---------------------------------------------------------------------------------------------------------------
2、登录系统:
mysql –uroot –p
---------------------------------------------------------------------------------------------------------------
示例:
[[email protected] ~]#mysql -uroot -p123456
Welcome to the MariaDB monitor. Commands end with ; or g.
Your MariaDB connection id is 14
Server version: 10.2.15-MariaDB-log MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type ‘help;‘ or ‘h‘ for help. Type ‘c‘ to clear the current input statement.
([email protected]) [(none)]>
---------------------------------------------------------------------------------------------------------------
3、客户端命令:本地执行
mysql> help
每个命令都完×××式和简写格式
mysql> status 或 s
4、服务端命令:通过mysql协议发往服务器执行并取回结果
每个命令末尾都必须使用命令结束符号,默认为分号
示例:SELECT VERSION();
服务器端配置
服务器端(mysqld):
工作特性有多种配置方式
1、命令行选项:
2、配置文件:类ini格式
集中式的配置,能够为mysql的各应用程序提供配置信息
[mysqld]
[mysqld_safe]
[mysqld_multi]
[mysql]
[mysqldump]
[server]
[client]
格式:parameter = value
说明:_和- 相同
1,ON,TRUE意义相同, 0,OFF,FALSE意义相同
Mysql配置文件
配置文件:
后面覆盖前面的配置文件,顺序如下:
/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 选项
MySQL配置
侦听3306/tcp端口可以在绑定有一个或全部接口IP上
vim /etc/my.cnf
[mysqld]
#通常用于mysql维护时加上这条只能在本地使用
skip-networking=1
关闭网络连接,只侦听本地客户端, 所有和服务器的交互都通过一个socket实现,socket的配置存放在/var/lib/mysql/mysql.sock) 可在/etc/my.cnf或者/etc/mysql/my.cnf修改
以上是关于MySQL的二进制安装方式的主要内容,如果未能解决你的问题,请参考以下文章