018-阿里云Centos 7上面安装mysql教程

1 软件的基本安装过程

1 卸载已有的mysql

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

# rpm -qa|grep -i mysql

2.将已经安装过的软件卸载掉。注意:这样的卸载是不彻底,不过这里够用了。

# yum remove '软件名'

2 准备mysql的repo

总结代码:

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

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

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

# rpm -ivh mysql57-community-release-el7-7.noarch.rpm

安装之后会获得/etc/yum.repos.d/mysql-community.repo/etc/yum.repos.d/mysql-community-source.repo两个源,可以去相应的路径下查看一下。

3 安装mysql

使用代码总结:

# yum install mysql-server
# yum install mysql-devel
# yum install mysql
# rpm -qa | grep -i mysql

 1.安装mysql-server

# yum install mysql-server

2 安装mysql-devel

# yum install mysql-devel

3.安装mysql

# yum install mysql

安装完成之后重新检查一下安装了的mysql软件。

# rpm -qa|grep -i mysql

一般来说,只要安装mysql-server跟mysql-client 。

2 服务开关操作

# service mysqld status     查看mysql当前的状态
# service mysqld stop       停止mysql
# service mysqld restart    重启mysql
# service mysqld start      启动mysql

3 将MySQL加入开机启动

# systemctl enable mysqld

4 启动mysql服务进程

# systemctl start mysqld

或者使用下面的代码:都是启动mysql服务,效果一样。

# service mysqld start      启动mysql

5 无法登录问题解决

登录root帐号需要密码,不过我们没有。

下面是这个问题的详细解决过程

1 修改配置文件,跳过用户验证

1.在/etc/my.cnf文件中添加skip-grant-tables。这里注意一下:我的skip-grant-tables放到了文件最后

skip-grant-tables:的作用就是跳过了mysql的用户验证

然后直接输入mysql,不需要带任何登录参数直接回车就可以登陆上数据库;

2.重启mysqlservice mysqld restart

重启之后我们直接输入mysql即可进入mysql数据库,因为我们已经跳过了mysql数据库的用户验证。

3.使用mysql数据库

使用命令:user mysql;

4.show tables查看所有表

 会发现有个user表,这里存放的就是用户名,密码,权限等等账户信息

mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| engine_cost               |
| event                     |
| func                      |
| general_log               |
| gtid_executed             |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| innodb_index_stats        |
| innodb_table_stats        |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| server_cost               |
| servers                   |
| slave_master_info         |
| slave_relay_log_info      |
| slave_worker_info         |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
31 rows in set (0.00 sec)

5.查看账户信息

 执行下面的命令,可以查看用户的账户信息。

select user,authentication_string from user;

从这里我们可以看到mysql数据库中的密码是加密的,不可逆的。一旦忘记了就找不回来了的。

6.修改root用户的密码

我们可以执行下面的命令修改root用户的密码:

update mysql.user set authentication_string=password('your password') where user='root';

7.修改密码之后,删除所有权限

flush privileges;

8.退出数据库

exit

9.恢复/etc/my.cnf文件

恢复/etc/my.cnf,将skip-grant-tables删除或者注释掉。 

 

10.重启mysqlservice mysqld restart

service mysqld restart

到此为止我们就解决了mysql安装之后登录不知道密码的问题。现在一切都正常了。

11.验证一下是否成功解决了登录问题

# rpm -qa|grep -i mysql

可以看到已经完美的解决了。一路下来还真不容易啊。

解决登录问题中的代码整理:

# vim /etc/my.cnf         //修改配置
skip-grant-tables        加入到my.cnf 文件的最后
# service mysqld restart           //修改配置后重启mysql服务
# mysql                         //跳过用户验证后,直接就能登录


mysql> use mysql;           //切换数据库

mysql> show tables;           //查看所有表

mysql> select user,authentication_string from user;   //查看权限信息

mysql> update mysql.user set authentication_string=password('your password') where user='root';  //修改密码

mysql> flush privileges;     //刷新让修改生效

mysql> exit         //退出mysql 

 
[root@iz2ze6adlpez0gy7j13vrmz ~]# vim /etc/my.cnf   //还原my.cnf文件配置,去掉最后的skip-grant-tables

[root@iz2ze6adlpez0gy7j13vrmz ~]# cat /etc/my.cnf    //查看是否还原成功

[root@iz2ze6adlpez0gy7j13vrmz ~]# service mysqld restart    //重启mysql服务

[root@iz2ze6adlpez0gy7j13vrmz ~]# mysql -uroot -proot    //使用修改的密码登录

6.解决远程客户端无法连接MySQL数据库

现在我们想要在本地,远程访问我们阿里云服务器上的mysql数据库。我使用的是navicat 软件,但是发现一直连接不上。

出现这个问题的原因是因为:我的实例是专有网络类型。要想能够远程访问,需要对外开放MySQL的端口3306.

 下面演示如何对外开放3306端口。

配置完成之后,我再次去尝试远程连接MySQL数据库。

猜你喜欢

转载自www.cnblogs.com/jepson6669/p/9012019.html
今日推荐