Linux环境下安装MySQL数据库

Linux环境下安装MySQL

准备linux 基本环境
redhat 6.5 2台 或者1台多实例
关闭iptables(永久关闭防火墙:chkconfig iptables off)和selinux(/etc/selinux/config)
配置好本地yum源

官网下载最新软件
官网下载最新地址:https://www.mysql.com/downloads/
软件包类型
1.rpm
2.源码
1)自行编译
2)免编译(二进制)

MySQL软件组成
在这里插入图片描述bin:存放软件命令的目录

lib:库文件 ## *.so文件找不到,解决方法让他识别mysql的库文件目录

share:lc_messages_dir所在目录

mysql的错误输出:1. 错误编码 2. 错误解释 1)没有找到错误文件的位置, /usr/local/mysql/share/english/errmsg.sys 通过mysql自带的lc_messages_dir参数让mysql识别错误文件的位置

support-files:便捷启动脚本 # service启动

安装目录

rpm包默认安装到/var/lib/mysql

源码

1、自行编译:cmake --prefix /usr/local/mysql
2、免编译-二进制:取决于你的解压位置

MySQL配置文件
MySQL配置文件默认有四个,建议配置/etc/my.conf即可,如果都配置了,会出现不知道哪一个配置文件启动的相关配置项

配置项(参数)=配置项的值

vim /etc/my.conf
配置内容
[mysqld] #配置mysql服务端的标签
basedir=/usr/local/mysql #软件所在的位置
datadir=/data/ #指定数据目录在/data/ (必有)
server-id=1 #单机的话不是必须的,标志server的编号
port=3306 #启动的服务端口号是(3306默认) 影响客户端连接
socket=/data/mysql.sock #mysql启动后生成的套接字文件,影响server端自身的客户端通过socket文件连 mysql(必有)
pid-file=/data/mysqld.pid #软件启动,生成的pid文件的位置名称 (必有)
log-error=/data/mysqld.log #mysql启动运行的错误文件(必有)
user #表示什么用户去启动mysql

[mysql] | [client] #配置mysql客户端的标签
socket=/data/mysql.sock #要连接的服务器端的mysqlsocket文件
user #以哪一个用户去连接mysql服务器
passwd #该用户的密码
port #要连接的服务器端的mysql端口
注:(必有)是必须配置
建议将data dir, socket, pid-file,log-error配置在同一目录下,因为将该库出问题后,可以在同一目录下找问题

[mysql] | [client] 1. 影响着客户端本身如何去连接服务器端,用户名 密码 socket 端口
2.linux端:影响进入数据库之后的显示
mysql> select * from t;
服务器:
运行着服务的机器
自身也有mysql的客户端
客户端:
访问服务器端提供具体的服务

安装MySQL

安装rpm软件包的一般流程

1.将安装包解压到目录
#mkdir /mysql

tar xf mysql-5.7.14-1.el6.x86_64.rpm-bundle.tar -C /root/mysql/

2.使用yum 安装解压的rpm包

yum localinstall /root/mysql/mysql-community-*.rpm -y

3.初始化数据库
#mysqld --initialize --datadir=/var/lib/mysql

4.修改属主属组

chown -R mysql:mysql /var/lib/mysql

5.启动mysql

service mysqld start

        第一次启动的时候会去初始化数据库,然后再启动数据库
        初始化的目的:生成server自身运行需要的文件
        文件包含:mysql的系统库
            (performance_schema【性能相关的】
            information_schema【记录表,索引,列,视图等基本信息】
            sys【】
            mysql【有权限表来管理数据库登录信息】)、

非系统库
ib_buffer_pool、ibdata1(空闲表空间)等

