Mysql(手動編譯詳細思路,以及增刪改查,受權,備份還原)mysql
1:查看是否冗餘軟件 把系統自帶mysql刪除sql
2:下載源碼,建目錄數據庫
3:掛共享解壓縮安裝目錄,進源碼包 vim
4:配置緩存
5:編譯ide
6:安裝編碼
7:增長服務啓動項spa
8:初始化3d
9:啓動server
10:數據庫的基本操做 增刪改查
11:受權
12:備份以及還原
13:腳本配置文件附解釋
第一步:rpm -qa | grep mysql
第二步:ftp://ftp.easynet.be/mysql/Downloads //下載地址
useradd mysql -s /sbin/nologin //加用戶指定不能登陸系統
mkdir /usr/local/mysql //建目錄文件夾
第三步:掛共享 解壓縮源碼包
關閉防火牆
[root@hao media]# tar zxvf mysql-5.5.24.tar.gz -C /usr/src/ //解壓縮
開始配置,注意:這個版本的數據庫 沒有configure 只有cmake
因此要肯定cmake 這個軟件有沒有安裝
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ //指定目錄
-DMYSQL_DATADIR=/home/mysql/ \ //指定數據目錄
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock \ 這個程序也必須有後面都是固定參數,網上不少大神都寫出來的 就不作解釋了
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DDEFAULT_CHARSET=utf8 \ utf編碼
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_SSL=system \
-DMYSQL_TCP_PORT=3306
-DWITH_SSL=bundled
D 若是參數錯了 從新加入 而且 把配置緩存文件刪除rm -f ./CMakeCache.txt
bison ncurses-devel 2個包必須裝 不然也會報錯 經驗總結!
開始漫長的等待
而後make_install
漫長等待後 終於安裝完!
chown -R mysql.mysql /usr/local/mysql
屬主屬組權限
export PATH=$PATH:/usr/local/mysql/bin/ //修改環境變量
cp support-files/my-medium.cnf /etc/my.cnf //複製配置文件
cp support-files/mysql.server /etc/init.d/mysqld //加入服務
chmod 755 /etc/init.d/mysqld 權限
chkconfig --add /etc/init.d/mysqld 加入mysqld服務
chkconfig mysqld --level 235 on 修改開機啓動項
ln -s /var/lib/mysql/mysql.sock /home/mysql/mysql.sock 軟鏈接
/usr/local/mysql/scripts/mysql_install_db \ 初始化
--user=mysql \
--ldata=/var/lib/mysql \
--basedir=/usr/local/mysql \
--datadir=/home/mysql
vim /etc/init.d/mysqld 修改配置文件
basedir=/usr/local/mysql 基本目錄
datadir=/home/mysql 數據目錄
service mysqld start
netstat -tnl | grep 3306 查看 端口
mysql -u root //登陸數據庫
-------查看命令----------
mysql> show databases;
mysql> use test;
mysql> show tables;
mysql> describe user; //查看錶內容
------------查詢命令----------
SELECT 字段1,字段名2 FROM 表名 WHERE 條件表達式
mysql> SELECT user,host,password FROM mysql.user WHERE user='';
mysql> select * from users;
----------新增命令-----------
CREATE TABLE 表名(字段1名稱 類型,字段二名稱 類型,PRIMARY KEY(主鍵名)
mysql>CREATE DATABASE benet; 建立
mysql>use benet;
mysql> CREATE TABLE users (user_name CHAR(16) NOT NULL, user_passwd CHAR(48) DEFAULT '', PRIMARY
KEY (user_name));
都是SQL基本語句
插入數據 INSERT INTO 表名(字段1,字段2)VALUES(字段1的值,字段2的值)
mysql> INSERT INTO users(user_name,user_passwd) VALUES('zhangsan', PASSWORD('123456'));
mysql> INSERT INTO users VALUES('lisi', PASSWORD('654321'));
------------刪除命令--------------
DROP TABLE 刪除一個數據表 須要指定 庫名和表名
DROP DATABASE 刪除一個數據庫
DELETE FROM 表名 WHERE 條件表達式 刪除數據記錄
mysql> DELETE FROM users WHERE user='lisi';
mysql> DROP TABLE users;
mysql> DROP DATABASE benet;
----------更改命令---------
UPDATE 表名 SET 字段名1=字段值1 WHERE 條件表達式
mysql> UPDATE users SET user_passwd=PASSWORD('abc123') WHERE user_name='lisi';
mysql> UPDATE mysql.user SET password=PASSWORD('123456') WHERE user='root';
mysql>flush privileges; //刷新受權信息
mysqladmin -u root -p password 'abc123'(新密碼)要輸入的是舊密碼!
mysql -u root -pabc123 //登陸
---------------受權命令-------------------
GRANT 權限列表 ON 庫名,表名 TO 用戶名@來源地址 IDENTIFIED BY 密碼
mysql> GRANT select ON users TO 'tom'@'192.168.80.%' IDENTIFIED BY '123456';
//新建tom用戶密碼設置爲123456,對其受權只能查詢users表。
mysql>flush privileges;
必需要刷新權限
mysql> SHOW GRANTS FOR 'tom'@'192.168.80.%';
mysql> REVOKE all ON user FROM 'helen'@'192.168.80.%';
---------------備份與恢復命令------------------
Mysqldump 選項 庫名 表名1 表名2 > /備份路徑/備份文件名 導出庫中部分表
Mysqldump 選項 -- all-databases 庫名1 庫名2> /備份路徑/備份文件名 備份全部數據庫
mysqldump -u root -p --opt --all-databases > all-data.sql //備份全部數據庫
mysqldump -u root -p --database auth > auth.sql //備份auth數據庫
mysqldump -u root -p mysql user > mysql-user.sql //備份mysql的user表
mysql>create database mysql; //先創建mysql空庫
mysql -u root -p mysql < mysql.sql //將備份還原到mysql數據庫中。