1.下载mysql
https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar
2.查看并删除机器中 mariadb
# rpm -qa | grep mariadb
# rpm -qa | grep mariadb |xargs yum remove -y
3.查找并删除mysql残留文件
# find / -name mysql
将找到的mysql相关文件和目录删除
# rm -rf /var/lib/mysql
# rm -rf /var/log/mysqld.log
# rm -rf /var/log/mysql.log
4.将下载的文件 mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar 放在安装目录,并解压
# tar -xvf mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar
5.依次安装解压后的RPM包(注:必须按顺序依次安装,否则会因缺少依赖安装失败)
#rpm -ivh mysql-community-common-5.7.30-1.el7.x86_64.rpm
#rpm -ivh mysql-community-libs-5.7.30-1.el7.x86_64.rpm
#rpm -ivh mysql-community-devel-5.7.30-1.el7.x86_64.rpm
#rpm -ivh mysql-community-libs-compat-5.7.30-1.el7.x86_64.rpm
#rpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm
#rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm
6.修改mysql配置文件 ,根据自己需求 编辑 /etc/my.cnf 文件
# vim /etc/my.cnf
7.设置Mysql 开机自启动
# sudo systemctl enable mysqld
8.启动mysql
# systemctl start mysqld
9.查看启动状态 和 开启的端口是否正常
# systemctl status mysqld
# netstat -plntu | grep 3306
10.查找安装后的临时密码 (注意:如果找不到临时密码,说明安装失败,参考后面附录)
# sudo grep 'temporary password' /var/log/mysqld.log
11.配置Mysql安全策略
# mysql_secure_installation
根据提示输入上面的临时密码,并设置新密码,如下:
[...]
Enter current password for root (enter for none):
OK, successfully used password, moving on...
[...]
Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
[...]
Disallow root login remotely? [Y/n] N
[...]
Remove test database and access to it [Y/n] Y
[...]
Reload privilege tables now? [Y/n] Y
All done!
12.登录Mysql
# mysql -u root -p
输入密码,成功进入,说明安装成功。
13.开启远程访问权限
登录mysql 后运行下面命令
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
附录:
如果安装完没有查找到临时密码,说明安装失败,需要卸载后,删除相关目录重新安装:
# yum remove mysql-community-server
# rm -rf /var/lib/mysql
进入mysql解压目录,重新安装:
# rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm
然后查找临时密码。
另附在线安装教程:
https://blog.csdn.net/abcdu1/article/details/87367656
参考:
https://stackoverflow.com/questions/40561251/no-temporary-password-in-mysqld-log