接下來的過程,共分為三部分:原始碼安裝 mysql server,配置遠端連線許可權和c++遠端訪問mysql測試。
一、原始碼安裝mysql。
1、安裝必備包。
yum install -y gcc gcc-c++ make automake wget
2、原始碼安裝cmake。
wgettar -zxvf cmake-2.8.10.2.tar.gz
cd cmake-2.8.10.2
./bootstrap
gmake
gmake install
cat install_manifest.txt //see install list
注意:如果執行./bootstrap 報錯,則rm -rf cmakecache.txt,再執行。
3、安裝mysql
yum -y install bison-devel ncurses-develwget
tar -zxvf mysql-5.6.24.tar.gz
cd mysql-5.6.24
cmake \-dcmake_install_prefix=/usr/local/mysql \-dmysql_datadir=/usr/local/mysql/data \-dsysconfdir=/etc \-dwith_myisam_storage_engine=1 \-dwith_innobase_storage_engine=1 \-dwith_memory_storage_engine=1 \-dwith_readline=1 \-dmysql_unix_addr=/var/lib/mysql/mysql.sock \-dmysql_tcp_port=3306 \-denabled_local_infile=1 \-dwith_partition_storage_engine=1 \-dextra_charsets=all \-ddefault_charset=utf8 \-ddefault_collation=utf8_general_ci
make
make install
注意:如果cmake出錯,則:rm -rf cmakecache.txt,再執行。
至此mysql已經安裝完畢,接下來就是配置一些東西。
二、供遠端連線。
1、groupadd mysql2、useradd -g mysql mysql
3、chown -r mysql:mysql /usr/local/mysql
4、cd /usr/local/mysql
建立mysql自帶的系統資料庫:./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
5、修改mysql配置檔案,/usr/local/mysql/my.cnf新增以下內容:
basedir =/usr/local/mysql/
port=3306
datadir=/usr/local/mysql/data
6、新增path路徑
把export path=$path:/usr/local/mysql/bin新增到/etc/profile中
7、source /etc/profile
8、需要更改該配置檔案的所有者:chown -r mysql:mysql /usr/local/mysql/my.cnf否則下面啟動 mysql服務會報錯;
( 注:在啟動mysql服務時,會按照一定次序搜尋my.cnf,先在/etc目錄下找,找不到則會到你安裝的mysql目錄找,在本例中就是 /usr/local/mysql/my.cnf。
注意:在centos 6.4版作業系統的最小安裝完成後,在/etc目錄下會可能會存在乙個my.cnf,需要將此檔案更名為其他的名字,
如:/etc/my.cnf.bak,否則,該檔案會干擾原始碼安裝的mysql的正確配置,造成無法啟動。 重新命名的命令是:mv my.cnf my.cnf.bak)
重新命名 /etc下的my.cnf 為 my.cnf.bak mv my.cnf my.cnf.bak
9、cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld #複製指令碼
10、chmod +x /etc/init.d/mysqld #增加可執行許可權
11、chkconfig --add mysqld #增加至sysv服務
12、chkconfig mysqld on #開機自啟動
13、service mysqld start #啟動mysql服務
14、netstat -aux|grep mysq #檢視啟動的mysql程序
15、systemctl stop firewalld.service#停止
(chmod 755 /usr/local/mysql/bin)
16、mysql -u root
17、update user set password=password('123456') where user='root';
18、允許遠端連線資料庫 grant all privileges on *.* to 'root'@'%' with grant option;
19、生效 flush privileges;
20、exit;
21、vim /etc/sysconfig/iptables 寫入 "-a input -p tcp -m state --state new -m tcp
--dport 3306 -j accept"
三、c++遠端運算元據庫
1、尋找mysql客戶端的共享庫:libmysqlclient.so ,和mysql.h 等標頭檔案。我是直接copy mysql server 伺服器上的mysql/lib 和 mysql/include 下的東西。
2、測試:
mydb.h
#include#include#includeusing namespace std;class mydb
;
mydb.cpp
#include#include#include "mydb.h"using namespace std;
mydb::mydb()
makefile
test:test.cpp mydb.cppg++ test.cpp mydb.cpp -o test -l/usr/local/mysql/lib -lmysqlclient -i/usr/local/mysql/include
make
./test 回查出prize 資料庫下的 prize表的所有資訊
mysql相關筆記
mysql面試題 區域性性原理 取資料會多取一些資料出來放到記憶體中,通常為一頁,一頁4kb大小。mysql兩種儲存引擎對比 innodb頁單位,16kb innodb聚集索引 如果沒有定義主鍵,那麼innodb會判斷有沒有唯一索引,如果存在唯一索引,那麼就會把這個唯一索引當作主鍵,如果連唯一索引都...
mysql筆記免費 MYSQL相關完整筆記
useradd mysql s sbin nologin cat etc passwd grep mysql cat etc group grep mysql 源目錄cd usr src mysq cmake dcmake install prefix usr local mysql dmysql ...
MySQL慢查詢日誌相關筆記
mysql優化sql,針對慢sql語句的查詢及相關配置。相關命令 顯示慢查詢sql語句數量 show global status like slow queries 檢視是否開啟慢查詢日誌,並顯示日誌存放位置 show variables like slow query log sql執行時間超過m...