為了防止無良網站的爬蟲抓取文章,特此標識,轉載請注明文章出處。LaplaceDemon/SJQ。
http://www.cnblogs.com/shijiaqi1066/p/4311061.html
此處使用的MySQL為5.6版本。
卸載MySQL
首先卸載由RPM包安裝的MySQL。系統自帶的MySQL本質也是由RPM包安裝的。
查詢系統中MySQL的相關程序:
rpm -qa | grep mysql
卸載MySQL相關程序:
rpm -e 包名 或 rpm -e --nodeps 包名
例:卸載mysql-libs
rpm -e mysql-libs #卸載
說明:若存在依賴關系,則無法被卸載。
忽略依賴關系卸載:
rpm -e --nodeps mysql-libs
刪除老版本的MySQL的開發頭文件和庫(若沒有使用RPM版本的MySQL,則該步驟不會使用到)
rm -fr /usr/lib/mysql rm -fr /usr/include/mysql
注意:卸載后/var/lib/mysql中的數據及/etc/my.cnf不會刪除,如果確定沒用后就手工刪除
rm -f /etc/my.cnf rm -fr /var/lib/mysql
編譯安裝MySQL
配置編譯環境
MySQL5.5及以上版本都開始用cmake方式進行配置編譯。(MySQL5.0,5.1 均使用configure進行配置。)所以需要先安裝好cmake
方法一:
yum -y install make gcc-c++ cmake bison-devel ncurses-devel
方法二:
CentOS5.5的yum沒有cmake,所以可以選擇編譯安裝cmake。
安裝編譯源碼所需的工具和庫
yum install gcc gcc-c++ ncurses-devel perl
安裝cmake,從 www.cmake.org 下載源碼並編譯安裝
wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz tar -xzvf cmake-2.8.10.2.tar.gz cd cmake-2.8.10.2 ./bootstrap ; make ; make install
下載MySQL源碼包后開始編譯
tar -zxf mysql-5.6.23.tar.gz cd mysql-5.6.23
一些准備工作
設置MySQL用戶和組
新增mysql用戶組
groupadd mysql
新增mysql用戶
useradd -r -g mysql mysql
新建MySQL所需要的目錄
新建mysql安裝目錄
mkdir -p /usr/local/mysql
新建mysql數據庫數據文件目錄
mkdir -p /data/mysqldb
編譯安裝
CMake執行腳本為:
cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DMYSQL_DATADIR=/data/mysqldb \ -DMYSQL_TCP_PORT=3306 \ -DENABLE_DOWNLOADS=1
說明:
網上有些文章中給出的cmake命令如下:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_UNIX_ADDR=/data/mysql/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_ENGINE=1 \ -DWITH_READLINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DMYSQL_DATADIR=/data/mysql \ -DMYSQL_USER=mysql \ -DMYSQL_TCP_PORT=3306
編譯后警告顯示:
即MYSQL_USER等模塊式不可用的。
此時,若需要重新配置,請刪除CMakeCache.txt文件:
rm CMakeCache.txt
去掉MYSQL_USER等不可被用的選項后,再重新編譯即可。
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_UNIX_ADDR=/data/mysql/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 \ -DENABLED_LOCAL_INFILE=1 \ -DMYSQL_DATADIR=/data/mysql \ -DMYSQL_TCP_PORT=3306
編譯 & 安裝
make make install
這兩步都需要很長時間,請耐心等待。
修改mysql目錄所有者和組
修改mysql安裝目錄
cd /usr/local/mysql chown -R mysql:mysql .
修改mysql數據庫文件目錄
cd /data/mysqldb chown -R mysql:mysql .
說明:
chown 最后跟文件名。此處使用".",表示當前目錄。
啟動MySQL
初始化mysql數據庫
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb
...... ......
說明:
從打印日志可以看出,mysql_install_db命令的作用是生成MySQL系統表。並且最后在mysql目錄下生成一個my.cnf文件。
--user=mysql 作用是指定運行mysqld進程的用戶名。設置這個用戶以后,所有通過mysqld進程創建的文件(如日志等)都會屬於這個用戶。
mysql配置文件
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
注:如果/etc/my.cnf文件存在,則覆蓋。
關於MySQL配置文件存在多個訪問位置。MySQL會以此訪問,后訪問到的配置會覆蓋先前的配置。
MySQL訪問配置文件的訪問路徑與訪問順序如下:
配置MySQL
[client] #password = your_password port = 3306 socket = /data/mysql/mysql.sock default-character-set=utf8 # Here follows entries for some specific programs # The MySQL server [mysqld] port = 3306 character_set_server=utf8 basedir=/data/mysql datadir=/data/mysql/data socket = /data/mysql/mysql.sock skip-external-locking key_buffer_size = 16M max_allowed_packet = 1M table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M
將MySQL執行命令添加入PATH
vim /etc/profile
在文件的末尾添加內容:
PATH=$PATH:/usr/local/mysql/bin
export PATH
保持退出后,執行:
source /etc/profile
將MySQL設置為系統服務並啟動服務
cp support-files/mysql.server /etc/init.d/mysqld
即,MySQL可以以如下形式啟動:
service mysqld start
如果報錯 "Starting MySQL. ERROR! The server quit without updating PID file (/data/mysql/rhelubuntu.com.pid). " 則修改
vim /etc/init.d/mysqld
修改basedir=/usr/local/mysql -----mysql安裝位置
修改datadir=/var/data/mysqldata -----mysql數據文件存放位置
一般修改好這個再重新啟動mysql應該不會報錯了。
檢查MySQL是否已經啟動:
netstat -tulnp | grep 3306
配置用戶
使用MySQL客戶端連接MySQL服務器
mysql -u root -p
初始密碼為空,如果能登陸上,則安裝成功。
設置mysql管理員密碼
mysqladmin -u root password "123456";
則123456即為新密碼。
設置mysql 遠程登錄
grant all on *.* to root@'%'; flush privileges;
更多配置,略。
配置防火牆
防火牆的3306端口默認沒有開啟,若要遠程訪問,需要開啟這個端口
打開/etc/sysconfig/iptables
在"-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT",下添加:
-A INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT
然后保存,並關閉該文件,在終端內運行下面的命令,刷新防火牆配置:
service iptables restart
CentOS 7中默認使用Firewalld做防火牆,所以修改iptables后,在重啟系統后,根本不管用。
Firewalld中添加端口方法如下:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
為了防止無良網站的爬蟲抓取文章,特此標識,轉載請注明文章出處。LaplaceDemon/SJQ。
http://www.cnblogs.com/shijiaqi1066/p/4311061.html