Linux 安装MySQL5.7 数据库
所有的安装方式是基于手动式的安装,也就是整体的下载然后配置
rpm与yum之间的关系
rpm 是Linux 免除编译安装带来的安装方式,而yum 是在rpm 上面的进一步的优化,换句话说yum 既包含了rpm 的简单安装,同时又由于依赖的相关性,将一个所有的rpm 与其相关的rpm 都进行了下载。
下载MySQL
在众多MySQL的版本中,8.0是现在最新的版本但安装的时候,我们大多采用的是老版本,这样更具有一定的向下的替代性,使得之前的老项目还可以接着运行,比较稳定和常用的MySQL版本是mysql5.7
1、下载对应Linux 安装包
yum install wget
wget https://dev.mysql.com/downloads/file/?id=514029
下载完后,首先要做的就是检查本主机是否存在MySQL相关的工具
rpm -qa | grep mysql
若没有则证明没有安装过
否则:
rpm -e **
再删除相关的目录:
whereis mysql
find / mysql
rm **
mariadb 是MySQL数据库的一个连带的子数据库,相关的Linux 系统中可能存在,所有我们要进行卸载。
rpm -qa|grep mariadb
rpm -e ***
检查是否存在/etc/my.cnf 文件,这是MySQL 启动的时候,自动查找的相关的配置
2、安装对应的MySQL
tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql5.7
-C 是对输出文件进行修订
我们进入到对应的MySQL 的目录中
建立data 的空文件夹
cd bin
./mysqld --initialize --user=root --datadir=/usr/local/mysql5.7/data --basedir=/usr/local/mysql5.7
这里要说明以下因为mysql 的安全机制,我们无法使用root 用户直接进行相关的启动,所有要加上 --user=root
同时我们也可以创建新的用户以及相关的用户组进行不同的域值添加
groupadd mysql
useradd -r -g mysql mysql
-r 数目添加用户的名字
-g 添加到的组
我们同时移动到对应的文件目录的上一层,对 MySQL5.7 的文件进行权限的修改,并加上所需要的权重
chown -R mysql:mysql /usr/local/mysql5.7
chmod -R 775 /usr/loacl/mysql5.7
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql5.7/data --basedir=/usr/local/mysql5.7
初始化后得到对应的初始化的密码:
在创建好后,会在代码最后进行展示
3、相关的配置,确保数据库可以运行
/etc/my.cnf
一般MySQL 启动的时候都是从这个配置文件开始进行相关的配置检索,所有我们可以通过修改这里的参数进行修改相关的初始化条件
//在插入模式下编写,完成后保存,当然这个可以自己添加
[mysqld]
datadir=/usr/local/mysql5.7/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
#表名大小写不明感,敏感为
lower_case_table_names=1
以上信息写在文件当中
同时,我们也要去MySQL5.7 目录下的,support-files 文件中看mysql-server 中的配置,
修改成自己对应的文件名称
4、之后就可以启动了
/etc/local/mysql5.7/support-files/mysql.server start
同时我们也可以建立对应的软连接
ln -s /usr/local/mysql5.7/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql5.7/bin/mysql /usr/bin/mysql
//重启mysql服务
service mysql restart
5、登入MySQL 服务器,并修改密码
mysql -u root -p
临时密码,刚才建立初始数据库的时候进行的创建
set password for root@localhost = password('root');
update user set user.Host='%' where user.User='root';
flush privileges;
开放远程连接,并且重新刷新数据库
设置开机自启
//将服务文件拷贝到init.d下,并重命名为mysql
cp /usr/local/mysql5.7/support-files/mysql.server /etc/init.d/mysqld
//赋予可执行权限
chmod +x /etc/init.d/mysqld
//添加服务
chkconfig --add mysqld
//显示服务列表
chkconfig --list
6、防火墙开启或关闭
开启:
//开放3306端口命令
firewall-cmd --zone=public --add-port=3306/tcp --permanent
//配置立即生效
firewall-cmd --reload
关闭:
systemctl stop firewalld 本次的停掉
systemctl disable firewalld 永久停掉