查看防火墙
systemctl status firewalld
重启防火墙
systemctl start firewalld
一、mysql
首先关闭防火墙
systemctl stop firewalldhtml
1.1 检查系统是否已经安装过mysql
rpm -qa|grep mariadb
若是查询到结果,证实已经安装过,必须先卸载java
1.2 卸载mariadb
rpm -e --nodeps mariadb-libsnode
1.3 因为mysql会产生临时文件存到/tmp文件夹中,若是使用非root管理员可能没有权限,会报错
给tmp文件夹设置全部权限
chmod -R 777 /tmpmysql
1.4 安装mysql客户端+服务端【须要先从官网下载这些,而后传输到opt文件后再执行安装】
rpm -ivh mysql-community-common-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.18-1.el7.x86_64.rpm
1.5 阿里云安装mysql-community-server-8.0.18-1.el7.x86_64.rpm报错解决办法sql
报错以下:数据库
[root@localhost upload]# rpm -ivh MySQL-server-5.5.25a-1.rhel5.x86_64.rpm
error: Failed dependencies:
libaio.so.1()(64bit) is needed by MySQL-server-5.5.25a-1.rhel5.x86_64
libaio.so.1(LIBAIO_0.1)(64bit) is needed by MySQL-server-5.5.25a-1.rhel5.x86_64
libaio.so.1(LIBAIO_0.4)(64bit) is needed by MySQL-server-5.5.25a-1.rhel5.x86_64vim
解决办法:服务器
网站百度了不少个文章,都不行,后来发现有一篇文章写的方法能够,命令以下:
yum install libaio
这样就ok了,就能够继续安装mysql了。
参考
http://www.blogjava.net/amigoxie/archive/2013/02/22/395605.htmltcp
二、mysql配置
2.1使用mysql以前,须要启动mysql服务:
systemctl start mysqld测试
2.2获取默认密码
grep "A temporary password is generated for root@localhost" /var/log/mysqld.log
2.3登陆
mysql -u root -p回车 而后输入密码
2.4修改密码(容许设置成简单密码)
set global validate_password.policy=0;
set global validate_password.length=1;
ALTER USER "root"@"localhost" IDENTIFIED BY "1234"; // 新密码为1234
2.5退出
exit;
2.6用新密码登陆
mysql -u root -p 回车
输入密码 回车
2.7 远程链接mysql的权限
选中数据库
use mysql;
查看全部用户
select user,authentication_string,host from user;
默认都是localhost
update user set host = '%' where user = 'root';
更改加密规则【目的是容许使用简单密码】
update user set plugin='mysql_native_password' where user ='root';
刷新
FLUSH PRIVILEGES;
测试外网链接mysql服务器
(若是外网链接失败的话,先按照【重置密码】执行一遍,再执行【修改密码语句,而且须要替换语句内容】,
只是ALTER USER "root"@"localhost" IDENTIFIED BY "1234";
要替换成ALTER USER "root"@"%" IDENTIFIED BY "1234";)
三、重置密码
3.1开启免密码登录 修改my.cnf文件 默认在/etc/my.cnf。
vim /etc/my.cnf
在【mysqld】模块下面添加:skip-grant-tables 保存退出。
3.2重启服务,使配置生效
systemctl restart mysqld
3.3登录
mysql -u root -p //不输入密码直接敲回车键
3.4选择数据库
use mysql把密码置空(由于免密登录时不能直接修改密码)
update user set authentication_string = '' where user = 'root';
3.5退出
exit;
3.6把/etc/my.cnf免密删掉。
3.7重启服务
systemctl restart mysqld
3.8登录
mysql -u root -p //直接敲回车键,由于刚刚置空密码了。
3.9和上面修改密码的步骤同样,重复一遍就行了~ 哈哈! set global validate_password.policy=0; set global validate_password.length=1; ALTER USER "root"@"%" IDENTIFIED BY "1234";开启防火墙(容许特定端口号经过)firewall-cmd --zone=public --add-port=3306/tcp --permanentfirewall-cmd --reload