下载mysql包,官网: http://dev.mysql.com/downloads/mysql/
第一步检查你所用的Linux下有没有安装过mysql,没有卸载干净
#rpm -qa|grep -i mysql
mysql-5.7.13-linux-glibc2.5-x86_64
可见已经安装了库文件,应该先卸载,不然会出现覆盖错误。注意卸:载时使用了--nodeps选项,忽略了依赖关系:
#rpm -e mysql-5.7.13-linux-glibc2.5-x86_64 --nodeps
当然你的也可能不止这一个文件,也可能有多个,那么你就依次 rpm -e xx --nodeps 卸载,卸载完了再检查一下,若确定删除干净后,在进行下面步骤。
在这步之前一定要先确保你所建的用户以及用户组没有存在,要不然在后面的过程中会报错,删除时候要先删除用户在删除用户组名。
# userdel mysql # 删除用户
# groupdel mysql # 删除用户组名
切换【/home】目录下开始下载mysql包。
#wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz
解压:
#tar -xzvf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz
解压成功后,文件夹名称改成mysql
# mv mysql-5.7.32-linux-glibc2.12-x86_64 mysql
创建目录(存放mysql数据文件)【保证/home/mysql/data 目录下是干净的,否则后面会报错,报错就百度吧,^_^】
# mkdir /home/mysql/data # 在mysql文件夹下创建文件夹data
# groupadd mysql # 创建一个名为mysql的用户组
# useradd -g mysql -d /home/mysql mysql # 在用户组下创建用户
# chmod -R 777 /home/mysql
切换到安装目前下【/home/mysql】,然后进行初始化命令【mysql5.7新特性:mysql_install_db 已经不再推荐使用了,建议改成 mysqld --initialize 完成实例初始化。】
#cd /home/mysql # 进入安装目录
# ./bin/mysqld --user=mysql --basedir=/home/mysql --datadir=/home/mysql/data --initialize 编译成功后,会生成数据库初始密码
检测下是否能启动mysql服务【到达这一步,代表mysql已安装完毕】
# cd /home/mysql 切换到安装目录
# ./support-files/mysql.server start 启动mysql
如果启动mysql时【出现以下错误】
【原因:刚刚我用的是/home/mysql为mysql的安装目录basedir, 则在启动服务时会出现如下错误】
【原因:mysql的tar.gz安装包的默认安装目录为/usr/local/mysql, 这时候我们需要修改/support-files/mysql.server文件的basedir和datadir目录路径为我们环境所在的mysql的basedir和datadir路径】
解决启动mysql报错
# vim support-files/mysql.server 编辑
只要是下面这两个参数后面有目录的都改成的你安装的目录【然后再重新启动】
创建软链接 设置快捷启动
# ln -s /home/mysql/support-files/mysql.server /etc/init.d/mysql
# ln -s /home/mysql/bin/mysql /usr/bin/mysql
# service mysql restart
此时你可以查看到你安装mysql版本
编辑【vim /etc/my.cnf】如果已存在此文件,请先备份,不存在创建,添加以下内容, 更改你自己安装的目录
[mysqld]
datadir=/home/mysql/data
basedir=/home/mysql
socket=/home/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
port=3306
socket=/home/mysql/mysql.sock
重新起动mysql
service mysql restart
登录mysql,修改密码【注意一点:mysql5.7之后的数据库里mysql.user表里已经没有password这个字段了,password字段改成了authentication_string】
# mysql -u root -p
mysql>set password for root@localhost = password('yourpass');
开放远程连接
配置mysql服务开机自动启动