linux中不同方式安装mysql

一、不同方式安装mysql

01.准备linux基本环境
02.官网下载最新的MySQL
03.安装MySQL
04.数据初始化及配置
05.远程连接测试

01.准备linux基本环境
1.redhat 6.5 2台 或者1台多实例
2.关闭iptables和selinux
3.配置好本地yum源
02.官网下载最新的MySQL
官网下载地址:https://www.mysql.com/downloads/
linux中不同方式安装mysql_第1张图片
可是使用上面的这个,官网进入,也可以用下面的社区版下载,社区版是开源免费的

linux中不同方式安装mysql_第2张图片
linux中不同方式安装mysql_第3张图片
linux中不同方式安装mysql_第4张图片

linux中不同方式安装mysql_第5张图片
linux中不同方式安装mysql_第6张图片

在这里选择我们要安装的版本,可以选择小红帽的,linux-generic,source code
linux中不同方式安装mysql_第7张图片
小红帽的如下:
linux中不同方式安装mysql_第8张图片
RPM Bundle:这是一个汇总的包,通过这个可以直接安装mysql服务器,安装完就可以 直接用
下面的其他的是这个RPM包含的某一个包
点击下载,会有提醒下载的界面,如下
linux中不同方式安装mysql_第9张图片
点击之后就可以下载了…
linux-generic的如下:
linux中不同方式安装mysql_第10张图片
Generic是通用的意思,所以compressed tar archive这个包下载下来以后,无论什么版本的系统都可以用,只要是64位的都是通用的,因为这个包是已经编译好的,只要解压就可以用了,这个包是二进制的一个包,这个包比RPM的包稍微小一些,免编译的
Source code的如下:
linux中不同方式安装mysql_第11张图片
上面的Src是source的意思,这是一个源码的 rpm包
linux中不同方式安装mysql_第12张图片
上面的是一个真正的源码的包,特点是比较小,需要自行编译

软件包类型:
1.rpm
2.源码
自行编译
免编译-二进制

Mysql软件组成:
linux中不同方式安装mysql_第13张图片
1.bin:存放mysql涉及的命令
**2.lib:**库文件(有时候安装时会报错,有的报错如下:
1、*.so文件找不到
方法:让他识别mysql库文件目录)
3.share:lc_messages_dir所在目录,存放mysql的错误输出
错误信息存放在/usr/local/mysql/share/english/errmsg.sys中
mysql的错误输出:
1、错误编码
2、错误解释
当输入一条命令后,没有任何的错误输出,甚至没有错误编码,说明没有找到错误文件的位置,这时应该:通过mysql自带的lc_messages_dir参数让mysql识别错误文件的位置
4.support-files:便捷的启动脚本(它是用mysqld去启动的)
包括service

5.安装目录位置
Rpm安装-----/var/lib/mysql
源码安装-----
1、自行编译:指定cmake --指定prefix---- /usr/local/mysql
2、免编译—二进制:取决于你的解压位置

