Linux下安装管理mysql数据库

时间:2022-05-29 17:08:57

一、卸载掉原有mysql

我们通过工具SecureCRT 5.1连接到linux服务器,要用root管理员用户,如果是普通用户登录的话,可以通过su  -  root切换为root管理员用户。

我下载的Linux系统集成了mysql数据库在里面,我们可以通过命令来查看我们的操作系统上是否已经安装了mysql数据库:

rpm -qa | grep mysql

有的话,我们就通过命令卸载掉:

rpm -e --nodeps mysql

删除完以后我们再用 rpm -qa | grep mysql 命令来查看mysql是否已经卸载成功!


二、通过yum来进行mysql的安装

我们输入命令来查看yum上提供的mysql数据库可下载的版本:

yum list | grep mysql 

然后安装服务端和客户端:

yum install -y mysql-server mysql mysql-deve

安装完后我们查看数据库是否安装成功:

rpm -qi mysql-server

这里安装的mysql-server并不是最新版本,如果要安装最新版本,那就去mysql官网下载rpm包安装。


三、mysql数据库的初始化及相关配置

启动mysql数据库:

service mysqld start

第一次启动mysql服务器以后会提示非常多的信息,目的就是对mysql数据库进行初始化操作,当我们再次重新启动mysql服务时,就不会提示这么多信息,重启一下:

service mysqld restart

我们在使用mysql数据库时,都得首先启动mysqld服务,我们可以通过命令来查看mysql服务是不是开机自动启动:

chkconfig --list | grep mysqld

如果是 0:关闭    1:关闭    2:关闭    3:关闭    4:关闭    5:关闭    6:关闭 这种情况,则说明没有开机启动,我们设置为开机启动:

chkconfig mysqld on

mysql数据库安装完以后只会有一个root管理员账号,但是此时的root账号还并没有为其设置密码,我们可以通过命令来给我们的root账号设置密码:

mysqladmin -u root password 'root'

我们将mysql管理员root的密码设置为root,然后我们就可以登录数据库了,用命令:

mysql -u root -p

然后输入密码

Linux下安装管理mysql数据库

我们可以通过mysql> show databases;来查看默认的几个数据库,通过按键盘ctrl+c退出mysql命令界面。


四、修改mysql的默认编码集

我们可以通过show variables like '%character%';来查看默认的编码集:

Linux下安装管理mysql数据库

我们会发现基本都设置成了latin1的编码方式,此时我们需要将其修改成utf8的编码格式。

我们通过工具SSH Secure File Transfer Client连接到linux服务器上,将/usr/share/doc/mysql-server-5.0.95目录下的文件my-large.cnf拉到我们系统下来

Linux下安装管理mysql数据库

编辑该文件两处地方:

1、在[client]下增加 default-character-set=utf8 字段

Linux下安装管理mysql数据库

2、在[mysqld]下增加 default-character-set=utf8 字段,同时加上init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)

Linux下安装管理mysql数据库

保存该文件,并命令为my.cnf,然后通过工具拉倒linux的/etc目录下。然后重新启动mysqld服务,要先退回用户操作界面ctrl+c,然后输入

service mysqld restart

这时我们再次登陆到mysql里面,然后输入 show variables like '%character%'; 命令来查看一下当前数据库的编码方式时,发现已经由原来的 latin1 变成了 utf8 编码方式了:

Linux下安装管理mysql数据库

如果做了以上修改如果直接数据库再创建表,然后存入中文,取出来的还是问号的话。

此时我们可以通过如下的解决办法:创建数据库的时候指明默认字符集为utf8

例如:create database huangzbDB charset=utf8;


五、MySQL创建用户以及权限管理

我们现在创建一个数据库huangzbDB,然后将该数据库的所有权限赋给新创建的mysql用户:huangzb,然后我们可以通过SQLyogEnt工具登录管理该数据库。

1、登录

[root@bogon ~]# mysql -u root -p,然后输入密码

2、创建数据库

mysql> create database huangzbDB;

3、创建用户

mysql> use mysql;
Database changed

mysql> insert into user (Host,User,Password) values ('%','huangzb',PASSWORD('huangzb'));
Query OK, 1 row affected, 3 warnings (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

上面是创建了一个名为huangzb,密码为huangzb的用户。(之所以host要复制为'%',是为了通过SQLyogEnt工具可以登录)

4、通过SQLyogEnt工具登录Linux的mysql服务器

Linux下安装管理mysql数据库

Linux下安装管理mysql数据库

我们看到,现在该用户还没有属于他权限的数据库,他也无法直接创建数据库,接下来,我们给该用户赋予一些权限。

5、给huangzb用户管理huangzbDB数据库的权限

mysql> use huangzbDB;
Database changed

mysql> grant all privileges on huangzbDB to huangzb@'%';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

然后我们刷新sqlyog对象数据库,可以看到

Linux下安装管理mysql数据库

6、现在的用户是没有管理表的权限的,接下来,我们给该用户赋予管理表的一些权限

mysql> grant create on huangzbDB.* to huangzb@'%';
Query OK, 0 rows affected (0.01 sec)

mysql> grant alter on huangzbDB.* to huangzb@'%';
Query OK, 0 rows affected (0.00 sec)

mysql> grant drop on huangzbDB.* to huangzb@'%';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> grant all on huangzbDB.* to huangzb@'%';

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

然后按ctrl+d回到管理界面,重启下mysql服务器:

[root@bogon ~]# service mysqld restart

再刷新客户端对象浏览器,我们现在就可以*的操作huangzb数据库了。

Linux下安装管理mysql数据库