日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
基于CentOS7的MySQL-5.7的安裝及基本操作

基于CentOS7的MySQL-5.7的安裝及基本操作

簡(jiǎn)介

數(shù)據(jù)庫(kù)(Database)是按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù),它產(chǎn)生于距今六十多年前,隨著信息技術(shù)和市場(chǎng)的發(fā)展,特別是二十世紀(jì)九十年代以后,數(shù)據(jù)管理不再僅僅是存儲(chǔ)和管理數(shù)據(jù),而轉(zhuǎn)變成用戶所需要的各種數(shù)據(jù)管理的方式。數(shù)據(jù)庫(kù)有很多種類型,從最簡(jiǎn)單的存儲(chǔ)有各種數(shù)據(jù)的表格到能夠進(jìn)行海量數(shù)據(jù)存儲(chǔ)的大型數(shù)據(jù)庫(kù)系統(tǒng)都在各個(gè)方面得到了廣泛的應(yīng)用。

創(chuàng)新互聯(lián)建站是一家以重慶網(wǎng)站建設(shè)公司、網(wǎng)頁(yè)設(shè)計(jì)、品牌設(shè)計(jì)、軟件運(yùn)維、成都網(wǎng)站營(yíng)銷、小程序App開發(fā)等移動(dòng)開發(fā)為一體互聯(lián)網(wǎng)公司。已累計(jì)為成都廣告設(shè)計(jì)等眾行業(yè)中小客戶提供優(yōu)質(zhì)的互聯(lián)網(wǎng)建站和軟件開發(fā)服務(wù)。

定義

數(shù)據(jù)庫(kù),簡(jiǎn)單來(lái)說(shuō)是本身可視為電子化的文件柜--存儲(chǔ)電子文件的處所,用戶可以對(duì)文件中的數(shù)據(jù)進(jìn)行新增、截取、更新、刪除等操作。

數(shù)據(jù)庫(kù)指的是以一定方式儲(chǔ)存在一起、能為多個(gè)用戶共享、具有盡可能小的冗余度的特點(diǎn)、是與應(yīng)用程序彼此獨(dú)立的數(shù)據(jù)集合。

特點(diǎn)

  1. 結(jié)構(gòu)化儲(chǔ)存大量的數(shù)據(jù)信息,方便用戶進(jìn)行有效的檢索和訪問
  2. 有效的保持?jǐn)?shù)據(jù)信息的一致性、完整性,降低數(shù)據(jù)冗余
  3. 滿足應(yīng)用的共享和安全方面的要求。

安裝實(shí)驗(yàn)

實(shí)驗(yàn)環(huán)境

CentOS7虛擬機(jī)一臺(tái)

[MySQL的源代碼編譯包]MySQL-5.7.17.tar.gz

c++運(yùn)行庫(kù)boost_1_59_0

###實(shí)驗(yàn)配置
首先安裝相關(guān)的環(huán)境包

[root@bogon ~]# yum install -y ncurses ncurses-devel bison cmake gcc gcc-c++

創(chuàng)建MySQL的管理用戶

[root@bogon ~]# useradd -s /sbin/nologin mysql

解壓縮相應(yīng)的軟件包(MySQL-5.7.17)

[root@bogon mysql]# tar zxvf mysql-5.7.17.tar.gz -C /opt

解壓縮c++運(yùn)行庫(kù)至/usr/local/目錄下

[root@bogon mysql]# tar zxvf boost_1_59_0.tar.gz -C /usr/local/

切換目錄到/usr/local/目錄下,然后對(duì)boost文件進(jìn)行重命名

[root@bogon local]# mv boost_1_59_0/ boost

然后切換至MySQL的安裝目錄,進(jìn)行編譯配置

[root@bogon mysql-5.7.17]# cmake \
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
> -DSYSCONFDIR=/etc \
> -DSYSTEMD_PID_DIR=/usr/local/mysql \
> -DDEFAULT_CHARSET=utf8  \
> -DDEFAULT_COLLATION=utf8_general_ci \
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \
> -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
> -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
> -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
> -DMYSQL_DATADIR=/usr/local/mysql/data \
> -DWITH_BOOST=/usr/local/boost \
> -DWITH_SYSTEMD=1

配置完成后就是進(jìn)行二進(jìn)制的轉(zhuǎn)換和編譯安裝了

[root@bogon mysql-5.7.17]# make && make install

修改mysql工作文件夾的屬主和屬組

[root@bogon mysql-5.7.17]# chown -R mysql:mysql /usr/local/mysql/

修改MySQL的主配置文件

