1.本文安装版本为mysql-5.7.24,对于5.7.24之后的版本,mysql配置文件的目录位置和结构有所改变,使用此说明可能会出现找不到配置文件或者配置后不生效的情况,不推荐使用本教程。
一 安装前准备
linux下面一般自带mysql,但是它缺失了一些文件,不能使用它,所以先把它删掉
1、确认系统安装了哪些rpm包:
命令: rpm -qa | grep -i mysql
mysql-server-5.1.71-1.el6.x86_64
mysql-5.1.71-1.el6.x86_64
perl-DBD-MySQL-4.013-3.el6.x86_64
mysql-libs-5.1.71-1.el6.x86_64
qt-mysql-4.6.2-26.el6_4.x86_64
2、使用命令 rpm -ev package_name --nodeps 删除上步中检查到的所有包:
rpm -ev mysql-server-5.1.71-1.el6.x86_64 --nodeps
rpm -ev mysql-5.1.71-1.el6.x86_64 --nodeps
rpm -ev perl-DBD-MySQL-4.013-3.el6.x86_64 --nodeps
rpm -ev mysql-libs-5.1.71-1.el6.x86_64 --nodeps
rpm -ev qt-mysql-4.6.2-26.el6_4.x86_64 --nodeps
3、查找老版本mysql相关的安装目录命令:find / -name mysql
命令:find / -name mysql
/var/lib/mysql
4、使用命令 rm -rf directory_name 删除上步中查找到的所有目录:
命令: rm -rf /var/lib/mysql/
5、进入/etc/目录查看mysql的配置文件my.cnf是否存在,若存在则使用命令:rm –f my.cnf 进行删除。
命令:pwd
/etc
命令:ls my*
ls: cannot access my*: No such file or directory
6、删除系统自带mysql用户和mysql用户组:
命令:userdel -r mysql
userdel: mysql home directory (/var/lib/mysql) not found
命令: more /etc/passwd | grep mysql
命令: groupdel mysql
groupdel: group 'mysql' does not exist
命令:more /etc/shadow | grep mysql
7. 检查mysql用户组和用户是否存在,如果没有,则创建
命令:cat /etc/group | grep mysql
命令:cat /etc/passwd | grep mysql
命令:cat groupadd mysql
命令: useradd -r -g mysql mysql
8. 从官网下载是用于Linux的Mysql安装包
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
二.安装Mysql
1、在执行wget命令的目录下或你的上传目录下找到Mysql安装包:mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
执行解压命令:
mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/
cd /usr/local/
mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql
执行命令如下:mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql
2、在/usr/local/mysql目录下创建data目录
mkdir /usr/local/mysql/data
3、更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
4、编译安装并初始化mysql,务必记住初始化输出日志末尾的密码(数据库管理员临时密码)
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
补充说明:
第4步时,可能会出现错误:
出现该问题首先检查该链接库文件有没有安装使用 命令进行核查
rpm -qa|grep libaio
运行命令后发现系统中无该链接库文件
yum install libaio-devel.x86_64
安装成功后,继续运行数据库的初始化命令,此时可能会出现如下错误:
执行如下命令后:
yum -y install numactl
执行无误之后,再重新执行第4步初始化命令,无误之后再进行第5步操作!
5、运行初始化命令成功后,输出日志如下:
记录日志最末尾位置root@localhost:后的字符串,此字符串为mysql管理员临时登录密码。
6、编辑配置文件my.cnf,添加配置如下
[root@localhost bin]# vi /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/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
7、启动mysql服务器
/usr/local/mysql/support-files/mysql.server start
显示如下结果,说明数据库安装成功
如果出现如下提示信息
Starting MySQL... ERROR! The server quit without updating PID file
查看是否存在mysql和mysqld的服务,如果存在,则结束进程,再重新执行启动命令
#查询服务
ps -ef|grep mysql
ps -ef|grep mysqld
#结束进程
kill -9 PID
#启动服务
/usr/local/mysql/support-files/mysql.server start
8、添加软连接,并重启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
9、登录mysql,修改密码(密码为步骤5生成的临时密码)
mysql -u root -p
Enter password:
mysql>set password for root@localhost = password('yourpass');
10、开放远程连接
mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;
11、设置开机自动启动
1、将服务文件拷贝到init.d下,并重命名为mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
2、赋予可执行权限
chmod +x /etc/init.d/mysqld
3、添加服务
chkconfig --add mysqld
4、显示服务列表
chkconfig --list