1恒水,使用rpm安裝MySQL
yum install mysql-server 安裝服務(wù)器包
service mysqld start 啟動 數(shù)據(jù)庫
mysql默認沒有啟動密碼劳淆。可以執(zhí)行安裝腳本
mysql_secure_installation
mysql -p 輸入密碼登錄
2神郊,二進制安裝MariaDB
二進制安裝是已經(jīng)編譯完成的包临谱,我們拿過來直接解壓到指定的目錄中 并且創(chuàng)建用戶跑筝,mysql數(shù)據(jù)庫文件存放的目錄,修改PATH變量召嘶,修改配置文件就可以了
將包解壓到/usr/local/mysql目錄中
tar -xf mariadb-10.2.19-linux-x86_64.tar.gz -C /usr/local
名字太長指定軟連接
ln -s /usr/local/mariadb-10.2.19-linux-x86_64/ /usr/local/mysql
創(chuàng)建mysql用戶父晶,默認二進制安裝沒有生成mysql用戶
useradd -r -s /sbin/nologin -d /data/mysql -c 'maridb user' mysql
mkdir /data/mysql 創(chuàng)建mysql的家目錄
cd /usr/local/mysql
執(zhí)行scripts目錄中的腳本。初始化創(chuàng)建數(shù)據(jù)庫弄跌。并指定用戶和數(shù)據(jù)庫存放路徑
./scripts/mysql_insatll_db --user=mysql --datadir=/data/mysql
復(fù)制一個配置文件放在 /etc/mysql下 用于存放數(shù)據(jù)庫配置文件诱建。并且修改數(shù)據(jù)庫數(shù)據(jù)路徑,根據(jù)需要在修改其他
cp support-files/my-huge.cnf /etc/mysql/my.cnf
將服務(wù)腳本拷貝到init.d目錄中
cp support-files/mysql.server /etc/init.d/mysqld
加入系統(tǒng)啟動服務(wù)
chkconfig -add mysqld
service mysqld start
配置path變量
echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
3碟绑,編譯安裝MariaDB
安裝依賴包
yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boostdevel
gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssldevel libevent-devel libaio-devel
創(chuàng)建用戶組和數(shù)據(jù)目錄
useradd -r -s /sbin/nologin -d /data/mysql/ mysql
mkdir /data/mysql
chomn mysql.mysql /data/mysql
tar -xvf mariadb-10.2.19.tar.gz 解壓文件
進入mariadb-10.2.19目錄開始執(zhí)行編譯
cmake . \
-DCMAKE_INSTALL_PREFIX=/app/mysql \
-DMYSQL_DATADIR=/data/mysql/ \
-DSYSCONFDIR=/etc/mysql \
-DMYSQL_USER=mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
make && make install
make -j 4 && make install
生成數(shù)據(jù)庫文件
cd /usr/local/mysql
./scripts/mysql_install_db --datadir=/data/mysql --user=mysql
準備環(huán)境變量
echo 'PATH=/app/mysql/bin:$PATH'> /etc/profile.d/mysql.sh
準備配置文件
cp /app/mysql/support-files/my-huge.cnf /etc/my.cnf
準備啟動腳本
cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld
啟動服務(wù)
chkconfig --add mysqld ;service mysqld start
4,students表的數(shù)據(jù)茎匠,實現(xiàn)下面的需求格仲,寫出sql:
MariaDB [db1]> select * from students;
+—-+——–+——-+——-+——+——-+
| id | name | phone | score | swx | class |
+—-+——–+——-+——-+——+——-+
| 1 | adc | 110 | 86 | m | 1 |
| 2 | zhou | NULL | 80 | f | 1 |
| 3 | fei | NULL | 100 | f | 2 |
| 4 | lin | NULL | 88 | m | 2 |
| 5 | wang | 1000 | 99 | m | 2 |
| 6 | 飛哥 | 10000 | 99 | m | 2 |
+—-+——–+——-+——-+——+——-+
1)在students表中,查詢年齡大于25歲诵冒,且為男性的同學(xué)的名字和年齡
select Name,Age from students where Age>25;
2)以ClassID為分組依據(jù)凯肋,顯示每組的平均年齡
select ClassID,avg(Age) from students group by ClassID
3)顯示第2題中平均年齡大于30的分組及平均年齡
select ClassID,avg(Age) from students group by ClassID having avg(Age) > 30
4)顯示以L開頭的名字的同學(xué)的信息
select * from students where name like 'L%';
5)顯示TeacherID非空的同學(xué)的相關(guān)信息
select * from students where TeacherID is not null;