Ubuntu 安裝mysql和簡單操作
創(chuàng)新互聯(lián)建站是一家專業(yè)提供沾益企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為沾益眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。
ubuntu上安裝mysql非常簡單只需要幾條命令就可以完成。
1. sudo apt-get install mysql-server
2. apt-get isntall mysql-client
3. sudo apt-get install libmysqlclient-dev
安裝過程中會提示設(shè)置密碼什么的,注意設(shè)置了不要忘了,安裝完成之后可以使用如下命令來檢查是否安裝成功:
sudo netstat -tap | grep mysql
通過上述命令檢查之后,如果看到有mysql 的socket處于 listen 狀態(tài)則表示安裝成功。
登陸mysql數(shù)據(jù)庫可以通過如下命令:
mysql -u root -p
-u 表示選擇登陸的用戶名, -p 表示登陸的用戶密碼,上面命令輸入之后會提示輸入密碼,此時(shí)輸入密碼就可以登錄到mysql。
然后通過 show databases; 就可以查看當(dāng)前的數(shù)據(jù)庫。
我們選擇 mysql數(shù)據(jù)庫就行下一步操作,使用use mysql 命令,顯示當(dāng)前數(shù)據(jù)庫的表單:show tables
寫一個(gè)簡單的程序來訪問該數(shù)據(jù)庫,實(shí)現(xiàn) show tables 功能:
#include mysql/mysql.h
#include stdio.h
#include stdlib.h
int main()
{
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char server[] = "localhost";
char user[] = "root";
char password[] = "mima";
char database[] = "mysql";
conn = mysql_init(NULL);
if (!mysql_real_connect(conn, server,user, password, database, 0, NULL, 0))
{
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
if (mysql_query(conn, "show tables"))
{
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
res = mysql_use_result(conn);
printf("MySQL Tables in mysql database:\n");
while ((row = mysql_fetch_row(res)) != NULL)
{
printf("%s \n", row[0]);
}
mysql_free_result(res);
mysql_close(conn);
printf("finish! \n");
return 0;
}
編譯代碼的時(shí)候需要鏈接mysql的庫,可以通過如下方式編譯:
g++ -Wall mysql_test.cpp -o mysql_test -lmsqlclient
然后運(yùn)行編譯好的代碼:
可見結(jié)果和使用SQL語句 show tables 是一樣的。
make it simple, make it happen
可以通過下面的sql語句將max_connections的值設(shè)置為200,當(dāng)然前提是當(dāng)前登錄的用戶有足夠的權(quán)限:
set global max_connections = 200;
這個(gè)設(shè)置會馬上生效,但是當(dāng)mysql重啟時(shí)這個(gè)設(shè)置會失效,更好的辦法是修改mysql的ini配置文件my.ini
找到mysqld塊,修改或者添加下面的設(shè)置:
max_connections=200
這樣修改之后,即便重啟mysql也會默認(rèn)載入這個(gè)配置了
設(shè)置級聯(lián)外鍵。
CONSTRAINT `外鍵名` FOREIGN KEY (`外鍵的字段`) REFERENCES `外鍵關(guān)聯(lián)的表` (`外鍵關(guān)聯(lián)的字段`) ON DELETE CASCADE ON UPDATE CASCADE
ON DELETE代表刪除時(shí)
ON UPDATE代表更新時(shí)
CASCADE代表級聯(lián)
在更新表的使用where條件就行了,示例sql,
UPDATE aaa SET a1= a1/10000 WHERE a2= '萬';
執(zhí)行這條sql時(shí),先將條件設(shè)置詳細(xì)些,比如a2 = '萬' and 主鍵 = 1 什么的,選擇一條數(shù)據(jù)試試結(jié)果,確保不會因?yàn)檎`操作,將表中的數(shù)據(jù)修改。最好在修改數(shù)據(jù)前,將修改的數(shù)據(jù)找出來,執(zhí)行一個(gè)備份。
解決方式一:通過命令
可以通過 set GLOBAL max_connections=100; 命令將最大連接數(shù)設(shè)置為100,此方法是即時(shí)生效的,不需要重啟mysql服務(wù)。
需注意的是,要通過root權(quán)限的mysql帳號才能操作,否則會報(bào)“1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation”的錯(cuò)誤。
設(shè)置max_connections最小值為1。
解決方式二:修改my.cnf
打開mysql的配置文件vim /etc/my.cnf,加入max_connections=100一行(如果有,直接修改值即可),然后重啟服務(wù):/etc/init.d/mysqld restart,此時(shí)生效。
第一步:檢查linux的操作系統(tǒng)版本
代碼如下:
cat /etc/issue
第二步:在mysql官網(wǎng)上下載5.7的版本
第三步:檢查linux上以前安裝的mysql版本
代碼如下:
rpm -qa | grep mysql
第四步:如果出現(xiàn)mysql的一些安裝版本,則通過以下命令進(jìn)行刪除
代碼如下:
rpm -e --nodeps mysql-xxx
第五步:準(zhǔn)備安裝新版本的mysql-server
代碼如下:
rpm -ivh MySQL-server-xxxx
第六步:啟動(dòng)mysql server
代碼如下:
service mysql start
第七步:安裝mysql client
代碼如下:
rpm -ivh MySQL-client-xxx