mysql資料庫的安裝步驟

来源:http://www.cnblogs.com/fengdejiyixx/archive/2017/11/19/7859428.html
-Advertisement-
Play Games

Redhat6.5 1、準備工作 卸載使用rpm包安裝的mysql-server、mysql軟體包 安裝自帶的ncurses-devel包 rpm -ivh /mnt/Packages/ncurses-devel-5.7-3.20090208.el6.x86_64.rpm ① 解壓cmake包 ta ...


Redhat6.5

 

1、準備工作

卸載使用rpm包安裝的mysql-server、mysql軟體包
安裝自帶的ncurses-devel包
rpm -ivh /mnt/Packages/ncurses-devel-5.7-3.20090208.el6.x86_64.rpm
① 解壓cmake包
tar zxf cmake-2.8.6.tar.gz
[root@localhost cmake-2.8.6]# cd cmake-2.8.6
② 安裝cmake包
[root@localhost cmake-2.8.6]# ./configure && gmake && gmake install
2、源碼編譯及安裝
①創建運行用戶
[root@localhost cmake-2.8.6]# groupadd mysql
[root@localhost cmake-2.8.6]# useradd -M -s /sbin/nologin mysql -g mysql
②解壓mysql包釋放到/usr/src目錄下並切換到展開後的源碼目錄
tar zxf mysql-5.5.22.tar.gz -C /usr/src
cd /usr/src/mysql-5.5.22/
③配置
可能會用到多種字元集的網頁,相應地資料庫系統也應該支持不同的字元集編碼,配置中將預設的字元集編碼設置為utf8並添加其他字元集支持
[root@localhost mysql-5.5.22]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all
----選項含義:
-DCMAKE_INSTALL_PREFIX:指定將mysql資料庫程式安裝到某目錄
-DSYSCONFDIR:指定初始化參數文件目錄
-DDEFAULT_CHARSET:指定使用預設的字元集編碼,如utf8
-DDEFAULT_COLLATION:指定預設使用的字元集編碼校對規則,utf8_general_ci 是適用於UTF-8字元集編碼的通用規則。
-DWITH_EXTRA_CHARSETS:指定額外支持的其他字元集編碼。
④編譯並安裝 make && make install

3、安裝後的其他調整
①對資料庫目錄進行許可權設置
[root@localhost mysql-5.5.22]# chown -R mysql:mysql /usr/local/mysql
②建立配置文件
在mysql源碼目錄中的support—file文件下,提供了適合不同負載資料庫的樣本配置文件。如果不確定資料庫同學的應用規模,一般選擇my-medium.cnf文件即可,該文件能夠滿足大多數啟用的中單應用需求
根據以下參考內容建立mysql系統的/etc/my.cnf配置文件
[root@localhost mysql-5.5.22]# rm -rf /etc/my.cnf
[root@localhost mysql-5.5.22]# cp support-files/my-medium.cnf /etc/my.cnf
③初始化資料庫
為了能夠正常使用mysql資料庫系統,應以運行用戶mysql身份執行初始化監本mysql_intall_db,指定資料庫存放目錄等。
[root@localhost mysql-5.5.22]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
④設置變數環境
為了方便在任何目錄下使用mysql命令需要在/etc/profile設置環境變數
[root@localhost mysql-5.5.22]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@localhost mysql-5.5.22]# ./etc/profile 或 source /etc/profile //立即生效
4、添加系統服務
若希望添加mysql系統服務,以通過chkconfig進行管理,可以直接使用源碼包中提供的服務腳本。找到support-files文件下的mysql。server腳本文件,
將其複製到/etc/rc.d/init.d目錄下,並改名為mysqld,然後再設置執行許可權,通過chkconfig命令將其添加為mysqld系統服務。
[root@localhost mysql-5.5.22]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@localhost mysql-5.5.22]# chmod +x /etc/rc.d/init.d/mysqld
[root@localhost mysql-5.5.22]# chkconfig --add mysqld
[root@localhost mysql-5.5.22]# service mysqld start
查看mysql的運行狀態: 埠號:3306
[root@localhost mysql-5.5.22]# netstat -anpt | grep mysqld
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 21921/mysqld

