1. 程式人生 > >MySQL 5.5 編譯與排錯

MySQL 5.5 編譯與排錯

hole sts config -s 設置 錯誤代碼 問題 port lac

**************************************************************************************************
MySQL 5.5 編譯
**************************************************************************************************

1.安裝編譯環境

yum install -y gcc gcc-c++

2.安裝Ncurses

yum install -y ncurses-devel

tar -xzvf ncurses-6.1.tar.gz

cd ncurses-6.1/

./configure --with-shared \
--without-debug \
--without-ada \
--enable-overwrite

make && make install


3.安裝Cmake和Bison

yum install -y cmake bison


4.安裝MySQL

groupadd mysql

useradd mysql -s /sbin/nologin -M -g mysql

tar -xzvf mysql-5.5.59.tar.gz

cd mysql-5.5.59/

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.5 \
-DMYSQL_DATADIR=/usr/local/mysql-5.5/data \
-DMYSQL_UNIX_ADDR=/usr/local/mysql-5.5/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-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 \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DWITH_DEBUG=0


==============================================================================
上面↑語句的解釋

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql #安裝位置
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock #指定socket文件位置
-DEXTRA_CHARSETS=all #擴展字符支持
-DDEFAULT_CHARSET=utf8 #默認字符集
-DDEFAULT_COLLATION=utf8_general_ci #默認字符校對
-DWITH_MYISAM_STORAGE_ENGINE=1 #安裝myisam存儲引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 #安裝innodb存儲引擎
-DWITH_MEMORY_STORAGE_ENGINE=1 #安裝memory存儲引擎
-DWITH_READLINE=1 #支持readline庫
-DENABLED_LOCAL_INFILE=1 #啟用加載本地數據
-DMYSQL_USER=mysql #指定mysql運行用戶
-DMYSQL_TCP_PORT=3306 #指定mysql端口

==============================================================================

make && make install


==================================================
MySQL 5.5 配置
==================================================

1.MySQL目錄授權

chown -R mysql:mysql /usr/local/mysql-5.5/


2.拷貝MySQL配置文件

cp -a /usr/local/mysql-5.5/support-files/my-medium.cnf /etc/my.cnf
cp -a /usr/local/mysql-5.5/support-files/mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld


3.初始化MySQL

cd /usr/local/mysql-5.5/scripts/

/usr/local/mysql-5.5/scripts/mysql_install_db \
--basedir=/usr/local/mysql-5.5/ \
--datadir=/usr/local/mysql-5.5/data/ \
--user=mysql


4.啟動MySQL

/etc/init.d/mysqld start

/usr/local/mysql-5.5/bin/mysqld_safe --user=mysql &


5.配置環境變量

echo ‘export PATH=/usr/local/mysql-5.5/bin:$PATH‘ >> /etc/profile

source /etc/profile


6.設置登陸密碼

/usr/local/mysql-5.5/bin/mysql_secure_installation


7.設置MySQL開機啟動

chkconfig mysqld on

chkconfig --list mysqld

echo "/usr/local/mysql/bin/mysqld_safe --user=mysql &" >> /etc/rc.local


7.登陸MySQL測試

/usr/local/mysql-5.5/bin/mysql -uroot -p

**************************************************************************************************
MySQL-5.5排錯
**************************************************************************************************
[問題描述]

描述:MySQL 第一次初始化後無法啟動

錯誤代碼:Starting MySQL..The server quit without updating PID file ([FAILED]al/mysql-5.5/data/www.pid).

錯誤代碼:Starting MySQL.180421 12:24:46 mysqld_safe error: log-error set to ‘/usr/local/mysql-5.5/error.log‘, however file don‘t exists. Create writable for user ‘mysql‘.
The server quit without updating PID file (/usr/local/mysql[FAILED]a/www.pid).


[解決策略]

vim /etc/my.cnf

[mysqld]

log-error = /usr/local/mysql-5.5/error.log
datadir = /usr/local/mysql-5.5/data


chown -R mysql.mysql /usr/local/mysql-5.5

./usr/local/mysql-5.5/scripts/mysql_install_db

==============================================================================================

MySQL 5.5 編譯與排錯