又動手安裝了一次mysql,版本是5.5.45,5.5以上版本需要安裝cmake!
安裝流程:
0.先檢查是否有自帶的mariadb,有則卸載
1.安裝所需軟件; 2.安裝CMAKE; 3.tar.gz形式安裝mysql; 4.配置與啟動;
0.首先centos7 已經不支持mysql,所以內部集成了mariadb,而安裝mysql的話會和mariadb的文件沖突,所以需要先卸載掉mariadb,以下為卸載mariadb,安裝mysql的步驟。(媽蛋,之前不知道,我安裝了一整天才知道有這個坑,fu*k)
rpm -qa|grep mariadb
看到有 mariadb-5.5.44。。。。。和mariadb-libs-。。。2個文件,刪之。
rpm -e mariadb-libs-5.5.44-1.el7_1.x86_64
出現錯誤,此時要強制刪除,帶--nodeps 參數
rpm -e --nodeps mariadb-libs-5.5.44-1.el7_1.x86_64
rpm -e --nodeps mariadb-5.5.44-1.el7_1.x86_64
強制刪除了,就木有了,可以安心安裝了。
rpm -qa|grep mariadb
1.安裝mysql依賴服務
Centos 下 mysql安裝依賴服務:
yum install -y gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*
Ubuntu下mysql安裝依賴服務
apt-get install gcc g++ cmake make libncurses5-dev bison zip
或者直接安裝 apt-get install mysql-server mysql-client php5-mysql 即可
2. Centos下安裝cmake
wget http://www.cmake.org/files/v3.4/cmake-3.4.0.tar.gz tar -zxvf cmake-3.4.0.tar.gz && cd cmake-3.4.0 ./configure 之后運行 Gmake && make install
Ubuntu下 make && make install
解壓和 運行 ./configure后,出現“Now run gmake”
於是gmake
安裝目錄
輸入cmake命令,看到有回應了。
cmake安裝好了!
3.下載和安裝mysql-5.5.45
先清理下環境:(防止此前有相關文件)
rm -rf /etc/my.cnf userdel mysql groupdel mysql
再添加mysql的用戶組
groupadd mysql #[添加mysql組]
useradd -g mysql mysql #[在mysql組下添加mysql用戶]
好,開始下載mysql5.5.45
wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.45.tar.gz tar -zxvf mysql-5.5.45.tar.gz && cd mysq-5.5.45.tar.gz
進入mysql目錄,使用cmake編譯
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGIME=1 \ -DWITH_READLINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DMYSQL_DATADIR=/var/mysql/data \ -DMYSQL_USER=mysql
看到這個畫面,就說明編譯OK了。
接着
make && make install
改變mysql目錄擁有組和所有組 chmod +w /usr/local/mysql chown -R mysql:mysql /usr/local/mysql
進入mysql/lib目錄,看到 有libmysqlclient.so.18 和libmysqlclient.so.20
4.設置配置文件
接着復制配置文件:
ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib/libmysqlclient.so.20 #軟連接 cd support-files #里面有多個my-*.cnf,large,huge,small,medium,不同的配置適用於不同的機器 cp my-large.cnf /etc/my.cnf cp mysql-server /etc/init.d/mysqld
修改配置文件:
vim /etc/my.cnf 在[mysqld]下面添加 basedir = /usr/local/mysql datadir = /usr/local/mysql/data log-error = /usr/local/mysql/mysql_error.log pid-file = /usr/local/mysql/data/mysql.pid default-storage-engine=MyISAM user = mysql
接着完成mysql初始化
/usr/local/mysql/scripts/mysql_install_db \ --basedir=/usr/local/mysql \ --datadir=/var/mysql/data \ --user=mysql
將 mysql 加入開機啟動
chmod +x /etc/init.d/mysqld
vim /etc/init.d/mysqld
修改路徑
basedir=/usr/local/mysql
datadir=/var/mysql/data
chkconfig --add mysqld
chkconfig --level 345 mysqld on
Ubuntu 10后沒有chkconfig命令,可以使用
update-rc.d -f mysqld defaults 命令
為MySQL配置環境變量
export PATH=/usr/local/mysql/bin:$PATH
啟動mysql
service mysqld start
設置密碼
/usr/local/mysql/scripts/mysql_secure_installation
注意,只有my.cnf 里面的datadir為/usr/local/mysql/data,其他均為 /var/mysql/data !
在bin/mysql --help 里面可以看到,mysql會讀取以下幾個地址的my.cnf Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
終於搞定!