二、訪問mysql資料庫
1、登錄到mysql伺服器
經過安裝後的初始化過程,mysql資料庫的預設用戶名為root密碼為空,若以root登錄資料庫執行以下操作
mysql -u root -p
mysql>
2、執行mysql操作語句:show master logs; 可查看當前資料庫訪問的日誌文件信息
3、退出mysq可執行quit或exit

三、MySQL的操作語句:

1、查看
①、查看當前伺服器中有哪些庫:
mysql> show databases;
②、查看當前使用的庫中有哪些表:先使用use語句切換到所使用的庫,再查看
mysql> use mysql;
Database changed
mysql> show tables;
MySQL資料庫的數據文件存放在/usr/local/mysql/data目錄下,每個資料庫對應一個子目錄用於存儲數據表文件。一個數據表對應3個文件尾碼名為 .frm 、.myd和 .myi
③、查看表結構:DESCRIBE語句用於顯示表的結構需要指定 “庫名.表名”
mysql> desc mysql.user; //查看mysql庫的user表的結構

2、創建及刪除庫和表
①創建新的庫
mysql> create database auth; //創建一個auth庫
Query OK, 1 row affected (0.00 sec)
②創建新的表:需要指定表名作為參數,並定義該表所使用的各欄位。
mysql> use auth;
mysql> create table users (user_name char(16) not null,user_passwd char(48) default '', primary key (user_name));
//在auth庫中創建一個users表並插入欄位user_name(不超過16位元組且不為空),user_passwd(不超過48位元組)預設為空,並把user_name設為主鍵
Query OK, 0 rows affected (0.02 sec)
mysql> show tables;
+----------------+
| Tables_in_auth |
+----------------+
| users |
+----------------+
1 row in set (0.00 sec)
③刪除表和資料庫
mysql> drop table auth.users; //刪除auth庫中的users表
mysql> drop database auth; //刪除auth資料庫

3、管理表中的數據記錄
①插入數據記錄:insert into
mysql> insert into users(user_name,user_passwd) values('lisi',password('1234')); //向auth庫中users表插入一條記錄,用戶名為lisi,密碼為1234
Query OK, 1 row affected (0.01 sec)
②查詢數據記錄:select
mysql> select * from users; //查詢users表中所有(*)內容
+-----------+-------------------------------------------+
| user_name | user_passwd |
+-----------+-------------------------------------------+
| lisi | *A4B6157319038724E3560894F7F932C8886EBFCF |
+-----------+-------------------------------------------+
1 row in set (0.00 sec)
③修改數據記錄 update
mysql> update auth.users set user_passwd=password('123.com')where user_name='lisi';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
④修改密碼:
用於訪問mysql資料庫的各種用戶信息都保存在mydql庫的user表中,可直接修改其中的數據記錄
mysql> update mysql.user set password=password('1234') where user='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4 Changed: 4 Warnings: 0
也可以在linux命令行下使用mysqladmin工具設置密碼,驗證原密碼後可直接將資料庫用戶密碼設置為 '123.com'
mysql> mysqladmin -u root -p password '123.com'
Enter password:
⑤、刪除數據記錄:delete
mysql> delete from auth.users where user_name='lisi';

4、授權: grant
①授予許可權:GRANT select ON auth.* TO 'xiaosan'@'localhost' IDENTIFIED BY '123456';

②查看許可權:show grants 通過FOR子句可指定查看的用戶對象
mysql> show grants for 'xiaosan'@'localhost';
+----------------------------------------------------------------------------------------------------------------+
| Grants for xiaosan@localhost |
+----------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'xiaosan'@'localhost' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
| GRANT SELECT ON `auth`.* TO 'xiaosan'@'localhost' |
+----------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
③撤銷許可權:revoke
revoke all ON auth.* FROM 'xiaosan'@'localhost';

四、資料庫的備份與恢復
三種格式:(一)導出指定庫中的部分表:
mysqldump 【選項】 庫名 【表名1】【表名2】... > /備份路徑/備份文件名

(二)導出一個或多個完整庫(包括其中所有的表):
mysqldump 【選項】--databases 庫名1 【庫名2】 ... > /備份路徑/備份文件名

(三)備份MySQL伺服器中所有
mysqldump 【選項】--all-databases > /備份路徑/備份文件名

