(二)服务器java环境搭建--centos安装mysql5.7
基本安装过程
- 查看系统是否安装了mysql软件
rpm -qa|grep -i mysql
- 将已经安装过的软件卸载掉。注意:这样的卸载是不彻底,不过这里够用了
yum remove '软件名'
- CentOS 7的yum源中默认是没有mysql的。所以,为了解决这个问题我们首先下载安装mysql的repo源。
wget http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
- 安装mysql的repo源
rpm -ivh mysql57-community-release-el7-7.noarch.rpm
安装之后会获得/etc/yum.repos.d/mysql-community.repo和/etc/yum.repos.d/mysql-community-source.repo两个源,可以去相应的路径下查看一下。
- 开始安装
yum install mysql-server
yum install mysql-devel
yum install mysql
rpm -qa | grep -i mysql
- 服务开关操作
#执行其中之一就可以
service mysqld status 查看mysql当前的状态
systemctl status mysqld
service mysqld stop 停止mysql
systemctl stop mysqld
service mysqld restart 重启mysql
systemctl restart mysqld
service mysqld start 启动mysql
systemctl start mysqld
- 设置MySQL开机启动
systemctl enable mysqld
8.启动MySQL服务进程
systemctl start mysqld
或者
service mysqld start
无法登录问题解决
- 在/etc/my.cnf文件中添加skip-grant-tables。这里注意一下:我的skip-grant-tables放到了文件最后。
skip-grant-tables:的作用就是跳过了mysql的用户验证
然后直接输入mysql,不需要带任何登录参数直接回车就可以登陆上数据库;
- 重启mysql,service mysqld restart,重启之后我们直接输入mysql即可进入mysql数据库, 因为我们已经跳过了mysql数据库的用户验证。
进入数据库之后执行下面的命令
mysql> use mysql;
mysql> show tables;
select user,authentication_string from user;
update mysql.user set authentication_string=password('your password') where user='root';
flush privileges;
exit
- 恢复/etc/my.cnf文件
恢复/etc/my.cnf,将skip-grant-tables删除或者注释掉。
- 重启mysql
systemctl restart mysqld
==到此为止我们就解决了mysql安装之后登录不知道密码的问题。==
重置密码问题
安装完mysql 之后,登陆以后,不管运行任何命令,总是提示这个错误:
You must reset your password using ALTER USER statement before executing this statement
处理步骤为:依次执行下面三条代码。
SET PASSWORD = PASSWORD('your new password');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;
==这里要注意的是your new password 必须包含数字,字母包含大小写,标点符号。不然好像是不能通过的。==
完成以上三步退出再登,使用新设置的密码就行了,以上除了 your new password 需要修改成新密码外,其他原样输入即可。
解决远程客户端无法连接MySQL数据库
- 创建新的安全组规则,对外开放3306端口访问授权
- 在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。
mysql -u root -p
mysql>use mysql;
mysql>select host,user from user;
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select host,user from user;
第一句是以权限用户root登录
第二句:选择mysql库
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
第五句:刷新MySQL的系统权限相关表
第六句:再重新查看user表时,有修改
- 重起mysql服务即可完成。
systemctl restart mysqld
全部评论