[置頂] freebsd 安裝 mysql
來(lái)源:程序員人生 發(fā)布時(shí)間:2014-12-24 08:34:08 閱讀次數(shù):3006次
1. freebsd 這個(gè)系統(tǒng)說(shuō)實(shí)話(huà) 真的沒(méi)有ubuntu 方便 ,要安裝個(gè)軟件, apt-get install 下就能夠了,而在freebsd 下面只能在ports 下去裝,但通常情況下總是沒(méi)資源,坑啊
所以只能自己 下包,自己裝了
1. 首先下 mysql⑸.1.70.tar.gz
tar -zxvf mysql⑸.1.70.tar.gz
cd mysql⑸.1.70
./configure --prefix=/usr/local/mysql
make
WITH_CHARSET=utf8 WITH_PROC_SCOPE_PTH=yes BUILD_OPTIMIZED=yes BUILD_STATIC=yes SKIP_DNS_CHECK=yes WITHOUT_INNODB=yes install clean
pw
groupadd mysql
pw
useradd mysql -g mysql
/usr/local/mysql/bin/mysql_install_db
--user=mysql
cp
/usr/local/mysql/share/mysql/my-large.cnf /etc/my.cnf
cd /usr/local/mysql
chown -R root .
chown -R mysql var
chown -R mysql var/mysql/.
chgrp
-R mysql . # .號(hào)千萬(wàn)不要忘了寫(xiě)
/usr/local/mysql/bin/mysql_install_db
--user=mysql
./mysqld_safe
--user=mysql &
//
裝好以后 初始密碼沒(méi)有
重設(shè)密碼
./mysqladmin
-uroot -p password 123456
會(huì)提示
enter password: 直接按enter 鍵便可(這里要輸?shù)脑瓉?lái)密碼,原來(lái)的密碼沒(méi)有)
啟動(dòng)mysql
root@gyl:/usr/local/mysql/bin # ./mysqld_safe --user=mysql &
關(guān)閉mysql
root@gyl:/usr/local/mysql/bin
# ./mysqladmin -uroot -p shutdown
進(jìn)入mysql
root@gyl:/usr/local/mysql/bin # ./mysql -u root -p
用navicate 去連的時(shí)候 要開(kāi)啟權(quán)限
root@gyl:/usr/local/mysql/bin # ./mysql -u root -p
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql>
EXIT
寫(xiě)段代碼測(cè)試下
#include <iostream>
#include <string.h>
#include "mysql.h" //安裝的mysql的頭文件所在的位置
using namespace std;
string host = "192.168.67.130";
string user = "root";
string pwd = "123456";
string dbname = "test";
string sql = "select * from user";
unsigned int port = 3306; //
int status;
int main()
{
MYSQL *mysql;
mysql = mysql_init(0);
MYSQL_RES *result;
MYSQL_ROW row;
if (mysql_real_connect(mysql, host.c_str(), user.c_str(), pwd.c_str(), dbname.c_str(), port, NULL, CLIENT_FOUND_ROWS) == NULL){
cout << "connect failure!" << endl;
return EXIT_FAILURE;
}
else{
cout << "connect success!" << endl;
}
mysql_set_character_set(mysql, "gbk");
status = mysql_query(mysql, sql.c_str());
if (status != 0){
cout << "query failure!" << endl;
}
cout << "the status is :" << status << endl;
result = mysql_store_result(mysql);
while (row = mysql_fetch_row(result)){
cout << row[1] << "|" << row[2] << endl;
}
mysql_free_result(result);
mysql_close(mysql);
}
g++ -o testmysql testmysql.cpp -lmysqlclient -I /usr/local/mysql/include/mysql -L /usr/local/mysql/lib/mysql/
編譯可以成功,但是履行
./testmysql 時(shí)
提示以下毛病
Shared
object "libmysqlclient.so.16" not found, required by "testmysql"
應(yīng)當(dāng)是 里面的代碼的鏈接路徑不對(duì),但是又沒(méi)辦法改代碼,只能改路徑
root@gyl:/usr/local/mysql/lib/mysql # ln -s libmysqlclient.so.16 /usr/lib/libmysqlclient.so
root@gyl:/usr/local/mysql/lib/mysql # cp libmysqlclient.so.16 /usr/lib
這樣就能夠了,大告功成,記下,免得以后又忘記了
生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)