补充:yum localinstall ./*.rpm #只安装当前目录的rpm包
lrzsz是传输工具,可以使用yum install 安装 作用:不用使用xshell的传输工具,直接在windows拖文件到linux中
watch 【命令】 可以一直动态监控,常用传输文件时

源码-免编译版安装
目的是为了熟悉mysql的部署流程以及启动流程

1.创建目录,将安装包解压到该目录下
#mkdir -p /usr/local/mysql

2.解压到刚创建的/usr/local/mysql下

tar -xf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz -C /usr/local/mysql/

在这里插入图片描述1)在将解压完目录下的文件和目录剪切到 /usr/local/mysql/ ,将 /usr/local/mysql/里其他文件(一般是刚解压的安装包)删除

注:当前安装的mysql不能直接使用mysql命令,解决方法有修改环境变量或者建立软连接或者cp -arp bin/* /usr/bin/ 在这里插入图片描述在这里插入图片描述3.创建MySQL用户及用户组
#groupadd mysql
#useradd -r -g mysql mysql

4.修改配置文件
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/data/mysql.sock
port=3307
# 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
[mysql]
socket=/usr/local/mysql/data/mysql.sock

5.手工初始化数据库

./mysql_install_db(低版本使用) --defaults-file=/etc/my.cnf (指定配置文件,当前配置文件非默认)–datadir=/usr/local/mysql/data(指定数据目录)

mysqld --initialize --datadir=…

6.修改属主属组
root——>mysql
# chown -R mysql:mysql /usr/local/mysql/data/
7.启动数据库
mysqld_safe --defaults-file=/etc/my.cnf &
service mysqld start
在使用service命令之前,要先把/usr/local/mysql/support-files/mysql.server复制到/etc/init.d/mysqld,加入到服务里边 在这里插入图片描述8.启动成功之后,可以查看data下的mysql.log查看temporary是否有临时密码,没有我们选择破解密码
破解密码的流程
1)关闭不知道密码的数据库

service mysqld stop

2)以跳过授权表的方式启动该数据,此前需要修改/etc/my.cnf,将密码策略注释掉
# mysqld_safe --defaults-file=/etc/my_rpm2.cnf(配置文件) --skip-grant-tables (跳过授权表)&
3)进入数据库,刷新权限,修改密码
# mysql -S /var/lib/mysql2/mysql.sock #进入数据库
mysql> flush privileges;
mysql> alter user ‘root’@‘localhost’ identified by ‘123’;
4)重启数据库,新修改的密码就会生效

补充:
启动|关闭数据库:
mysqld_safe --defaults-file=/etc/my.cnf &
service mysqld start|stop
MySQLadmin
修改密码策略:
validate_password=off (注意在第一次初始化的配置文件不能修改)

远程连接测试

使用用户名密码登录
mysql用户 用户名、密码、登录主机
用户名@登录主机 密码
有两种方式,本地登陆和网络登录
1)本地socket登录——服务器本身(也可以通过网络方式登录)
# mysql -uroot -p123 -S /var/lib/mysql/mysql.sock
2)网络登录:
1、127——本地回环
2、远程网络
用户名 密码 服务器IP地址 端口
mysql> create user ‘sqlyog’@‘172.16.%’ identified by ‘123’; #新建sqlyog用户,密码是123 允许在172.16.的网段内登录

mysql> grant all on . to ‘sqlyog’@‘172.16.%’; #为新建用户sylyog授予所有权限

补充: grant all on _ to ‘sqlyog’@’ %’; # all 表示新建用户拥有数据库的所有权限;*_*表示所有数据库下边的所有表,新建用户都有权限;%表示所有机器都能登录,172.16%允许172.16网段的机器登录;identified by ‘密码’ 表示为该新建用户设置密码
select user,host mysql .user; #查看刚新建用户的用户名和主机信息

delete from mysql.user where user =’’; #删除空用户;where表示条件

启动流程:
1、读取配置文件的目的是为了知道相应配置项或者参数的位置
检查各个配置项是否配置正常(参数设置不正确,参数写错,值范围不在标准范围内)
看官方文档设置参数
2、读取相应数据位置下的文件–启动数据库
检查文件mysql是否有权限操作

远程连接mysql
使用SQLyog可以远程连接mysql 在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值