前言
仅适用于mysql 5.7.24 且机器之前未安装过mysql的情况!请知悉。
安装前准备
- 检查是否已经安装过mysql,执行命令
rpm -qa | grep mysql
- 从官网下载是用于Linux的Mysql安装包
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
- 也可以直接到mysql官网选择其他版本进行下载。
开始安装
- 在执行wget命令的目录下或你的上传目录下找到Mysql安装包(博主的在/usr/local下):mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
- 执行解压命令:
tar xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
- 解压完成后,可以看到当前目录下多了一个解压文件
- 移动该文件到/usr/local/mysql (注意,如非必要,不要移到别的路径,不然后续会有很多问题)执行移动命令:
mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql
- 在/usr/local/mysql目录下创建data目录:
mkdir /usr/local/mysql/data
,进入mysql 文件夹可直接执行mkdir data
- 创建mysql 的用户组和用户(这样更安全,可省略)
groupadd mysql
useradd -g mysql mysql
- 更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限
chown -R mysql:mysql /usr/local/mysql
给与mysql 写的权限chown -R root /usr/local/mysql
改变mysql目录的所属用户chgrp -R mysql /usr/local/mysql
改变mysql目录的所属组chown -R mysql /usr/local/mysql/data
改变data目录的所属用户,此目录用于存放数据库
- 编辑配置文件my.cnf,添加配置如下:
vim /etc/my.cnf
[client]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=100
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
- 进入bin 文件夹:
cd /usr/local/mysql/bin
初始化mysql:mysqld --initialize
- 记住这个密码
- 启动mysql服务器:
/usr/local/mysql/support-files/mysql.server start
- 添加软连接,并重启mysql服务
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
service mysql restart
- 登录Mysql:
mysql -u root -p
- 出现上图是缺少libncurses.so.5,执行
yum -y install libncurses*
- 输入刚刚记下的密码
- 修改密码:
set password for root@localhost = password('password');
- 开放远程连接(否则本地连接不到)
use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;
-
设置开机自动启动
- 将服务文件拷贝到init.d下,并重命名为mysql:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
- 赋予可执行权限:
chmod +x /etc/init.d/mysqld
- 添加服务:
chkconfig --add mysqld
- 显示服务列表:
chkconfig --list
- 将服务文件拷贝到init.d下,并重命名为mysql:
-
如果是虚拟机,还需开启系统防火墙相应端口以便外部连接
- 如果使用默认端口3306
firewall-cmd --permanent --add-service=mysql
- 修改过端口
firewall-cmd --add-port=修改的端口/tcp --permanent
-
重启防火墙,
firewall-cmd --reload
结束语
此处只是本人的一个安装过程记录,遇到的问题较少,超出本博客之外的情况请善于利用搜索引擎解决问题,如有疑问,可留言。博主会尽量帮忙解决。