centos编译mysql5.6_centos7上编译安装mysql5.6
注意,在做實驗室統一關閉防火墻做的,在生產環境需要做防火墻規則的,大家要注意,做的時候盡量都是模仿生產環境的,比如服務一般都在/data/soft下面,盡量避免在/usr/local/下面。
安裝編譯mysql所需要的軟件
[root@localhost soft]# yum -y install gcc gcc-c++ ncurses-devel perl
[root@localhost soft]# wget https://cmake.org/files/v3.11/cmake-3.11.1.tar.gz
[root@localhost soft]# tar -xvf cmake-3.11.1.tar.gz
[root@localhost soft]# cd cmake-3.11.1/
[root@localhost cmake-3.11.1]# ./bootstrap && make && make install
創建mysql用戶,安裝目錄和數據目錄
[root@localhost soft]# groupadd mysql
[root@localhost soft]# useradd -r -g mysql mysql
[root@localhost soft]# mkdir /data/soft/mysql
[root@localhost soft]# mkdir /data/mysqldb
下載mysql5.6的源碼,注意有些版本下過來編譯會出現不兼容的情況,需要選擇cmake能夠兼容的mysql版本。
[root@localhost soft]# wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.16.tar.gz
[root@localhost soft]# tar -xvf mysql-5.6.16.tar.gz
[root@localhost soft]# cd mysql-5.6.16/
編譯安裝
[root@localhost mysql-5.6.16]# cmake -DCMAKE_INSTALL_PREFIX=/data/soft/mysql -DMYSQL_UNIX_ADDR=/data/soft/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
[root@localhost mysql-5.6.16]# rm -rf CMakeCache.txt
[root@localhost mysql-5.6.16]# make && make install
修改mysql目錄所有者和組
[root@localhost soft]# chown -R mysql:mysql /data/mysqldb/
[root@localhost soft]# chown -R mysql:mysql /data/soft/mysql/
初始化數據目錄
[root@localhost mysql-5.6.16]# cd /data/soft/mysql
[root@localhost mysql]# scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb
注意:此處出現問題了
# scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb
Can't locate Data/Dumper.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at scripts/mysql_install_db line 42.
BEGIN failed--compilation aborted at scripts/mysql_install_db line 42.
解決辦法為
yum -y install 'perl(Data::Dumper)'
修改mysql配置文件
[root@localhost mysql]# cp /data/soft/mysql/support-files/my-default.cnf /etc/my.cnf
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
文件修改如下
[root@localhost mysql]# vim /etc/my.cnf 修改下面四行內容
basedir = /data/soft/mysql
datadir = /data/mysqldb
port = 3306
server_id = 1
加入path路徑
[root@localhost mysql]# vim /etc/profile
PATH=/data/soft/mysql/bin:/data/soft/mysql/lib:$PATH
export PATH
執行變量,讓設置的路徑生效
[root@localhost mysql]# source /etc/profile
加入系統服務中
[root@localhost mysql]# chkconfig mysqld on
啟動數據庫
[root@localhost mysql]# systemctl start mysqld
查看是否啟動完成
[root@localhost mysql]# ps -ef |grep mysqld
root 49740 1 0 19:58 ? 00:00:00 /bin/sh /data/soft/mysql/bin/mysqld_safe --datadir=/data/mysqldb --pid-file=/data/mysqldb/localhost.localdomain.pid
mysql 49908 49740 15 19:59 ? 00:00:01 /data/soft/mysql/bin/mysqld --basedir=/data/soft/mysql --datadir=/data/mysqldb --plugin-dir=/data/soft/mysql/lib/plugin --user=mysql --log-error=/data/mysqldb/localhost.localdomain.err --pid-file=/data/mysqldb/localhost.localdomain.pid --port=3306
root 49936 4132 0 19:59 pts/1 00:00:00 grep --color=auto mysqld
登錄mysql并修改初次登陸密碼
[root@localhost mysql]# mysql -uroot
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.16 Source distribution
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> set password = password('m2i3sc');
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
授權遠程主機能夠登陸mysql
mysql> create user nsh identified by '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on *.* to 'nsh'@'%' identified by '123456' with grant option;
Query OK, 0 rows affected (0.07 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
在本地用navicat測試連接情況,說明授權登陸成功。
好了,這是簡單安裝mysql5.6的版本,做出來比較簡化,我看網上很多都是yum直接搞定,但是在生產環境我不建議這樣做,后期維護非常麻煩,大量的數據在/(根)下,生產環境是直接掛在一塊容量很大的硬盤上,所有數據都在這上面,這樣減輕了服務器的壓力,同時也方便維護,希望大家能夠理解。
總結
以上是生活随笔為你收集整理的centos编译mysql5.6_centos7上编译安装mysql5.6的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北京农商银行凤凰宝安全吗?
- 下一篇: 十万块钱买股票还是基金?