⑴ linux 在线和离线安装 MySQL
1 linux的常用软件安装
配置阿里云的yum源
1) 安装wget
2)下载yum源的配置文件
3) 替换原有的yum源
4) 更新现有yum
5) 安装常用软件
2 linux的JDK安装
此处我们选用 jdk1.8_144这个版本作为我们的基础JDK,此处要切记一点的是1.8的不同版本JDK在配置上会有很大的出入,所以请不要随便更换基础的JDK版本,否则你会很尴尬!
使用 rz 上传jdk到root的家目录
使用rpm命令安装jdk
配置jdk的环境变量
刷新环境变量
到此 JDK安装完成
3 安装MySQL前说明
本例安装MySQL版本是 5.7
4 linux 在线安装MySQL
用root用户安装
1)获取mysql 源安装包
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
2)安装mysql 源
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
3)检查mysql源是否安装成功
yum repolist enabled | grep "mysql. -community. "
3)用 yum 命令安装mysql
yum install mysql-community-server
4)修改mysql的配置文件
查看MYSQL配置文件加载顺序:
修改/etc/my.cnf 配置文件内的文件目录
datadir=/data/mysql/data
sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
log-error=/data/mysql/log/mysqld.log
其中:
SQL_MODE:通过对其正确的设置可以完成一些约束检查的工作,设置时,在配置文件my.cnf 中配置进行全局的设置。
STRICT_TRANS_TALES(严格模式):
只对支持事务的表启用严格模式。
NO_AUTO_CREATE_USER:
禁止GRANT创建密码为空的用户。
NO_ENGINE_SUBSTITUTION:
启用后,若需要的存储引擎被禁用或未编译,则抛出错误;未启用时将用默认的存储引擎代替,并抛出一个异常。
5)创建mysql 文件目录
6)生成首次登录随机密码
通过上面命令会在 /data/mysql/log/mysqld.log 中生成随机码,随机码用来首次登录mysql。
7)修改mysql 文件目录所有者为 mysql 用户
8)启动mysql
9) 关闭并重启mysql(可选)
如果再次启动报错,就重启Linux 系统。
10)用生成的随机密码登录mysql
登录后进入mysql 命令行
11)修改ROOT用户密码
设置完密码后,需要用新密码重新登录
12)卸载mysql(不是必须的)
如果启动报错,根据错误查看原因,如果实在解决不了,卸载mysql 重新装。
查看已经安装过的组件
rpm -qa | grep -i mysql
用yum -y remove 卸载所有mysqlyum -y remove mysql57-community-release-el7-11.noarch yum -y remove mysql-community-common-5.7.19-1.el7.x86_64
卸载后再用 rpm -qa | grep -i mysql 查看,直至全部卸载
删除/data/mysql 目录
5 linux 离线安装MySQL
1) 卸载CentOS7系统自带mariadb
2) 检查mysql是否存在
3) 检查mysql的用户和组是否存在如果不存在就创建
4) 下载MySQL的离线安装包
官网下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
版本选择,可以选择一下两种方式:
1)使用Red Hat Enterprise Linux
Select Version: 5.7.* (因为更新的缘故具体细节版本可自行查看)
Select Operating System: Red Hat Enterprise Linux / Oracle Linux
Select OS Version: Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit)
列表中下载:
Compressed TAR Archive:(mysql-5.7.25-el7-x86_64.tar.gz) 【本文中使用的是这个版本】
2)使用Linux - Generic
Select Version: 5.7.* (因为更新的缘故具体细节版本可自行查看)
Select Operating System: Linux - Generic
Select OS Version: Linux - Generic (glibc 2.12) (x86, 64-bit)
列表中下载:
Compressed TAR Archive:(mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz)
注意:上边两种方式找mysql离线安装包的方式都可以。
选完跳到以下这个页面点击 下面的连接就可以开始下载了
5) 上传MySQL的离线安装包并解压进行传统配置
6) 创建配置文件
7) 开始安装MySQL
设置权限
8) 启动MySQL
9) 设置开机启动
10) 修改配置文件
11) 获取初始密码
获取初始密码
创建软连接
登录mysql
修改密码
检验密码是否成功
设置远程访问
海汼部落原创文章,原文链接:(http://hainiubl.com/topics/75580)
⑵ 怎样在Linux环境下安装部署MySQL数据库系统
在Linux安装软件需要预先做好如下一些准备:准备好Linux操作系统如:CentOS7。配置好yum源。
完成上述准备后,就可以动手安装MySQL数据库了。主要安装步骤如下:
1. 禁用selinux
setenforce 0
2. 上传安装文件到Linux
3.解压rpm包
tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
4.安装软件
yum install mysql-community-{libs,client,common,server}-*.rpm
5.启动mysql数据库初始化
systemctl start mysqld
6.修改vi /etc/my.cnf
添加:
[mysqld]
#可以在表中录入中文
character-set-server=utf8 #
explicit-defaults-for-timestamp
# 禁用当前密码认证策略,可以使用简单密码(生产环境不适用)
validate_password=0
7.重启mysql服务
systemctl restart mysqld
8.找临时登录密码
grep -i "temporary password" /var/log/mysqld.log
9.连接MySQL数据库
mysql -uroot -p 输入临时密码
10.修改root用户登录密码为简单密码(生产环境不适用)
alter user root@localhost identified by '';
11.配置MYSQL_PS1环境变量
修改家目录下:.bash_profile文件,添加
export MYSQL_PS1="\u@\h[\d]>"
12.使新环境变量生效
source /root/.bash_profile
13.重新连接mysql验证
mysql -uroot -p
除了上述安装方式以外,可能在公司中会遇到安装指定版本的需求,那么如何安装指定版本的MySQL数据呢?这时我们可以采用下载指定版本安装包进行安装的方式,主要步骤如下,假设CentOS7 linux最小安装,已经配置好yum。首先检查是否安装numactl包
rpm -qa|grep numactl
yum install numactl-libs-* # 如果没有安装需要安装。检查是否安装lio包
rpm -qa|grep lio
yum install lio-* # 如果没有安装需要安装
具体安装步骤如下:
* 禁用selinux
setenforce 0
* 上传安装文件到Linux
mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
* 创建mysql用户组和用户
groupadd -g 27 -r mysql
#-r创建系统账户,-M 不创建用户家目录 -N 不创建和用户名一样的用户组
useradd -M -N -g mysql -r -s /bin/false -c "MySQL Server" -u 27 mysql
id mysql
* 上传安装包到root家目录
* 解压二进制文件到/usr/local
tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /usr/local
* 解压目录改名为mysql
cd /usr/local
ls -l
mv mysql-5.7.26-linux-glibc2.12-x86_64/ mysql
* 环境变量中添加mysql/bin目录
vi /root/.bash_profile
修改PATH=/usr/local/mysql/bin:$PATH:$HOME/bin
添加 export MYSQL_PS1="\u@\h[\d]>"
source /root/.bash_profile
* 创建/usr/local/mysql/etc/my.cnf选项文件 (也可以使用默认的/etc/my.cnf选项文件)
mkdir -p /usr/local/mysql/etc
mkdir -p /usr/local/mysql/mysql-files
* 编辑选项文件my.cnf填写默认选项
vi /usr/local/mysql/etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/data/mysql.sock
log-error=/usr/local/mysql/data/mysqld.err
pid-file=/usr/local/mysql/data/mysqld.pid
secure_file_priv=/usr/local/mysql/mysql-files
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
Explicit-defaults-for-timestamp
character-set-server=utf8
[mysql]
socket=/usr/local/mysql/data/mysql.sock
* 初始化数据目录
cd /usr/local/mysql
mkdir data
chmod 750 data
chown mysql:mysql data
* 初始化数据库
cd /usr/local/mysql
bin/mysqld --defaults-file=/usr/local/mysql/etc/my.cnf --initialize
* 使用systemd管理mysql
例如:systemctl {start|stop|restart|status} mysqld
cd /usr/lib/systemd/system
touch mysqld.service
chmod 644 mysqld.service
vi mysqld.service
# 添加以下内容
[Unit]
Description=MySQL Server
Documentation=man:mysqld(7)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
Type=forking
PIDFile=/usr/local/mysql/data/mysqld.pid
# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0
# Start main service
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/etc/my.cnf --daemonize --pid-file=/usr/local/mysql/data/mysqld.pid $MYSQLD_OPTS
# Use this to switch malloc implementation
EnvironmentFile=-/etc/sysconfig/mysql
# Sets open_files_limit
LimitNOFILE = 65535
Restart=on-failure
RestartPreventExitStatus=1
PrivateTmp=false
以上内容中注意:The --pid-file option specified in the my.cnf configuration file is ignored by systemd.
默认:LimitNOFILE = 5000,如果连接数(max_connection)需要调大,可以将LimitNOFILE 设置为最大65535
* 创建mysql.conf文件
cd /usr/lib/tmpfiles.d
#Add a configuration file for the systemd tmpfiles feature. The file is named mysql.conf and is placed in /usr/lib/tmpfiles.d.
cd /usr/lib/tmpfiles.d
touch mysql.conf
chmod 644 mysql.conf
* mysql.conf添加内容
vi mysql.conf
添加以下语句:
d /usr/local/mysql/data 0750 mysql mysql -
* 使新添加的mysqld服务开机启动
systemctl enable mysqld.service
* 手动启动mysqld
systemctl start mysqld
systemctl status mysqld
* 获得mysql临时登录密码
cat /usr/local/mysql/data/mysqld.err | grep "temporary password"
* 客户端登录连接mysql服务器
mysql -uroot -p
输入临时密码
* 修改MySQL用户root@localhost密码
mysql> alter user root@localhost identified by ''; #此处为了方便设置为空密码
* 测试新密码连接MySQL服务
mysql -uroot -p
至此,我们就完成了在Linux环境下安装MySQL的任务。通过这两种方式我们可以体会到在Linux环境下安装软件的基本思路及方法。