標籤:mysql
1、下載
ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.5/mysql-5.5.36.tar.gzftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.5/mysql-5.5.36.tar.gz.md5
2、建立mysql資料庫目錄
2.1、建立分區
添加一塊硬碟
# fdisk -l #查看所有裝置的分區表資訊# fdisk /dev/sdbCommand (m for help): nCommand action e extended p primary partition (1-4)pPartition number (1-4): 1First cylinder (1-2610, default 1): Using default value 1Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +5G Command (m for help): tSelected partition 1Hex code (type L to list codes): 8eChanged system type of partition 1 to 8e (Linux LVM)Command (m for help): nCommand action e extended p primary partition (1-4)pPartition number (1-4): 2First cylinder (655-2610, default 655): Using default value 655Last cylinder, +cylinders or +size{K,M,G} (655-2610, default 2610): +5GCommand (m for help): tPartition number (1-4): 2Hex code (type L to list codes): 8eChanged system type of partition 2 to 8e (Linux LVM)Command (m for help): pDisk /dev/sdb: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0xba23b53e Device Boot Start End Blocks Id System/dev/sdb1 1 654 5253223+ 8e Linux LVM/dev/sdb2 655 1308 5253255 8e Linux LVMCommand (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.
2.2、建立邏輯卷
# pvcreate /dev/sdb{1,2} #建立物理卷 Physical volume "/dev/sdb1" successfully created Physical volume "/dev/sdb2" successfully created# vgcreate myvg /dev/sdb{1,2} #建立卷組 Volume group "myvg" successfully created# lvcreate -L 10G -n mylv myvg Logical volume "mylv" created #建立邏輯卷,-L 指定大小,-n 指定邏輯卷的名稱# lvs #產看lv LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert mylv myvg -wi-a----- 10.00g
2.3、格式化邏輯卷
# mkfs.ext4 -L Mydata /dev/myvg/mylv -L 指定卷標
2.4、將邏輯卷掛載到/mydata
mkdir /mydata# vim /etc/fstabLABEL=Mydata /mydata ext4 defaults 0 0# mount -t ext4 /dev/myvg/mylv /mydata
2.5、建立mysql使用者,建立mysql資料目錄/mydata/data且其屬主、屬組均為mysql
# useradd -r mysql# mkdir /mydata/data# chown -R mysql:mysql /mydata/data/ # -R 遞迴修改# df -lh /mydata/data/ #只顯示檔案系統的相關資訊Filesystem Size Used Avail Use% Mounted on/dev/mapper/myvg-mylv 9.8G 23M 9.2G 1% /mydata
3、編譯安裝mysql
3.1、mysql編譯安裝選項說明
在下表中,“CMAKE_INSTALL_PREFIX”的值表示的是安裝根目錄,其他參數值的路徑都是相對於根目錄的,當然你也可以直接使用絕對路徑,具體如下:
參數值說明 CMak選項
安裝根目錄 -DCMAKE_INSTALL_PREFIX=/usr
mysqld目錄 -DINSTALL_SBINDIR=sbin
資料存放區目錄 -DMYSQL_DATADIR=/mydata/data
設定檔(my.cnf)目錄 -DSYSCONFDIR=/etc/mysql
外掛程式目錄 -DINSTALL_PLUGINDIR=lib64/mysql/plugin
手冊檔案目錄 -DINSTALL_MANDIR=share/man
共用資料目錄 -DINSTALL_SHAREDIR=share
Library庫目錄 -DINSTALL_LIBDIR=lib64/mysql
Header安裝目錄 -DINSTALL_INCLUDEDIR=include/mysql
資訊文檔目錄 -DINSTALL_INFODIR=share/info
3.2、安裝mysql
# tar -xvf mysql-5.5.36.tar.gz# cd mysql-5.5.36# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mydata/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci# make# make install
3.3 、修改mysql安裝目錄的屬主和屬組屬主為root,屬組mysql
# cd /usr/local/mysql/# chown -R .mysql . #屬主.屬組,屬主不改,所以省略 後面的.表示目前的目錄
3.4、為mysql提供住設定檔
# cp support-files/my-small.cnf /etc/my.cnf# vim /etc/my.cnfdatadir = /mydata/data
3.5、為mysql提供sysv服務指令碼
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld# chmod +x /etc/rc.d/init.d/mysqld
3.6、添加至服務列表
# chkconfig --add mysqld #開啟指定的服務程式# chkconfig --list mysqld #列出chkconfig所知道的所有服務mysqld 0:off1:off2:on3:on4:on5:on6:off
3.7、添加mysql的滿尋找命令
# vim /etc/man.config MANPATH /usr/local/mysql/man
3.8、輸出mysql的標頭檔至系統標頭檔路徑/usr/include
# ln -sv /usr/local/mysql/include/ /usr/include/mysql
3.9、輸出mysql的庫檔案到系統庫尋找路徑
# echo ‘/usr/local/mysql/lib‘ > /etc/ld.so.conf.d/mysql.conf # ldconfig -v | grep mysql
3.10、改PATH環境變數,讓系統可以直接使用mysql的相關命令
# echo ‘export PATH=/usr/local/mysql/bin:$PATH‘ > /etc/profile.d/mysqld.sh# source /etc/profile# echo $PATH
3.11、初始化資料庫
# scripts/mysql_install_db --user=mysql --datadir=/mydata/data
3.12、啟動資料庫並測試
# service mysqld startStarting MySQL.. [ OK ]
4、mysq選項
-u : 使用者名稱-p : 密碼-D : 預設開啟的資料庫
5、登入測試
# mysql -uroot -p -D mysql #登入資料庫Enter password: ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
註:當時輸入了密碼,所以報錯了,但是不是道如果不輸入密碼會不會報錯
解決方案:
1、vim /etc/my.cnf,在最後一行添加“skip-grant-tables”
2、重啟MySQL服務 service mysql restart
3、在命令列中輸入“mysql -uroot -p”(不輸入密碼),斷行符號即可進入資料庫
4、執行“use mysql;”才能使用mysql資料庫
5、執行“set password for [email protected]=password(‘mysql‘);”(修改root的密碼)
6、開啟MySQL目錄下的my.ini檔案,刪除最後一行的“skip-grant-tables”,儲存並關閉檔案
7、重啟MySQL服務
8、在命令列中輸入“mysql -uroot -prootadmin”
mysql> SELECT host,user,password FROM user;ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘SELECT host,user,passwd FROM user‘ at line 2 #如果沒有執行“use mysql;”命令,就會顯示錯誤了mysql> use mysql;mysql> SELECT host,user,password FROM user;+--------------+------+-------------------------------------------+| host | user | password |+--------------+------+-------------------------------------------+| localhost | root | *E74858DB86EBA20BC33D0AECAE8A8108C56B17FA || werewolf.com | root | || 127.0.0.1 | root | || ::1 | root | || localhost | | || werewolf.com | | |+--------------+------+-------------------------------------------+6 rows in set (0.00 sec)
本文出自 “三哥” 部落格,請務必保留此出處http://523958392.blog.51cto.com/9871195/1617334
mysql的編譯安裝