基於centos7搭建MySQL數據庫

本文包括mysql服務的安裝配置,和簡單的使用,還包括了對mysql用戶帳號的受權管理,前部分爲安裝,後面一半爲用戶受權管理及簡單使用(增刪改查):mysql

安裝前準備:
一、centos7一個,準備系統映像,自行配置yum倉庫;
二、下載安裝所需軟件包,:下載連接,提取碼:9lig sql

1、安裝配置MySQL數據庫:數據庫

爲了確保MySQL數據庫功能的完整性、可定製性,我採用了源代碼編譯安裝的方式安裝MySQL數據庫系統,MySQL5.X系列版本的使用最爲普遍,該版本的穩定性、兼容性都不錯,下載源碼包的官方站點爲 https://www.mysql.comvim

如今MySQL已經被甲骨文公司收購了,並且甲骨文公司有意將MySQL發展爲一個收費的產品,因此Linux爲了不之後的版權問題,就將MySQL數據庫改爲了MariaDB,MariaDB和MySQL在功能和使用上,並無太大的區別,不過呢,大多數認爲MySQL源碼安裝比使用Linux系統盤中的MariaDB要好一些,因此,仍是使用源碼安裝吧,起碼如今仍是免費的。centos

一、爲了不發生程序衝突、端口衝突等問題,能夠先執行如下命令,進行刪除系統自帶的mysql程序:服務器

[root@localhost ~]# yum -y erase mysql

二、掛載centos系統盤,安裝ncurses-devel包:ide

[root@localhost ~]# mount /dev/cdrom /media
[root@localhost ~]# cd /media/Packages/
[root@localhost Packages]# rpm -ivh ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm

三、因爲mysql 5.x系列版本須要cmake編譯安裝,因此繼續安裝cmake包:工具

[root@localhost media]# tar zxf cmake-2.8.6.tar.gz -C /tmp                 #解包
[root@localhost media]# cd /tmp/cmake-2.8.6/
[root@localhost cmake-2.8.6]# ./configure && gmake && gmake install      #配置,編譯安裝

四、建立專門用來運行mysql服務的用戶,此用戶不須要直接登陸到系統:centos7

[root@localhost cmake-2.8.6]# groupadd mysql
[root@localhost cmake-2.8.6]# useradd -M -s /sbin/nologin mysql -g mysql

五、將下載的mysql源碼包解壓,並進行配置,編譯及安裝(千萬要注意大小寫,不要打錯配置項,就算錯誤也能夠繼續後續的安裝,可是,最後服務是沒法啓動的,千萬不要打錯字母,千萬不要打錯字母,千萬不要打錯字母,重要的事情說三遍):3d

[root@localhost media]#tar zxf mysql-5.6.36.tar.gz -C /tmp              #解壓至/tmp目錄
[root@localhost cmake-2.8.6]# cd /tmp/mysql-5.6.36             #切換至展開後的源碼目錄
[root@localhost mysql-5.6.36]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql 
-DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 
-DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all
[root@localhost mysql-5.6.36]# make && make install          #編譯並安裝

上述各個配置項中的含義以下:

基於centos7搭建MySQL數據庫

六、對數據庫目錄進行權限設置:

[root@localhost mysql-5.6.36]# chown -R mysql:mysql /usr/local/mysql

七、創建配置文件:

centos 7系統下默認支持MariaDB數據庫,所以系統默認的/etc/my.cnf配置文件中是MariaDB的配置文件,而在mysql的源碼目錄中提供了mysql數據庫默認的樣本配置文件,在啓動mysql數據庫以前,須要先將原有的my.cnf文件替換爲mysql提供的配置文件內容。

[root@localhost mysql-5.6.36]# rm -rf /etc/my.cnf              #刪除原有配置文件
[root@localhost mysql-5.6.36]# cp support-files/my-default.cnf /etc/my.cnf     
#複製源碼包中的配置文件到/etc/下

八、初始化數據庫(若數據庫初始化時配置錯誤的話,將mysql安裝目錄中的data目錄刪掉後從新初始化便可):

[root@localhost mysql-5.6.36]# /usr/local/mysql/scripts/mysql_install_db --user=mysql 
--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

九、設置環境變量(爲了方便在任何目錄下使用mysql命令):

[root@localhost mysql-5.6.36]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@localhost mysql-5.6.36]# .  /etc/profile             #當即生效

十、添加系統服務(兩種方法,看完這一塊,再選擇其中之一便可):

1)、若是但願添加mysqld系統服務,以便經過systemctl 進行管理,能夠直接使用源碼包中提供的服務腳本,以下:

[root@localhost mysql-5.6.36]# cp support-files/mysql.server /usr/local/mysql/bin/mysqld.sh   
#複製到安裝目錄中
[root@localhost mysql-5.6.36]# chmod +x /usr/local/mysql/bin/mysqld.sh         
#賦予執行權限

2)、建立mysql系統服務的配置文件/usr/lib/systemd/system/mysqld.service,將其添加爲mysqld系統服務:

基於centos7搭建MySQL數據庫