1、備份資料庫
(1)執行導出操作
①[root@localhost ~]# mysqldump -u root -p mysql user > mysql-user.sql ///將mysql庫中的user表導出為mysql-user.sql文件
Enter password: ///輸入root密碼

②[root@localhost ~]# mysqldump -u root -p --databases auth > auth.sql ///將整個auth庫導出為auth.sql文件
Enter password: ///輸入root密碼

③若需要備份整個mysql伺服器中所有庫應使用格式(三)當導出數據量較大時,可以添加"--opt"選項以優化執行速度
例如:mysqldump -u root -p --opt --all-databases > /all-data.sql ///將創建all-data.sql備份文件包含所有庫

(2)查看備份內容
[root@localhost ~]# grep -v "^--" auth.sql | grep -v "^/" | grep -v "^$" 或使用 egrep -v "^--|^/|^$" auth.sql
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `auth` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `auth`;
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`user_name` char(16) NOT NULL,
`user_passwd` char(48) DEFAULT '',
PRIMARY KEY (`user_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
LOCK TABLES `users` WRITE;
INSERT INTO `users` VALUES ('lisi','*AC241830FFDDC8943AB31CBD47D758E79F7953EA');
UNLOCK TABLES;

2、恢複數據庫
① [root@localhost ~]# mysql -u root -p mysql < mysql-user.sql ///從備份文件mysql-user.sql中將user表導入mysql庫中
Enter password:

② [root@localhost ~]# mysql -u root -p < auth.sql ///從備份文件auth.sql恢復auth庫
Enter password:


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 隨著互聯網的深入發展,前端開發工程師一躍成為市場上非常搶手的人才。很多同學,包括以前做UI的、Java的、或者對於IT完全零基礎的同學都想學習前端。下圖是網上流傳甚廣的一張前端學習思維導圖,很多初學者表示看到這些密密麻麻的知識點就已經暈了。確實,前端是一門涵蓋面很廣的學科。但是想學前端的你也不用慌張 ...
  • 前面的話 javascript里的關係又多又亂。作用域鏈是一種單向的鏈式關係,還算簡單清晰;this機制的調用關係,稍微有些複雜;而關於原型,則是prototype、proto和constructor的三角關係。本文先用一張圖開宗明義,然後詳細解釋原型的三角關係 圖示 概念 上圖中的複雜關係,實際上 ...
  • 一、變數 二、sass命名時橫杠和下劃線不區分 三、變數中可以套用變數 四、嵌套規則 五·、偽類和直接調用父級符號& 六、sass的導入 七、嵌套導入 八、關於註釋 九、預設變數 十、混合器的使用mixin 十一、混合器mixin傳參數 十二:繼承 十三:占位符 註意:占位符和繼承的區別:以上占位符 ...
  • 1、使用絕對定位垂直居中 絕對對位原理:元素在過度受限情況下,將margin設置為auto,瀏覽器會重算margin的值,過度受限指的是同時設置top/bottom與height或者left/right與width。 使用絕對定位要求元素必須設置明確高度。內容超過元素高度時需要設置overflow決 ...
  • #如何在main.js直接使用Vue.use()使用自己的自定義組件呢? 需要自己去定義一個test組件,在components下新建文件夾test,test下包含index.js和test.vue index.js內容如下: test.vue內容如下: 最後在main.js下導入: 在其他組件就可 ...
  • ToolBar比ActionBar更加可控,自由。因此,Google 逐漸使用ToolBar來代替ActionBar。 轉載請標明出處http://www.cnblogs.com/tangZH/p/7850572.html 使用ToolBar 1.要引入appCompat_v7支持 2.主題設置為N ...
  • 在iOS開發中,我們會經常遇到一個問題,例如,點擊一個按鈕,彈出一個遮罩層,上面顯示一個彈框,彈框顯示的位置在按鈕附近。如果這個按鈕的位置相對於屏幕邊緣的距離是固定的,那就容易了,可以直接寫死位置。可是,如果按鈕是在UITableView的cell上呢?隨著UITableView的滾動,按鈕可能在頂 ...
  • python自動安裝mysql5.7 python版本:python2.6 centos版本:centos6.9 mysql版本:mysql5.7.19 安裝目錄路徑和數據目錄路徑都是固定,當然也可以自己修改 這個腳本的原理是,通過createmycnf.sh的shell腳本生成my.cnf,buf ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...