1.准备文件
官网下载mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar, 安装的是5.7版本
附上文件百度云地址:链接: https://pan.baidu.com/s/1ymj2BsbS2HolUi0hkhTr2w 提取码: s296
2. 如果是第一次安装mysql需要卸载系统自带的mysql,并且卸载冲突的RPM组件
卸载系统自带的mysql
yum remove mysql-libs
卸载冲突的RPM组件
在我们安装mysql相关组件的时候,如果不将此冲突的组件删除掉,我们是安装不成功的。
我们可以先跳过这步,直接进入下步操作,在安装的过程中会有相应的提示。下面是我所碰到的一个提示:
# 安装mysql组件时出现的依赖错误
error: Failed dependencies:
mysql-community-common(x86-64) >= 5.7.9 is needed by mysql-community-libs-5.7.19-1.el7.x86_64
mariadb-libs is obsoleted by mysql-community-libs-5.7.19-1.el7.x86_64
# 卸载mariadb-libs时出现的依赖错误
error: Failed dependencies:
libmysqlclient.so.18()(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64
libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64
可以看出,我们需要卸载postfix和mariadb-libs相关的组件。卸载我们可以使用rpm -ev xxx。
查看postfix和mariadb-libs
rpm -qa | grep postfix
rpm -qa | grep mariadb
执行过程
[root@localhost software]# rpm -qa | grep postfix
postfix-2.10.1-6.el7.x86_64
[root@localhost software]# rpm -qa | grep mariadb
mariadb-libs-5.5.52-1.el7.x86_64
卸载postfix和mariadb-libs
rpm -ev postfix-2.10.1-6.el7.x86_64
rpm -ev mariadb-libs-5.5.52-1.el7.x86_64
执行过程
[root@localhost software]# rpm -ev postfix-2.10.1-6.el7.x86_64
Preparing packages...
postfix-2:2.10.1-6.el7.x86_64
[root@localhost software]# rpm -ev mariadb-libs-5.5.52-1.el7.x86_64
Preparing packages...
mariadb-libs-1:5.5.52-1.el7.x86_64
3. 解压和安装
tar -xvf mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar
rpm -ivh mysql-community-common-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.23-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.23-1.el7.x86_64.rpm
注意这些是有安装顺序的
4.配置mysql
在vi /etc/my.cnf里 加入 skip-grant-tables
vim /etc/my.cnf
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
skip-grant-tables
在配置文件中加入skip-grant-tables,就可以无密码登陆mysql
skip-grant-tables
修改后保存,重启mysql服务
systemctl mysqld restart
或者
service mysqld restart
5. 修改密码(也可参照参考文献2的方法)
登陆之后,可以先使用 show databases 看下mysql是否安装正确
先修改密码:
update user set authentication_string=password('123456') where user="root";
退出,将之前的skip-grant-tables删掉 或 注释掉,再登陆:
mysql –u root –p
--->输入密码
然后
本地登录密码设置
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
注:如果密码设置为“123456”的话,可能会提示太简单,错误信息如下:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
可以先修改密码规则:
set global validate_password_policy=0;
set global validate_password_length=1;
远程登陆密码设置:
use mysql;
grant all privileges on *.* to 'root'@'%' identified by '123456';
flush privileges;
6. 打开端口(设置防火墙)
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload
7. 添加字符集
在/etc/my.cnf 文件f 文件 [mysqld]下面添加:
character-set-server = utf8
collation-server = utf8_general_ci
重启
systemctl mysqld restart
8. 测试是否成功
mysql -u root -h -h 主机地址 -p -p 密码
show variables like 'character%'
如果你的服务器可以联网,yum方式安装操作可能更简单一点,可以参考我的另一篇mysql安装教程:
此外,mysql还可以编译安装,此方式略复杂,具体可以参考:
https://blog.csdn.net/qq_22059611/article/details/86475525
参考文献:1、https://blog.csdn.net/lsh894609937/article/details/83342896
2、https://blog.csdn.net/fanshujuntuan/article/details/78077433