上面的配置文件純手打,編寫完之後,保存退出後,便可使用systemctl工具來控制mysql數據庫服務了。

方法二:

若嫌編寫配置文件麻煩,能夠換另外一種方法:

當對/usr/local/mysql/bin/mysqld.sh 賦予執行權限後,繼續如下操做:

[root@localhost mysql-5.6.36]# cp /usr/local/mysql/bin/mysqld.sh /etc/init.d/mysqld
[root@localhost mysql-5.6.36]# vim /etc/init.d/mysqld

基於centos7搭建MySQL數據庫

修改後,保存退出。繼續執行以下命令:

[root@localhost mysql-5.6.36]# chkconfig --add mysqld            #添加爲系統服務

以上即是兩種添加系統服務的方法,二選一便可,只是方法二沒法使用systemctl enable mysqld命令來設置開機自動啓動。

十一、啓動服務並登陸到mysql服務器:

[root@localhost mysql-5.6.36]# systemctl start mysqld                #啓動服務
[root@localhost mysql-5.6.36]# systemctl status mysqld             #查看服務狀態是否正常
[root@localhost mysql-5.6.36]# mysql -u root              #使用root用戶登陸到mysql數據庫

須要注意的是,此root帳號與系統root帳號沒有半毛錢關係,只是湊巧mysql的管理員帳號也是root。初次安裝沒有密碼。可使用下面命令來進行配置密碼:

[root@localhost /]# mysqladmin -u root password                #爲用戶root設置密碼
New password:                 #輸入密碼
Confirm new password:              #再次確認

若是用戶有密碼,想要對密碼進行更改,那麼,要使用以下命令:

[root@localhost /]# mysqladmin -u root -p password            #更改密碼
Enter password:                                 #輸入舊密碼
New password:              #輸入新密碼
Confirm new password:                 #再次確認

在用戶沒有密碼的狀況下,使用如下命令來登陸到mysql數據庫:

[root@localhost mysql-5.6.36]# mysql -u root

若用戶有密碼,則須要加 -p選項:

[root@localhost /]# mysql -u root -p

登陸到mysql服務器後,便可執行SQL語句,每條mysql操做語句以分號「;」結尾,若沒有輸入分號便按了回車鍵,則至關於換行。一切命令不區分大小寫,使用status能夠查看當前數據庫服務的基本信息,使用exit能夠退出mysql命令工具。

2、數據庫用戶受權及簡單操做(增刪改查):

一、授予權限:

grant  權限列表  on  庫名.表名   to  用戶名@來源地址  [ identified  by  '密碼']

使用grant語句,須要注意如下幾點:

基於centos7搭建MySQL數據庫

grant用法示例:

mysql> grant select on test.* to 'zhangsan'@'localhost' identified by '123456' ;     
#建立一個用戶名爲張三,密碼爲123456,用本地主機登陸,對test庫中全部的表能夠執行select語句。

二、查看zhangsan使用本地主機登陸的權限:

mysql> show grants for 'zhangsan'@'localhost';

三、撤銷權限:

mysql> revoke all on test.* from 'zhangsan'@'localhost';

須要注意的是,賦予權限時是怎麼指定庫和表的,撤銷時必須以一樣的方式指定,若賦予權限時使用test.user(test庫中的user表),那麼,撤銷權限時若使用test.*將會報錯。

四、查看當前服務器中的全部庫:

mysql> show databases;

五、使用use語句切換庫,而且查看庫中的表:

mysql> use mysql;                     #切換至mysql庫

mysql> show tables;              #查看庫中的全部表

六、查看錶的結構:

mysql> use mysql;                        #切換至mysql庫

mysql> describe user;            #查看錶的結構

七、建立新的庫:

mysql> create database test2;                  #建立一個名爲test2的庫。

八、建立新的表:

mysql> create table 表名 (列名1 類型,列名2 類型,.... ,primary key (主鍵名));

示例,建立一個簡單的員工信息表:

mysql> create table yuangongxinxi (xingming char(16) not null, 
xingbie char(4)), nianling int, gonghao int, primary key (gonghao));
#新建表名爲員工信息。包含的列有姓名、年齡、工號等,並將工號設置爲主鍵。

九、向剛剛的表中插入一條員工信息:

mysql> insert into yuangonxinxi(xingming,xingbie,nianling,gonghao) values ('zhangsan','nan','25','100');

十、查詢表中的數據(也可加where語句來指定查詢特定的行,或使用列名而不用星號來查詢特定的列):

mysql> select * from yuangonxinxi;

十一、修改數據記錄:

mysql> update yuangonxinxi set nianling='30' where xingming='zhangsan';              #修改zhagnsan的年齡爲30

十二、刪除數據記錄:

mysql> delete from yuangonxinxi where xingming='zhangsan';                      #刪除zhangsan的數據記錄

1三、刪除剛剛建立的數據表:

mysql>  drop table test2.yuangongxinxi;

1四、、刪除剛纔建立的庫:

mysql> drop database test2;
相關文章
相關標籤/搜索