本篇文章帶大家簡析下mysql的安裝cmake方式,介紹一下cmake方式的一些知識,希望對大家有所幫助!
一般分為以下幾種
yum
rpm包
常規(guī)編譯安裝
cmake安裝
二進(jìn)制包免安裝
如何選擇
個人使用
yum或rpm包安裝
企業(yè)使用
多用常規(guī)編譯和cmake及二進(jìn)制包免安裝
數(shù)量少的話
5.1.x版本選擇使用常規(guī)編譯安裝
5.5.x版本選擇使用cmake方式編譯安裝
數(shù)量多的話
直接使用二進(jìn)制包免安裝
首先查看系統(tǒng)環(huán)境
[root@localhost ~]# cat /etc/redhat-release CentOS release 6.5 (Final) [root@localhost ~]# uname -r 2.6.32-431.el6.x86_64 [root@localhost ~]# uname -m x86_64
在安裝cmake軟件,需要安裝gcc和gcc-c++
yum -y install gcc
yum -y install gcc-c++
編譯安裝完cmake后,需要安裝依賴包
yum install ncurses-devel -y
記住先要安裝用戶和組
[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd mysql -s /sbin/nologin -M -g mysql
依賴包安裝完后,cd進(jìn)入mysql的目錄進(jìn)行cmake操作
cmake -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 -DMYSQL_DATADIR=/application/mysql-5.5.32/data -DMYSQL_UNIX_ADDR=/application/mysql-5.5.32/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii -DENABLED_LOCAL_INFILE=ON -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITH_FAST_MUTEXES=1 -DWITH_ZLIB=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DWITH_EMBEDDED_SERVER=1 -DWITH_DEBUG=0 -DWITHOUT_PARTITION_STORAGE_ENGINE=1 貌似因為64位主機(jī)編譯不過去?。?! -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all " 執(zhí)行成功返回下面代碼
Build files have been written to: /root/lamp/mysql-5.5.32
make && install 安裝完成
[100%] Built target my_safe_process #此處make完成
….
….
….
— Installing: /application/mysql-5.5.32/support-files/solaris/postinstall-solaris #此處make install 完成
建立link
ln -s /application/mysql-5.5.32/ application/mysql
建立my.cnf
[root@localhost /]# cp /application/mysql-5.5.32/support-files/my-small.cnf /etc/my.cnf
cp:是否覆蓋"/etc/my.cnf"? y
配置環(huán)境變量
echo 'export PATH=/application/mysql/bin:$PATH' >> /etc/profile
tail -l /etc/profile
source /etc/profile
echo $PATH
給mysql用戶和mysql用戶組授權(quán)
chown -R mysql.mysql /application/mysql/data/
chmod -R 1777 /tmp/
初始化db腳本,假如有兩個ok,就證明成功
[root@localhost /]# cd /application/mysql/scripts/
[root@localhost scripts]# ./mysql_install_db –basedir=/application/mysql/ –datadir=/application/mysql/data/ –user=mysql
Installing MySQL system tables…
OK
Filling help tables…
OK
修改hosts文件
vim /etc/hosts
加入www
加入mysqld腳本
cp /root/lamp/mysql-5.5.32/support-files/mysql.server /etc/init.d/mysqld
加入mysqld腳本執(zhí)行權(quán)限
chmod +x /etc/init.d/mysqld
執(zhí)行mysqld運行
[root@localhost scripts]# /etc/init.d/mysqld start
Starting MySQL… [確定]
[root@localhost scripts]# netstat -lntup | grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2671/mysqld
進(jìn)入mysql服務(wù)器,如果之前配置了環(huán)境變量了,就可以執(zhí)行mysql命令
mysql
刪除空用戶
mysql> select user,host from mysql.user; | |
---|---|
user | host |
+——+———————–+ | |
root | 127.0.0.1 |
root | ::1 |
localhost | |
root | localhost |
localhost.localdomain | |
root | localhost.localdomain |
6 rows in set (0.00 sec)
mysql> delete from mysql.user where user ='';
Query OK, 2 rows affected (0.09 sec)
mysql> select user,host from mysql.user; | |
---|---|
user | host |
+——+———————–+ | |
root | 127.0.0.1 |
root | ::1 |
root | localhost |
root | localhost.localdomain |
4 rows in set (0.00 sec)
mysql>
授權(quán)system管理員
mysql> grant all privileges on . to system@'localhost' identified by 'longjq' with grant option;
Query OK, 0 rows affected (0.00 sec)
修改mysql密碼
/application/mysql//bin/mysqladmin -u root password '123456'
/application/mysql//bin/mysqladmin -u root -h localhost.localdomain password 'new-password'
加入啟動管理
[root@localhost scripts]# chkconfig –list mysqld
mysqld 0:關(guān)閉 1:關(guān)閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關(guān)閉`
故障排除
登錄不了mysql?刪除文件,重新初始化
# mysql access denied for user 'localhost'...... # pkill mysqld # lsof -i :3306 # rm -fr /application/mysql/data/* # /application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql
字符集錯誤?
[root@localhost scripts]# cat /etc/sysconfig/i18n #LANG="zh_CN.GB18030"#這里改成zh_CN.UTF-8 LANG="zh_CN.UTF-8"
推薦學(xué)習(xí):《mysql視頻教程》