6.配置文件位置
/etc/my.cnf(推荐的)
配置项(参数)=配置项的值
mysql启动的时候会去查找四个配置文件,一般只用一个,就是/etc/my.cnf
由前往后依次检查,由后往前覆盖掉相同的配置项
如果四个配置文件都配置的话,很多配置项都乱了
将来排查配置项问题的时候自找麻烦
MySQL配置文件示例:
/etc/my.cnf
mysqld
basedir=/usr/local/mysql
datadir=/data/
server-id=1
port=3306(一个机器安装一个mysql不用指定port,默认3306)
socket=/data/mysql.sock
pid-file=/data/mysqld.pid
log-error=/data/mysqld.log
[mysql] | [client]
socket=/data/mysql.sock
配置文件解析:
什么是服务器,客户端?
服务器:
运行着服务的机器
自身也有mysql的客户端
客户端:
访问服务器端提供具体的服务
[mysqld]—这是server的配置,服务端的配置(下面的这几个配置项都是必须的)
影响整个mysql server的运行的参数设置
包括影响客户端的相应的参数-会话相关参数的设置
basedir:软件所在的位置
datadir:存放数据的位置
server-id:如果是单机的话不是必须的,标志server的编号
port:mysql server对外提供的服务端口(默认启动3306端口,标准端口)
影响客户端连接
socket:mysql启动后生成的套接字文件,
影响server端自身的客户端通过socket文件连接mysql
pid-file:软件启动后,生成的pid文件的位置名称
log-error:mysql启动运行的错误文件,日志
user:表示以什么用户去启动mysql
[mysql] 或者是[client]——这是客户端的配置
1、影响着客户端本身如何去连接服务器端
用户名 密码 socket 端口
user:以哪一个用户去连接mysql服务器
passwd:该用户的密码(记不清楚时可以去查官方文档)
port:要连接的服务器端的mysql端口
socket:要连接的服务器端的mysqlsocket文件位置
2、如果是linux端的话:影响进入数据库之后的显示
默认为mysql>模式
03.安装mysql
1.rpm安装数据库
2.免编译源码安装
3.自行编译源码安装数据库
安装gcc gcc-c++ ncurses-devdel bison readline-devel
解压boost到/usr/local目录下
编译安装cmake-3.6.0
./configure --prefix=/usr/local/cmake
cmake . -DWITH_BOOST=/usr/local/boost_1_59_0/
#make
#make install
具体安装步骤:
1.rpm安装数据库(简单,不利于理解安装过程,需要安装好yum)
一般安装在/var/lib/mysql
安装包放在~/mysql
Mkdir /var/lib/mysql
1.1.解压# tar -xf mysql-5.7.14-1.el6.x86_64.rpm-bundle.tar -C ~/mysql,生成九个文件
1.2.安装# yum localinstall ./mysql-community-.rpm -y,这个过程比较慢
安装完成会生成默认的配置文件/etc/my.cnf/
1.3.初始化并启动
#mysqld --initialize --datadir=/usr/local/mysql/data
#mysql_install_db --defaults-file=/etc/my.cnf --datadir=/usr/local/mysql/data
service mysqld start
第一次启动的时候会去初始化数据库,然后再启动数据库
初始化的目的:生成server自身运行需要的文件
文件包含:mysql的系统库
(performance_schema性能相关的
information_schema基本信息,表啊,列呀,试图呀
sys
mysql权限表)、以及ib_buffer_pool(这个里面是一串数字,关闭 时缓存数据)、ibdata1(共享表空间), ib_logfile0,ib_logfile1(rd文 件),ibtmp(临时表空间),mysql.sock,mysql.sock.lock(启动成功后 才会有这个文件)
1.4.启动之后不能直接登录,mysql -uroot -p 不可以登录,需要在/var/log/mysqld.log中 去找临时密码登录/temporary找到一行最后有冒号给出临时密码,然后改密码改成自己想要的密码
2.免编译源码安装(这种方式需要指定配置文件的各个参数)
源码-免编译:目的是为了熟悉mysql的部署流程以及启动流程
预先将安装包放在相应目录下
1.# mkdir -p /usr/local/mysql
2.# tar -xf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz -C /usr/local/mysql/这种方式解压 较慢,生成mysql-5.7.15-linux-glibc2.5-x86_64,9个
3.将解压后的文件拷贝到/usr/local/mysql,删除安装包
mv mysql-5.7.15-linux-glibc2.5-x86_64/
.
rm -rf mysql-5.7.15-linux-glibc2.5-x86_64*
注意:1.如果一台机器上安装了两个mysql可以通过绝对路径启动不同的mysql
4.修改环境变量
方法一:# vim /root/.bash_profile修改在PATH 后面加:/usr/local/mysql/bin需要重启
方法二:cp /usr/local/mysql/bin到PATH 变量任一目录下
方法三:软链接ln
5.创建组和用户
groupadd mysql
useradd -r -g mysql mysql
6.修改配置文件/etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/data/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/usr/local/mysql/data/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid
7、初始化数据库
#./mysql_install_db --defaults-file=/etc/my.cnf --datadir=/usr/local/mysql/data

mysqld --initialize --datadir=/usr/local/mysql/data (推荐)

