一、卸載掉原有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數據庫了。