Mysql 软件版本: mysql-5.7.20-1.el7.x86_64
操作步骤 | 指令 |
1、上传安装包到centos服务器 | mkdir –p /root/soft 上传安装包到服务器目录/root/soft(上传步骤略) 切换到安装包目录:cd /root/soft 解压缩安装包:unzip mysql.zip 切换目录:cd mysql |
2 解压缩安装包 | tar -xvf mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar |
2.1 切换到mysql软件目录 | cd mysql-5.7.20-1.el7.x86_64.rpm-bundle |
3 卸载旧版本安装包和冲突包 | rpm -qa |grep mysql|xargs rpm -e --nodeps |
rpm -qa |grep mariadb |xargs rpm -e --nodeps | |
4 安装mysql | rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm --force |
rpm -ivh mysql-community-libs-5.7.20-1.el7.x86_64.rpm --force | |
rpm -ivh mysql-community-devel-5.7.20-1.el7.x86_64.rpm --force | |
rpm -ivh mysql-community-client-5.7.20-1.el7.x86_64.rpm --force | |
rpm -ivh mysql-community-server-5.7.20-1.el7.x86_64.rpm --force | |
rpm -ivh mysql-community-libs-compat-5.7.20-1.el7.x86_64.rpm --force | |
5 修改mysql root用户登录密码并重启mysql服务 | echo skip-grant-tables=1 >> /etc/my.cnf |
service mysqld start | |
mysql -uroot -p | |
Enter password: mysql | |
mysql> use mysql update user set authentication_string = password('root'), password_expired = 'N', password_last_changed = now() where user = 'root'; | |
exit | |
sed -i 's/skip.*//g' /etc/my.cnf | |
service mysqld res:tart | |
6 修改mysql配置文件 | 修改配置文件(修改项参照配置文件说明)并将文件复制到/etc目录下 复制替换命令: cp ../my.cnf /etc/ 确认覆盖:yes 暂时没修改
|
7 重启mysql服务 使配置生效 | service mysqld restart |
8 删除安装包 | rm –rf /root/soft/mysql* |
安装完成之后连接 mysql -p 可以,但是用mysql -h指定地址 -u用户名 -p
输入密码后显示没有
RROR 1130 (HY000): Host '192.168.0.1' is not allowed to connect to this MySQL serve
解决:查看mysql的user表发现里面用户全部都是localhost 本地地址,增加一个用户并授权:
这里我们看到,aowei这个账户是有密码了的;创建完成了,在程序里面连接发现还是没有权限,刚才我们只是创建了用户,还没有对这个用户分配权限
mysql> grant all privileges on *.* to 'aowei'@'%'identified by 'aowei' with grant option;
Query OK, 0 rows affected (0.00 sec)
all代表接受所有操作,比如 select,insert,delete….; . 代表所有库下面的所有表;% 代表这个用户允许从任何地方登录;为了安全期间,这个%可以替换为你允许的ip地址;
然后刷新mysql用户权限相关表
mysql> flush privileges ;
Query OK, 0 rows affected (0.00 sec)
然后就可以连接上了
测试用工具 比如 sqlyog 连接还是连接不上;
发现防火墙没关闭;附上关闭命令;
操作系统环境:CentOS Linux release 7.0.1406(Core) 64位
CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙步骤。
1、关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)