一、卸载掉原有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
然后输入密码
我们可以通过mysql> show databases;来查看默认的几个数据库,通过按键盘ctrl+c退出mysql命令界面。
四、修改mysql的默认编码集
我们可以通过show variables like '%character%';来查看默认的编码集:
我们会发现基本都设置成了latin1的编码方式,此时我们需要将其修改成utf8的编码格式。
我们通过工具SSH Secure File Transfer Client连接到linux服务器上,将/usr/share/doc/mysql-server-5.0.95目录下的文件my-large.cnf拉到我们系统下来
编辑该文件两处地方:
1、在[client]下增加 default-character-set=utf8 字段
2、在[mysqld]下增加 default-character-set=utf8 字段,同时加上init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)
保存该文件,并命令为my.cnf,然后通过工具拉倒linux的/etc目录下。然后重新启动mysqld服务,要先退回用户操作界面ctrl+c,然后输入
service mysqld restart
这时我们再次登陆到mysql里面,然后输入 show variables like '%character%'; 命令来查看一下当前数据库的编码方式时,发现已经由原来的 latin1 变成了 utf8 编码方式了:
如果做了以上修改如果直接数据库再创建表,然后存入中文,取出来的还是问号的话。
此时我们可以通过如下的解决办法:创建数据库的时候指明默认字符集为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服务器
我们看到,现在该用户还没有属于他权限的数据库,他也无法直接创建数据库,接下来,我们给该用户赋予一些权限。
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对象数据库,可以看到
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数据库了。