mysql安装教程

一、基本安装过程

1.查看系统是否安装了mysql软件

rpm -qa|grep -i mysql

2.将已经安装过的软件卸载掉。

注意:这样的卸载是不彻底的。

yum remove '软件名'

3.下载安装mysql的repo源

CentOS 7的yum源中默认是没有mysql的。所以,为了解决这个问题我们首先下载安装mysql的repo源。

wget http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm

4.安装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两个源,可以去相应的路径下查看一下。

5.查看yum仓库中myql-server相关的包。可以安装对应版本的包

yum whatprovides mysql-server

6.按照以下顺序开始安装(不指定版本的话,则安装最新lts版本的)

yum install mysql-server

yum install mysql-devel

yum install mysql

rpm -qa | grep -i mysql

7.服务开关操作

执行其中之一就可以

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

8.设置MySQL开机启动

systemctl enable mysqld

9.启动MySQL服务进程

以下二选一

systemctl start mysqld

service mysqld start

二、安装完成后无法登录的问题

安装完成后用命令mysql -u root -p 然后Enter Password,但是无法登录。解决办法如下:

1.在/etc/my.cnf文件中最后添加一行skip-grant-tables,作用就是跳过了mysql的用户验证,然后重启mysql : systemctl restart mysqld

2.然后直接输入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;

逗号不能少

3.恢复/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数据库

1.创建新的安全组规则

创建新的安全组规则,对外开放3306端口访问授权(阿里云的服务器,默认只需要在管理后端开启3306就可以了,下面操作防火墙的步骤可以免掉)

firewall-cmd --permanent --zone=public --add-port=3306/tcp #添加端口,加完要重启防火墙

firewall-cmd --permanent --zone=public --remove-port=3306/tcp #删除端口,加完要重启防火墙

说明:

–zone #作用域

–add-port=3306/tcp #添加端口,格式为:端口/通讯协议

–permanent 永久生效,没有此参数重启后失效

查看端口状态 netstat -an | grep 3306

查看已开启的端口,重启防火墙后有效

firewall-cmd --list-ports

systemctl restart firewalld #重启防火墙

systemctl status firewalld #查看防火墙状态

systemctl stop firewalld #关闭防火墙

2.更改“host” 项

在本机登入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表时,有修改

3.重启mysql服务即可完成

service mysqld restart

你可能感兴趣的:(mysql安装教程)