[root@bogon mysql-5.7.17]# vim /etc/my.cnf
//在行首插入
[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

//刪除原來(lái)的mysqld的配置參數(shù),重新插入

[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

修改完上面的主配置文件后,修改配置文件的屬主和屬組

[root@bogon mysql-5.7.17]# chown mysql:mysql /etc/my.cnf

添加環(huán)境變量

[root@bogon mysql-5.7.17]# echo'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile

[root@bogon mysql-5.7.17]# echo 'export PATH' >> /etc/profile

[root@bogon mysql-5.7.17]# source /etc/profile

初始化數(shù)據(jù)庫(kù)

[root@bogon mysql-5.7.17]# cd /usr/local/mysql/
[root@bogon mysql]# 
[root@bogon mysql]# bin/mysqld \
> --initialize-insecure \     
> --user=mysql \
> --basedir=/usr/local/mysql \
> --datadir=/usr/local/mysql/data

//    **注:初始化這里可能會(huì)遇到一個(gè)報(bào)錯(cuò)信息:error:too many arguments (first extra is '');error:Aborting**
解決方法:切換目錄/usr/local/mysql/,ls查看當(dāng)前目錄下有哪些文件,應(yīng)該會(huì)找到一個(gè)data(數(shù)據(jù))的文件夾,但是文件夾可能為空,所以這里我們直接rm -rf data;刪除data文件夾即可,然后繼續(xù)初始化數(shù)據(jù)庫(kù)

最后將mysqld的管理腳本拷貝到系統(tǒng)目錄下,使系統(tǒng)能夠識(shí)別

[root@bogon mysql]# cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
[root@bogon mysql]# systemctl daemon-reload    //刷新識(shí)別
[root@bogon mysql]# systemctl start mysqld     //啟動(dòng)MySQL服務(wù)
[root@bogon mysql]# netstat -anpt | grep 3306     //查看MySQL的3306端口是否被開啟 

最后關(guān)閉防火墻及增強(qiáng)性安全功能,就可以設(shè)置登錄數(shù)據(jù)庫(kù)的密碼了

[root@bogon mysql]# systemctl stop firewalld.service 
[root@bogon mysql]# setenforce 0

此時(shí)就可以mysql數(shù)據(jù)庫(kù)的登入了,但是有個(gè)問題,初始化數(shù)據(jù)庫(kù)時(shí)默認(rèn)生成了一個(gè)密碼,但這個(gè)密碼是空的,所以我們還要進(jìn)行密碼的設(shè)定

[root@bogon mysql]# mysqladmin -u root -p password "abc123"
然后會(huì)提示輸入密碼:
因?yàn)槌跏蓟瘯r(shí)生成的密碼是空的,所以直接回車,然后密碼就設(shè)置成功了

此時(shí)在重新登入一次,使用新密碼abc123
就可以登入MySQL命令行模式了。

然后我們進(jìn)行數(shù)據(jù)庫(kù)的基本操作

[root@localhost ~]# mysql -u root -p
Enter password:        //輸入密碼,我們?cè)O(shè)置的密碼是abc123
mysql> show databases;       //查看數(shù)據(jù)庫(kù)信息
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| school             |
| sys                |
+--------------------+
5 rows in set (0.01 sec)
mysql> create database school;     //添加一個(gè)school的數(shù)據(jù)庫(kù)
Query OK, 1 row affected (0.00 sec)
mysql> use school;     //進(jìn)入school的數(shù)據(jù)庫(kù)
Database changed
mysql> create table info (id int,name char(10),score decimal(5,2));     //創(chuàng)建一個(gè)表
Query OK, 0 rows affected (0.11 sec)
mysql> desc info;      //查看表結(jié)構(gòu)
+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id    | int(11)      | YES  |     | NULL    |       |
| name  | char(10)     | YES  |     | NULL    |       |
| score | decimal(5,2) | YES  |     | NULL    |       |
+-------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
mysql> select * from info;    //查看表內(nèi)數(shù)據(jù)
Empty set (0.00 sec)      //這里還未插入任何數(shù)據(jù),所以為空
mysql> insert into info (id,name,score) values (1,'zhangsan',75.5);
Query OK, 1 row affected (0.00 sec)

mysql> insert into info (id,name,score) values (2,'lisi',77.5);
Query OK, 1 row affected (0.00 sec)

mysql> insert into info (id,name,score) values (3,'wangwu',80);
Query OK, 1 row affected (0.00 sec)         //連續(xù)插入三個(gè)數(shù)據(jù)
mysql> select * from info;     //此時(shí)在查看表內(nèi)數(shù)據(jù),發(fā)現(xiàn)就有數(shù)據(jù)存入在表內(nèi)
+------+----------+-------+
| id   | name     | score |
+------+----------+-------+
|    1 | zhangsan | 75.50 |
|    2 | lisi     | 77.50 |
|    3 | wangwu   | 80.00 |
+------+----------+-------+
3 rows in set (0.00 sec)
mysql> update info set name='zhaoliu' where id=3;    //修改id=3的數(shù)據(jù)的name為zhaoliu
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from info;     //再次查看表信息
+------+----------+-------+
| id   | name     | score |
+------+----------+-------+
|    1 | zhangsan | 75.50 |
|    2 | lisi     | 77.50 |
|    3 | zhaoliu  | 80.00 |       //原先的wangwu就被修改為zhaoliu
+------+----------+-------+
3 rows in set (0.00 sec)
mysql> delete from info where id=2;    //刪除id=2的表內(nèi)數(shù)據(jù)
Query OK, 1 row affected (0.00 sec)

mysql> select * from info;
+------+----------+-------+
| id   | name     | score |
+------+----------+-------+
|    1 | zhangsan | 75.50 |
|    3 | zhaoliu  | 80.00 |     //這里原先的id=2的數(shù)據(jù)lisi就被刪除了
+------+----------+-------+
2 rows in set (0.00 sec)
mysql> drop table info;      //刪除info表
Query OK, 0 rows affected (0.01 sec)

mysql> select * from info;     //此時(shí)在查看表信息,就會(huì)報(bào)錯(cuò),該表不存在,因?yàn)橐呀?jīng)被我們刪除了
ERROR 1146 (42S02): Table 'school.info' doesn't exist
mysql> show databases;     //先查看有哪些數(shù)據(jù)庫(kù)
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| school             |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

mysql> drop database school;     //刪除school的數(shù)據(jù)庫(kù)
Query OK, 0 rows affected (0.00 sec)

mysql> show databases;        //再次查看時(shí),就可以看到school的數(shù)據(jù)庫(kù)已經(jīng)被刪除了
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

更多MySQL內(nèi)容請(qǐng)期待;MySQL索引與事務(wù)、MySQL數(shù)據(jù)庫(kù)管理。。。。。。。。


文章名稱:基于CentOS7的MySQL-5.7的安裝及基本操作
地址分享:http://www.dlmjj.cn/article/jddjge.html