在安装前,先看系统中是否已经安装过mysql,可用yum查看已安装的软件包。
yum list installed
如果存在已mysql,可用yum remove XXX(安装包名称,如mysql-community-server.x86_64)将其移除。
下载需要准备的版本
在root模式下,在/usr/local下建立mysql文件夹,并使用进入该文件夹下后下载需要的mysql版本。
mkdir /usr/local/mysql
cd /usr/local/mysql
wget https://dev.mysql.com//Downloads/MySQL-5.7/mysql-5.7.22-1.el7.x86_64.rpm-bundle.tar
解压Mysql文件
tar -xvf mysql-5.7.22-1.el7.x86_64.rpm-bundle.tar
安装Mysql
依次安装,不能改变顺序,因为有依赖关系
rpm -ivh mysql-community-common-5.7.22-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.22-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.22-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.22-1.el7.x86_64.rpm
安装过程中问题
1、在安装过程中,若出现XXX(例如: net-tools) is needed by mysql-community-server-5.7.22-1.el7.x86_64报错,可以先安装依赖包,然后再次执行该命令。
yum -y install net-tools
2、如果在安装mysql-community-client-5.7.22-1.el7.x86_64出现的是缺少libncurses.so.5()和libtinfo.so.5(),可以先使用yum安装这个两个包,如果再次执行还是报错,可以执行以下语句:
yum -y install libncurses.so.5
yum -y install libtinfo.so.5
dnf install ncurses-compat-libs
3、如果在安装mysql-community-server-5.7.22-1.el7.x86_64.rpm后发现,在/etc目录下存在以前的my.cnf,可以先删除该文件,然后移除该包,再重新安装即可。
rm -f /etc/my.cnf
yum remove mysql-community-server.x86_64
rpm -ivh mysql-community-server-5.7.22-1.el7.x86_64.rpm
设置Mysql密码
在root用户下,在/etc/my.cnf文本最后一行添加"skip-grant-tables",在修改完记得使用wq退出。若不放心是否修改完成,可以使用cat 语句再次查看my.cnf文件内容。
vi /etc/my.cnf
cat /etc/my.cnf
修改完成后,重启服务:
service mysqld restart
登陆mysql:
mysql -u root -p
直接回车键,就可以登陆。
更改密码:
UPDATE mysql.user SET authentication_string = PASSWORD('root')WHERE USER='root' AND Host='localhost';
这里将root账号的密码设置为root,如果需要设置为其他密码,可以在PASSWORD的括号内进行修改。
刷新用户信息:
flush privileges;
退出Mysql:
exit
退出后,需要还原my.cnf文件内容,再次使用vi /etc/my.cnf,将刚才添加的语句删除,然后重启服务既可。
注意:当前root账号下的登陆设置仅为本机可登陆,如果需要其他服务器能够建立连接,那么需要修改root账号的信息。
先连接服务器,然后到mysql数据库中,查看root用户的信息。
mysql -u root -p
show databases;
use mysql;
select Host, User from user;
将root用户的host属性从localhost,修改成通配符。
update user set Host='%' where User='root';
再刷新用户信息:
flush privileges;
Mysql安装到此结束。
参考内容:
https://www.cnblogs.com/sum41/p/9362676.html
https://blog.csdn.net/dabao87/article/details/80571877
https://blog.csdn.net/Attacked_code/article/details/99072164
https://blog.csdn.net/ckx12138/article/details/108391701