MySQL源碼編譯與初始化
鏈接:https://pan.baidu.com/s/1ANGg3Kd_28BzQrA5ya17fQ
提取碼:ekpy
復制這段內容后打開百度網盤手機App,操作更方便哦
1.MySQL簡介
1.1數據庫有很多種類:
- 關系型數據庫--->MySQL Oracle
- 非關系型數據庫-->memcached redis
- 圖形化數據庫---->mongodb
- 陣列型(線形)數據庫--->Hbase
- 時間序列數據庫---->influxDB
1.2什么叫關系型數據庫???
SQL數據庫數據與數據之間是有關系的,通過關系能夠將一系列數據都提取出來。
1.3什么叫非關系型數據庫???
NOSQL(Not only SQL)數據庫
2.安裝源碼編譯必備的幾個軟件包
[root@yangwenbo yang]# yum -y install make gcc gcc-c++ ncurses-devel cmake
[root@yangwenbo yang]# rpm -qa make gcc gcc-c++ ncurses-devel cmake
gcc-4.4.7-4.el6.x86_64
cmake-2.6.4-5.el6.x86_64
gcc-c++-4.4.7-4.el6.x86_64
ncurses-devel-5.7-3.20090208.el6.x86_64
make-3.81-20.el6.x86_64
3.源碼編譯與安裝
3.1源碼編譯cmake-2.8.6.tar.gz
[root@yangwenbo yang]# ls
cmake-2.8.6.tar.gz mysql-5.5.22.tar.gz
3.1.1解包
[root@yangwenbo yang]# tar xf cmake-2.8.6.tar.gz -C /usr/src/
3.1.2去解包后的文件存放位置的目錄
[root@yangwenbo yang]# cd /usr/src/cmake-2.8.6/
3.1.3編譯安裝
[root@yangwenbo cmake-2.8.6]# ./configure && gmake && gmake install
#以下省略。。。
- 耐心等待...
3.1.4編譯成功
[root@Mysql cmake-2.8.6]# echo $?
0
3.2源碼編譯mysql-5.5.22.tar.gz
[root@yangwenbo yang]# ls
cmake-2.8.6.tar.gz mysql-5.5.22.tar.gz
3.2.1創建程序用戶
[root@yangwenbo yang]# useradd -s /sbin/nologin -M mysql
[root@yangwenbo yang]# id mysql
uid=500(mysql) gid=500(mysql) groups=500(mysql)
3.2.2解包
[root@yangwenbo yang]# tar xf mysql-5.5.22.tar.gz -C /usr/src/
3.2.3去解包后的文件存放位置的目錄
[root@yangwenbo yang]# cd /usr/src/mysql-5.5.22/
3.2.4編譯安裝
[root@yangwenbo 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 && make && make install
#以下省略。。。
3.2.5編譯成功
[root@Mysql mysql-5.5.22]# echo $?
0
3.2.6目錄簡介
4.安裝后優化操作
4.1修改mysql
安裝目錄的屬主
[root@Mysql /]# chown -R mysql /usr/local/mysql/
[root@Mysql /]# ll -d /usr/local/mysql/
drwxr-xr-x. 13 mysql root 4096 Aug 19 00:19 /usr/local/mysql/
4.2創建修改my.cnf
配置文件
[root@Mysql mysql]# /bin/cp support-files/my-medium.cnf /etc/my.cnf
4.3創建修改mysqld
的啟動腳本
[root@Mysql mysql]# /bin/cp support-files/mysql.server /etc/init.d/mysqld
4.4為啟動腳本加上X
權限
[root@Mysql mysql]# chmod +x /etc/init.d/mysqld
[root@Mysql mysql]# ll -d /etc/init.d/mysqld
-rwxr-xr-x. 1 root root 10650 Aug 19 01:08 /etc/init.d/mysqld
4.5添加至系統服務(開機自啟動)
[root@Mysql mysql]# chkconfig mysqld --add
[root@Mysql mysql]# chkconfig mysqld --list
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
4.6.1使用軟連接,使環境變量找到這個命令
[root@Mysql mysql]# which mysql #一開始找不到這個命令
/usr/bin/which: no mysql in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
[root@Mysql mysql]# ln -s /usr/local/mysql/bin/* /usr/local/bin/
[root@Mysql mysql]# which mysql #通過軟連接,已經可以找到這個命令
/usr/local/bin/mysql
4.6.2使用環境變量
4.7執行mysql_install_db
腳本初始化數據庫
[root@Mysql mysql]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
#以下省略。。。
4.8啟動mysql
服務,並查看運行狀態
[root@Mysql mysql]# /etc/init.d/mysqld start
Starting MySQL... SUCCESS!
[root@Mysql mysql]# netstat -anpt | grep :3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 40589/mysqld
5.登錄MySQL
5.1進入
5.2MySQL參數
5.3為MySQL
設置密碼
[root@Mysql mysql]# mysqladmin -uroot password '971108'
5.4用戶登錄
不交互登錄
[root@Mysql mysql]# mysql -uroot -p971108
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.22-log Source distribution
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
#登錄成功,配置完成