1、安装前检查
1)检查linux系统是否安装过mysql
# 检查系统中有无安装过mysql,如果有就卸载
rpm -qa|grep mysql
rpm -e --nodeps mysql-xxxx
# 检查所有mysql对应的文件夹,全部删除
whereis mysql
find / -name mysql
rm -rf ......
# 删除mysql的配置文件
rm -rf /etc/my.cnf
# 删除/etc/init.d/下跟mysql有关的全部文件(mysql,mysqld)
cd /etc/init.d/
ll
rm -rf ......
2)卸载linux系统自带的mariadb
# 检查系统自带的Mariadb,如果有就卸载
rpm -qa|grep mariadb
rpm -e --nodeps mariadb-xxxxxx
3)检查有无安装过mysql 用户组,没有的话创建
# 检查mysql用户组是否存在
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
[root@localhost /]# userdel mysql
userdel: user 'mysql' does not exis
# 创建mysql用户组和用户
groupadd mysql
useradd -r -g mysql mysql
2、下载安装包
Linux安装mysql一般有四种方式:
1)二进制发布版安装:软件已经针对具体平台编译打包发布,只要解压,修改配置即可;
2)rpm安装:软件已经按照redhat的包管理规范进行打包,使用rpm命令进行安装,不能自行解决库依赖问题;
*缺点:需要手动先安装,当前安装程序的依赖程序,否则可能会导致安装失败
3)yum安装:一种在线软件安装方式,本质上还是rpm安装,自动下载安装包并安装安装过程中自动解决库依赖问题;
4)源码编译安装:软件以源码工程的形式发布,需要自己编译打包。
本次使用二进制发布包安装方式安装Mysql5.7。从官网下载安装包,优先选择目录 /usr/local/:
cd /usr/local/
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
3、解压mysql安装包
# 解压安装包
tar -zxvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
# 文件夹重命名,保证规范
mv mysql-5.7.31-linux-glibc2.12-x86_64 mysql
# 在/usr/local/mysql目录下创建data目录
mkdir /usr/local/mysql/data
4、修改mysql目录的下所有的目录及文件夹的用户组和用户的权限
# 将mysql目录的所属用户和组改为mysql
chown -R mysql:mysql /usr/local/mysql
# 更改mysql安装文件夹mysql/的权限,授权的目的是防止读写没有权限
chmod -R 755 /usr/local/mysql
5、编译安装并初始化mysql,务必记住数据库管理员临时密码
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
6、编写配置文件 my.cnf
创建配置文件 my.cnf:
vi /etc/my.cnf
配置文件内容如下:
[mysqld]
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 设置3306端口
port = 3306
# 服务端使用的字符集utf8
character-set-server = utf8
collation-server = utf8_general_ci
init_connect = 'SET NAMES utf8'
# 创建新表时将使用的默认存储引擎
default-storage-engine = INNODB
# 表名大小写敏感
lower_case_table_names = 0
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# 允许最大连接数
max_connections=500
7、直接启动mysql服务
执行完安装与配置后,mysql服务可以直接通过命令启动。
/usr/local/mysql/support-files/mysql.server start
8、登录mysql ,修改初始密码、远程授权等
mysql -u root -p
set password for root@localhost = password('by123456');
use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;
9、设置systemd服务管理mysql,并设置开机自启动
除了直接启动,也可以将mysql设置为全局服务进行管理。
创建用于Systemd的mysql服务配置文件:
vi /etc/systemd/system/mysql.service
在配置文件内添加以下内容:
[Unit]
Description=MySQL Server
Documentation=https://dev.mysql.com/doc/refman/5.7/en/
[Service]
ExecStart=/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf
User=mysql
Group=mysql
Restart=always
RestartSec=3
LimitNOFILE=infinity
[Install]
WantedBy=multi-user.target
然后重载系统服务:
systemctl daemon-reload
使用systemd管理mysql的全部命令:
#启动mysql服务
systemctl start mysql.service
#设置开机自启动
systemctl enable mysql.service
#停止开机自启动
systemctl disable mysql.service
#查看服务当前状态
systemctl status mysql.service
#重新启动服务
systemctl restart mysql.service
#查看所有已启动的服务
systemctl list-units --type=service
10、开启防火墙端口
如果服务器防火墙生效,还需要开放3306端口,以允许远程访问mysql数据库。
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports
标签:systemd,--,local,MySQL5.7,Linux,etc,usr,mysql,安装
From: https://www.cnblogs.com/95-03-13/p/17956753