初始化后在data目录生成ibdata1,ib_logfile0,ib_logfile1,mysql,performance_schema,sys说明初始化成功了,具备启动mysql的条件了,这些必须有
8、修改属主属组
root——>mysql
# chown -R mysql:mysql /usr/local/mysql/data/
9.在这一步之后需要做在support-files中#cp mysql.server /etc/init.d/mysql.server
#chkconfig --list | grep mysql
#chkconfig --add mysql.server
#chkconfig --list | grep mysql
10、启动数据库
mysqld_safe --defaults-file=/etc/my.cnf & 最好指定文件
service mysql.server start推荐
启动流程:
1、读取配置文件的目的是为了知道相应配置项或者参数的位置
检查各个配置项是否配置正常(参数设置不正确,参数写错,值范围不在 标准范围内)
看官方文档设置参数
2、读取相应数据位置下的文件–启动数据库
检查文件mysql是否有权限操作
启动成功的标志:
1、mysql.sock生成了
2、pid文件生成了
3、端口存在
检查端口运行情况
#netstat -tnulp|grep 330
11.登录无密码
破解mysql密码流程
1、关闭不知道密码的数据库
#Service mysql.server stop
2、以跳过授权表的方式启动该数据
# mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables &
3、进入数据库,刷新权限,修改密码
# mysql -uroot -S /usr/local/mysql/data/mysql.sock
mysql> flush privileges;刷新权限
mysql> alter user ‘root’@‘localhost’ identified by ‘123’;重置密码
mysql>quit 退出登录
#mysql -uroot -p123 -S/usr/local/mysql/data/mysql.sock
#登录成功了,哈哈哈哈哈,安装完成
注意:
1.常用命令:netstat -tnulp|grep 330
2.命令:mysql -uroot -p -h127.0.0.1 -P3307
解析:-u指定登录用户
-p指定密码
-h指定要登录的机器的ip,一个机器上只有一个mysql时不用该选项
-P指定登陆的端口
3.破解密码登录进去的只能查看,不能做其他操作
4.mysql中修改密码:1.set password=password(‘123’);
2.alter user ‘root’@’localhost’ identified by ‘123’;
5.# mysql -V 查看客户端的版本
mysqld -V 查看服务器端的版本
2种mysql的软件包:
1、rpm
大,安装比较简单-yum install-时间比较长(时间是相对而言的,
不是绝对的,与电脑配置有关)
缺点:软件目录等都是提前固定好的
2、源码:
二进制glibc——比较大—编译好的—时间耗费在解压上
优点:解压完简单配置后直接使用
自行编译:——小——时间耗费在自行编译的过程上
很多配置可以在编译的时候自行指定-灵活度比较高
04.MySQL数据库初始化及配置
1.修改环境变量
方法一:修改/root/.bash_profile中PATH,加:/usr/local/mysql/bin
方法二:将mysql的bin目录cp到user/bin或者/bin中
目的:将来不用输入绝对路径
2.创建MySQL用户及用户组:
groupadd mysql
useradd -r -g mysql mysql
3.初始化数据库:
mysql_install_db(早期版本的,生成的data下的文件多)
mysqld --initialize(统一用的,一般用,生成的data下的文件少)
目的:为了生成mysql的数据库数据文件
4.启动|关闭数据库:
mysqld_safe --defaults-file=/etc/my.cnf &最好指定文件
service mysqld start|stop(推荐)
MySQLadmin -uroot -p123 -h127.0.0.1 -P3307 shutdown
5.修改密码策略:/etc/my.cnf
validate_password=off关闭
6.查看mysql是否运行:
netstat -tnulp|grep 3306要熟记
mysqladmin -uroot -p ping要熟记
mysql用户:
1、对于mysql来说,用户的概念:用户名、密码、登录主机
用户名@登录主机 密码
查看用户:登录mysql #mysql -p123
查看用户 #select user,host from mysql.user;
查看当前用户 #select user();
2、登录方式(客户端)
1、本地socket登录——服务器本身(也可以通过网络方式登录)
# mysql -uroot -p123 -S /var/lib/mysql/mysql.sock
2、网络登录
1、127——本地回环
2、远程网络
用户名 密码 服务器IP地址 端口
服务器需要检查的项: 用户名 密码 验证登录主机是否在允许范围内
注意:常用命令
1.创建用户
create user ‘sqlyog’@’172.16.20.%’ identified by ‘123’ %代表任意的,如果想要任意的ip登录直接一个%就可以了,identified代表设置密码
2.flush privileges;
3.grant all on . to ‘sqlyog’@’172.16.20.%’; 给用户sqlyog授权,它拥有给他人权限之外的所有权限
4.工具sqlyog,workbench
5.SQLyog工具的使用方法:文件—>新建---->名称---->SQL主机地址:(提供mysql服务的服务器的IP地址)------>用户名,密码,端口---------数据库可写可不写,前四个是必须的----->测试连接-------->连接
05.远程连接测试
新建用户
mysql> create user ‘sqlyog’@’%’ identified by ‘123’;
授权
mysql>grant all on . to ‘sqlyog’@’%’;
借助SQLyog工具:linux中不同方式安装mysql_第14张图片linux中不同方式安装mysql_第15张图片

你可能感兴趣的:(MySQL,数据库,mysql安装)