linux(centos)上安装mysql教程

Posted saucxs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux(centos)上安装mysql教程相关的知识,希望对你有一定的参考价值。

最近把之前学生时代的win server换成了linux(centos)系统,因为win对于部署一些项目时候比较麻烦,直接入正题

 

1、准备阶段

我使用xshell工具管理服务器,相应下载和安装自行百度

 

2、安装

接下来主要介绍Linux下使用yum安装mysql,以及启动、登录和远程访问MySQL数据库。

2.1安装mysql客户端

yum install mysql

如何出现下面这个,说明,已经安装了mysql

 

2.2安装mysql服务端

yum install mysql-server
 
yum install mysql-devel

在CentOS7上用上面的命令安装mysql服务端时,出现了以下的提示:

原因是:

CentOS7带有MariaDB而不是MySQL,MariaDB和MySQL一样也是开元的数据库,您可以使用yum -y install mariadb-server mariadb命令安装

 

解决方案:

如果必须要安装MySQL,首先必须添加mysql社区repo通过输入命令:

sudo rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

最后使用像安装MySQL的常规方法一样输入上面两行命令安装既可

 

2.3启动和停止

1、数据库字符集设置,mysql配置文件/etc/my.cnf中加入default-character-set=utf8

2、启动mysql服务

service mysqld start或者/etc/init.d/mysqld start

 

3、检查是否成功启动了mysql

 

4、停止mysql

service mysqld stop

 

5、开机启动

chkconfig -add mysqld

chkconfig --list | grep mysql* //查看开机启动设置是否成功
 mysqld 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

 

 2.4登录

 1、创建root管理员

mysqladmin -u root password 123456

1.1创建普通用户 

create user 用户名 identified by \'密码\';

例:create user xiaogang identified by \'123456\';

1.2删除普通用户 (管理员权限)

drop user 用户名@\'%\';

 

2、登陆

mysql -u root -p输入密码即可。

 

3、忘记密码

service mysqld stop
 
mysqld_safe --user=root --skip-grant-tables
 
mysql -u root
 
use mysql
 
update user set password=password("new_pass") where user="root";
 
flush privileges;

 

2.5远程登陆

开放防火墙的端口号,这个可以在控制台设置

 

 设置相关的端口号外网是否可以访问。

1、为需要远程登录的用户赋予权限

如何给用户分配权限

grant 权限 on 数据库.数据表 to \'用户\' @ \'主机名\';

(1)支持root用户允许远程连接mysql数据库

grant all privileges on *.* to \'root\'@\'%\' identified by \'123456\' with grant option;
flush privileges;

注意:root就拥有了所有的权限

 

(2)新建用户远程连接mysql数据库

grant all on *.* to admin@\'%\' identified by \'123456\' with grant option; 
flush privileges;

允许任何ip地址(%表示允许任何ip地址)的电脑用admin帐户和密码(123456)来访问这个mysql server。
注意admin账户不一定要存在。

注意:admin用户就拥有了所有的权限

 

(3)新建用户saucxs为xianhe数据库赋予所有权限【常用】

 grant all privileges on xianhe.* to saucxs@\'%\' identified by \'123456\' with grant option;

flush privileges;

允许任何ip地址(%表示允许任何ip地址)的电脑用saucxs帐户和密码(123456)来访问这个mysql server。
注意admin账户不一定要存在。

注意:saucxs用户就拥有了所有的权限

 

(4)让 saucxs有查询 weekly数据库week_week 表的权限;

grant select on weekly.week_week to \'saucxs\'@\'%\';

 

(5)让saucxs有增删改查weekly数据库所有表的数据权限

grant select,insert,update,delete on weekly.* to \'saucxs\'@\'%\';

注意:这个只有删除表中数据增删改查,而不是表的增删改查

下面是我要进行建表操作,被拒绝了

 

(6)给电脑IP为10.163.225.87的用户saucxs分配可对数据库weekly的week_week表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123456。这样做的目的是只有在指定的电脑指定IP上才能登陆这个数据库账号。

grant select,insert,update,delete,create,drop,alter on weekly.week_week to saucxs@10.163.225.87;

注意:这个create和drop,alter 是指的数据库表的创建和删除,表字段添加,而不是数据表中数据新增和删除。

 

(7)如何收回mysql分配给别的用户的权限,一般指有root用户才具有该权限

revoke 权限 on  数据库.数据表 from \'用户\'@\'主机名\';

 举个例子,回收查询功能,这样查询功能就失效了

revoke select on weekly.* from \'saucxs\'@\'%\';

 

(8)查看端口

show global variables like \'port\'

 

centos7.x已经把3306端口开放了,并且不需要开启防火墙,直接用就行

以上是关于linux(centos)上安装mysql教程的主要内容,如果未能解决你的问题,请参考以下文章

Centos7安装并配置mysql5.6完美教程

Centos7安装并配置mysql5.6完美教程

linux安装mysql

centos 7 安装mysql

在CentOS Linux 7.5上安装MySQL

Linux(CentOS7)安装与卸载MySQL8.0图文详解