移除已经有的文件
rpm -qa | grep mysql
如有,类似
mysql-libs-5.1.52-1.el6_0.1.x86_64
那可以选择进行卸载:
rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64 // 普通删除模式
rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64 // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
检查否存在 mariadb 数据库,如有,卸载之,卸载同上
rpm -qa | grep mariadb
如有,类似
mariadb-libs-5.5.56-2.el7.x86_64
则 卸载
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
1.mysql压缩文件进行解压 tar -zxvf mysql压缩文件
tar -zxvf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
2.将mysql压缩文件 移动到/usr/local/下
cp -r mysql-5.7.29-linux-glibc2.12-x86_64
3.cp -r mysql-5.7.29-linux-glibc2.12-x86_64 /usr/local
4.mv mysql-5.7.29-linux-glibc2.12-x86_64 mysql
5.新建data目录
mkdir /usr/local/mysql/data
6、新建mysql用户、mysql用户组
# mysql用户组
groupadd mysql
# mysql用户
useradd mysql -g mysql
7、将/usr/local/mysql的所有者及所属组改为mysql
chown -R mysql.mysql /usr/local/mysql
8、配置
/usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
# 如果出现以下错误:
则使用以下命令:
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize
# 如果出现以下错误:
# 则执行以下命令:
yum -y install numactl
若出现:Installing MySQL system tables.../usr/local/mysql/bin/mysqld: error while loading shared
原因:缺少libaio库文件
解决方法:yum install libaio* -y
# 完成后继续安装:
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize
# 编辑/etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
user=mysql
port=3306
character-set-server=utf8
# 取消密码验证
skip-grant-tables
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# skip-grant-tables
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
9、开启服务
# 将mysql加入服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
# 开机自启
chkconfig mysql on
# 开启
service mysql start
10、设置密码
# 登录(由于/etc/my.cnf中设置了取消密码验证,所以此处密码任意)
/usr/local/mysql/bin/mysql -u root -p
# 操作mysql数据库
>>use mysql;
# 修改密码
>>update user set authentication_string=password('你的密码') where user='root';
>>flush privileges;
>>exit;
11、将/etc/my.cnf中的skip-grant-tables删除
12、登录再次设置密码(不知道为啥如果不再次设置密码就操作不了数据库了)
/usr/local/mysql/bin/mysql -u root -p
>>ALTER USER 'root'@'localhost' IDENTIFIED BY '修改后的密码';
>>exit;
13、允许远程连接
/usr/local/mysql/bin/mysql -u root -p
>>use mysql;
>>update user set host='%' where user = 'root';
>>flush privileges;
>>eixt;
14、添加快捷方式
ln -s /usr/local/mysql/bin/mysql /usr/bin
作者:Towin_hong