當前位置:首頁 » 操作系統 » linuxc連接mysql

linuxc連接mysql

發布時間: 2023-02-18 21:36:09

linux 怎麼用cmake安裝mysql

方法/步驟

1
在安裝mysql資料庫伺服器前,確保你的linux系統是可以連接網路的,下面我們將通過源碼方式來安裝mysql首先通過putty登入進你的Linux系統,確保系統中已經安裝的gcc c++ 等編譯環境,因為mysql從5.5版本開始是使用cmake編譯的,如果三個環境都沒安裝,可以使用下面的命令進行安裝:yum -y install make gcc-c++ cmake bison-devel ncurses-devel

2
查找系統里是否已經安裝了mysql資料庫的相關組件,使用命令:rpm -qa | grep mysql 進行查找,如果查找到,可以使用下面命令進行強制卸載:rpm -e --nodeps 包名
如果你當時在安裝Linux系統時,使用的默認的安裝選項,這一步可以跳過;

3
然後我們來下載mysql的源碼安裝包,使用下面的命令來下載wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.24.tar.gz下載的時間可能有點漫長,請耐心等待;

4
下載完成後,使用命令: ll 可以查看當前目前下存在 mysql-5.6.24.tar.gz文件然後使用下面的命令解壓壓縮包:tar -zxvf mysql-5.6.14.tar.gz

然後使用命令: ll 可以查看當前目前下存在 mysql-5.6.24 目錄使用命令:cd mysql-5.6.24 切換到 mysql-5.6.24 這個目錄下;

上面的步驟完成後,下面我們來開始編譯mysql文件了,首先配置編譯的相關參數,執行如下命令: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 來編譯並安裝mysql也可以分兩步來執行:先運行 make ,完成後再運行 make install整個過程大概需要30分鍾左右,請耐心等待,這段時間你可以做點別的事

安裝完成後,我們還要建立mysql的配置,首先設置mysql的訪問許可權,使用命令查看是否已經存在mysql用戶及用戶組,查看用戶列表命令:cat /etc/passwd 查看用戶組列表命令:cat /etc/group

如果不存在,我們就要創建:添加用戶組命令:groupadd mysql添加用戶:useradd -g mysql mysql然後來修改之前安裝的mysql所在目錄的訪問的用戶及用戶組輸入命令:chown -R mysql:mysql /usr/local/mysql

然後是初始化mysql配置,切換到mysql安裝目錄:cd /usr/local/mysql執行初始化配置腳本,創建mysql自帶的系統資料庫:./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

修改mysql配置文件,輸入命令:vi my.cnf然後按鍵盤的"insert"鍵,然後通過鍵盤的方向鍵來移動游標到要修改的行,添加如下內容:server-id=1 report-port=3306 port=3306 datadir=/usr/local/mysql/datasocket=/var/lib/mysql/mysql.sock
這一步很重要,需要更改該配置文件的所有者:chown -R mysql:mysql /usr/local/mysql/my.cnf否則下面啟動mysql服務會報錯;

添加mysql到開機啟動項,並啟動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)cp support-files/mysql.server /etc/init.d/mysqld #復制腳本 chmod +x /etc/init.d/mysqld #增加可執行許可權 chkconfig --add mysqld #增加至sysV服務 chkconfig mysqld on #開機自啟動service mysqld start #啟動mysql服務netstat -aux|grep mysq #查看啟動的mysql進程

添加mysql的環境變數,以方便以後的操作輸入密碼:vi /etc/profile在文件的底部添加如下內容:PATH=/usr/local/mysql/bin:$PATHexport PATH保存並退出,輸入輸入命令,使配置立即生效:source /etc/profile

安裝好的mysql,默認root帳戶帳戶為空,下面我們來修改密碼輸入命令:mysql -uroot 回車後,然後輸入命令:SET PASSWORD = PASSWORD('123456');
設置完成後,輸入命令:quit; 退出mysql環境;

設置好 mysql密碼,需要輸入如下命令才能夠正確登錄進mysql:輸入命令:mysql -uroot -p 回車後,會提示你輸入密碼,輸入正確並執行後,會看到以mysql>開始的提示行,在這里你可以輸入任何有效的sql查詢語句:比如輸入:show databases; 來顯示所有的資料庫,注意後面的分號不能丟失,它標識一行命令的結束。至此,恭喜你,mysql安裝成功了。

⑵ linux系統下c語言連接mysql資料庫時有關mysql_error這個函數的返回值的問題,求知情人士

應該這樣用,連接的時候不要指定資料庫,分步操作和檢測
if(!mysql_real_connect(character_ptr,"localhost","root","24157518",
NULL
,0,NULL,0))
printf("Error
connecting
to
server:
%s\n",
mysql_error(character_ptr));
if(!mysql_select_db(character_ptr,
"test_database"))
printf("Error
connecting
to
database:
%s\n",
mysql_error(character_ptr));

⑶ 關於linux下c語言鏈接mysql

和.net同樣的道理,你在.net也需要在你的部署包中包含dll才能去連接,除非你靜態聯接了相關的code,
在linux下你需要下載mysql的c庫開發包(libmysql++-dev
libmysql++2c2a
libmysqlclient15-dev
libmysqlclient15off)
這裡面已經包含了動態庫和靜態庫,如果是靜態庫鏈接,你就只需要把你的程序部署給別人即可,如果是動態鏈接,還需要把相關的.so也包含在你的部署包中分發給使用者

⑷ linux下c語言連接Mysql

老大,原來你連 C 的原理都不會啊?

C 語言所有調用函數,都要有聲明,這種外部函數庫的調用,都要用他們的 header 文件來聲明函數變數等等的東西,編譯器會根據實際情況去把這些程序裡面的函數調用鏈接到函數庫的正確位置上。

微軟的產品因為他壟斷了他自己系統的所有功能設計。所以他的系統+他的開發程序+他的開發函數庫就不需要 header 文件了,因為它可以設計為 dll 本身含有足夠的信息去干別的事情了。所以,你別以為你用了微軟的 .net ,他就還是 C 語言了。他已經脫離了 C 語言的范圍了。

GCC一般情況下是編譯器,但編譯器是不夠的,還需要連接器的工作才行。binutils 裡面的軟體提供相關的功能。

要知道以前鏈接到函數庫功能,光有 header 和函數庫文件本體還是不行的,還需要另外的函數庫信息文件來幫助編譯器連接器來找到正確的函數入口位置才行的。

編程 C ,你要選擇你所使用的功能調用方法,GCC 一般調用 mysql 有調用外部 dll ,或者程序自己直接鏈接 mysql 埠,自己分析 mysql 服務進程發送的各種信息!

前一種辦法,可以直接選擇 mysql 客戶端裡面的 SDK 來直接獲得官方的功能支持,但官方 MySQL 是 GPL 協議發布的,你使用他的功能介面後,你的程序也必須以 GPL 發布,不然你就要去選擇其他的函數庫,比如 ODBC 的 mysql 庫。當然還有第三方的 mysql 功能庫可以選擇。
不過你要注意,LGPL 必須嚴格區分你的程序和 LGPL 代碼。你必須動態鏈接到 LGPL 函數庫。如果你的程序包含 LGPL 函數庫一起發布,且 LGPL 庫是你的軟體的必備函數庫,那麼你的程序也必須開源,但不是 GPL 而是 LGPL !

不然你就選擇自己寫程序直接與 mysql 伺服器進行數據傳輸,不使用第三方功能庫。

但我不認為身為一個 Linux 下程序開發人員,會去傻傻的自己寫功能函數而不是用現成的函數庫。

你所遇到的「非要客戶安裝 mysql client 」,就是因為你的軟體調用了一些非你自己編寫的函數調用功能,而為了獲取這些函數而需要安裝幾個 mysql 函數庫的問題。

這個問題我想不應該是一個開發人員提出來的吧?
------------------------------------

樓主你還是重新學習 C 語言吧。.net 的 C 被微軟改的不是真正的 C 語言了,所以你沒辦法按照 C 的標准去比較 .net 和 GCC 的。
而且很多 .net 的編程習慣也沒辦法延續到 GCC 的。

⑸ 在linux下寫一個程序。然後我也在linux安裝了MYSQL.怎麼講該linux C 程序里的數據,導入到myzql裡面呢。

將數據存入MYSQL資料庫有幾種方法:
1、手動輸入,需要使用MYSQL語句。
2、使用相應軟體導入以前的備份。
3、使用程序介面進行連接,需要使用MYSQL語句,和相應的連接API 。

你的情況應該是用C程序和MYSQL進行連接,這也需要使用MYSQL語句的,所以你還是要去學一下MYSQL才可以。。。

可以看下這個:
http://blog.sina.com.cn/s/blog_606c49090100frat.html

⑹ 怎樣在Linux環境下安裝部署MySQL資料庫系統

在Linux安裝軟體需要預先做好如下一些准備:准備好Linux操作系統如:CentOS7。配置好yum源。
完成上述准備後,就可以動手安裝MySQL資料庫了。主要安裝步驟如下:
1. 禁用selinux
setenforce 0
2. 上傳安裝文件到Linux
3.解壓rpm包
tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar
4.安裝軟體
yum install mysql-community-{libs,client,common,server}-*.rpm
5.啟動mysql資料庫初始化
systemctl start mysqld
6.修改vi /etc/my.cnf
添加:
[mysqld]
#可以在表中錄入中文
character-set-server=utf8 #
explicit-defaults-for-timestamp
# 禁用當前密碼認證策略,可以使用簡單密碼(生產環境不適用)
validate_password=0
7.重啟mysql服務
systemctl restart mysqld
8.找臨時登錄密碼
grep -i "temporary password" /var/log/mysqld.log
9.連接MySQL資料庫
mysql -uroot -p 輸入臨時密碼
10.修改root用戶登錄密碼為簡單密碼(生產環境不適用)
alter user root@localhost identified by '';
11.配置MYSQL_PS1環境變數
修改家目錄下:.bash_profile文件,添加
export MYSQL_PS1="\u@\h[\d]>"
12.使新環境變數生效
source /root/.bash_profile
13.重新連接mysql驗證
mysql -uroot -p
除了上述安裝方式以外,可能在公司中會遇到安裝指定版本的需求,那麼如何安裝指定版本的MySQL數據呢?這時我們可以採用下載指定版本安裝包進行安裝的方式,主要步驟如下,假設CentOS7 linux最小安裝,已經配置好yum。首先檢查是否安裝numactl包
rpm -qa|grep numactl
yum install numactl-libs-* # 如果沒有安裝需要安裝。檢查是否安裝lio包
rpm -qa|grep lio
yum install lio-* # 如果沒有安裝需要安裝
具體安裝步驟如下:
* 禁用selinux
setenforce 0
* 上傳安裝文件到Linux
mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
* 創建mysql用戶組和用戶
groupadd -g 27 -r mysql
#-r創建系統賬戶,-M 不創建用戶家目錄 -N 不創建和用戶名一樣的用戶組
useradd -M -N -g mysql -r -s /bin/false -c "MySQL Server" -u 27 mysql
id mysql
* 上傳安裝包到root家目錄
* 解壓二進制文件到/usr/local
tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /usr/local
* 解壓目錄改名為mysql
cd /usr/local
ls -l
mv mysql-5.7.26-linux-glibc2.12-x86_64/ mysql
* 環境變數中添加mysql/bin目錄
vi /root/.bash_profile
修改PATH=/usr/local/mysql/bin:$PATH:$HOME/bin
添加 export MYSQL_PS1="\u@\h[\d]>"
source /root/.bash_profile
* 創建/usr/local/mysql/etc/my.cnf選項文件 (也可以使用默認的/etc/my.cnf選項文件)
mkdir -p /usr/local/mysql/etc
mkdir -p /usr/local/mysql/mysql-files
* 編輯選項文件my.cnf填寫默認選項
vi /usr/local/mysql/etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/data/mysql.sock
log-error=/usr/local/mysql/data/mysqld.err
pid-file=/usr/local/mysql/data/mysqld.pid
secure_file_priv=/usr/local/mysql/mysql-files
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
Explicit-defaults-for-timestamp
character-set-server=utf8
[mysql]
socket=/usr/local/mysql/data/mysql.sock
* 初始化數據目錄
cd /usr/local/mysql
mkdir data
chmod 750 data
chown mysql:mysql data
* 初始化資料庫
cd /usr/local/mysql
bin/mysqld --defaults-file=/usr/local/mysql/etc/my.cnf --initialize
* 使用systemd管理mysql
例如:systemctl {start|stop|restart|status} mysqld
cd /usr/lib/systemd/system
touch mysqld.service
chmod 644 mysqld.service
vi mysqld.service
# 添加以下內容
[Unit]
Description=MySQL Server
Documentation=man:mysqld(7)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
Type=forking
PIDFile=/usr/local/mysql/data/mysqld.pid
# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0
# Start main service
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/etc/my.cnf --daemonize --pid-file=/usr/local/mysql/data/mysqld.pid $MYSQLD_OPTS
# Use this to switch malloc implementation
EnvironmentFile=-/etc/sysconfig/mysql
# Sets open_files_limit
LimitNOFILE = 65535
Restart=on-failure
RestartPreventExitStatus=1
PrivateTmp=false
以上內容中注意:The --pid-file option specified in the my.cnf configuration file is ignored by systemd.
默認:LimitNOFILE = 5000,如果連接數(max_connection)需要調大,可以將LimitNOFILE 設置為最大65535
* 創建mysql.conf文件
cd /usr/lib/tmpfiles.d
#Add a configuration file for the systemd tmpfiles feature. The file is named mysql.conf and is placed in /usr/lib/tmpfiles.d.
cd /usr/lib/tmpfiles.d
touch mysql.conf
chmod 644 mysql.conf
* mysql.conf添加內容
vi mysql.conf
添加以下語句:
d /usr/local/mysql/data 0750 mysql mysql -
* 使新添加的mysqld服務開機啟動
systemctl enable mysqld.service
* 手動啟動mysqld
systemctl start mysqld
systemctl status mysqld
* 獲得mysql臨時登錄密碼
cat /usr/local/mysql/data/mysqld.err | grep "temporary password"
* 客戶端登錄連接mysql伺服器
mysql -uroot -p
輸入臨時密碼
* 修改MySQL用戶root@localhost密碼
mysql> alter user root@localhost identified by ''; #此處為了方便設置為空密碼
* 測試新密碼連接MySQL服務
mysql -uroot -p
至此,我們就完成了在Linux環境下安裝MySQL的任務。通過這兩種方式我們可以體會到在Linux環境下安裝軟體的基本思路及方法。

⑺ Linux下C連接MySQL資料庫錯

skipping incompatible /usr/lib/mysql/libmysqlclient_r.a 這里是說這個庫文件與當前系統的編譯器gcc不一致,你需要確認一下是不是機器位數的問題

gcc -m32 -o test test.c `mysql_config --cflags --libs` 這樣試試

⑻ Linux下mysql允許遠程連接怎麼設置

  1. 使用「Ctrl + R」組合鍵快速打開cmd窗口,並輸入「cmd」命令,打開cmd窗口。

  2. 使用「mysql -uroot -proot」命令可以連接到本地的mysql服務。

  3. 使用「use mysql」命令,選擇要使用的資料庫,修改遠程連接的基本信息,保存在mysql資料庫中,因此使用mysql資料庫。

  4. 使用「GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;」命令可以更改遠程連接的設置。

  5. 使用「flush privileges;」命令刷新剛才修改的許可權,使其生效。

  6. 使用「select host,user from user;」查看修改是否成功。


⑼ linux中怎樣安裝mysql資料庫伺服器

第一種:直接使用 yum -y install mysql-server

第二種
使用rpm安裝Mysql
1、下載MySQL的安裝文件
安裝MySQL需要下面兩個文件:
MySQL-server-4.0.16-0.i386.rpm
MySQL-client-4.0.16-0.i386.rpm
下載地址為:http://dev.mysql.com/downloads/mysql-4.0.html,打開此網頁,下拉網頁找到「Linux x86 RPM downloads」項,找到「Server」和「Client programs」項,下載需要的上述兩個rpm文件。
2、安裝MySQL
rpm文件是Red Hat公司開發的軟體安裝包,rpm可讓Linux在安裝軟體包時免除許多復雜的手續。該命令在安裝時常用的參數是 –ivh ,其中i表示將安裝指定的rmp軟體包,V表示安裝時的詳細信息,h表示在安裝期間出現「#」符號來顯示目前的安裝過程。這個符號將持續到安裝完成後才停止。
1)安裝伺服器端
在有兩個rmp文件的目錄下運行如下命令:
[root@test1 local]# rpm -ivh MySQL-server-4.0.16-0.i386.rpm
顯示如下信息。
warning: MySQL-server-4.0.16-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5
Preparing...########################################### [100%]
1:MySQL-server########################################### [100%]
。。。。。。(省略顯示)
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h test1 password 'new-password'
。。。。。。(省略顯示)
Starting mysqld daemon with databases from /var/lib/mysql
如出現如上信息,服務端安裝完畢。測試是否成功可運行netstat看Mysql埠是否打開,如打開表示服務已經啟動,安裝成功。Mysql默認的埠是3306。
[root@test1 local]# netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp00 0.0.0.0:3306 0.0.0.0:* LISTEN
上面顯示可以看出MySQL服務已經啟動。
2)安裝客戶端
運行如下命令:
[root@test1 local]# rpm -ivh MySQL-client-4.0.16-0.i386.rpm
warning: MySQL-client-4.0.16-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5
Preparing...########################################### [100%]
1:MySQL-client ########################################### [100%]
顯示安裝完畢。
用下面的命令連接mysql,測試是否成功。
註:其實也可以下載壓縮文件,到本地後直接解壓縮即可。
二、登錄MySQL
登錄MySQL的命令是mysql, mysql 的使用語法如下:
mysql [-u username] [-h host] [-p[password]] [dbname]
username 與 password 分別是 MySQL 的用戶名與密碼,mysql的初始管理帳號是root,沒有密碼,注意:這個root用戶不是Linux的系統用戶。MySQL默認用戶是root,由於初始沒有密碼,第一次進時只需鍵入mysql即可。
[root@test1 local]# mysql
Welcome to the MySQL monitor.Commands end with ; or /g.
Your MySQL connection id is 1 to server version: 4.0.16-standard
Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
mysql>
出現了「mysql>」提示符,恭喜你,安裝成功!
增加了密碼後的登錄格式如下:
mysql -u root -p
Enter password: (輸入密碼)
其中-u後跟的是用戶名,-p要求輸入密碼,回車後在輸入密碼處輸入密碼。

注意:
1.這個mysql文件在/usr/bin目錄下,與後面講的啟動文件/etc/init.d/mysql不是一個文件。
2.如果從本地登錄其他主機,則格式如下:
./mysql -u root -p -h 192.168.xx.xx
前面必須加./
三、MySQL的幾個重要目錄
MySQL安裝完成後不象SQL Server默認安裝在一個目錄,它的資料庫文件、配置文件和命令文件分別在不同的目錄,了解這些目錄非常重要,尤其對於Linux的初學者,因為 Linux本身的目錄結構就比較復雜,如果搞不清楚MySQL的安裝目錄那就無從談起深入學習。
下面就介紹一下這幾個目錄。
1、資料庫目錄
/var/lib/mysql/
2、配置文件
/usr/share/mysql(mysql.server命令及配置文件)
3、相關命令
/usr/bin(mysqladmin mysqlmp等命令)
4、啟動腳本
/etc/rc.d/init.d/(啟動腳本文件mysql的目錄)
四、修改登錄密碼
MySQL默認沒有密碼,安裝完畢增加密碼的重要性是不言而喻的。
1、命令
usr/bin/mysqladmin -u root password 'new-password'
格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼
2、例子
例1:給root加個密碼123456。
鍵入以下命令 :
[root@test1 local]# /usr/bin/mysqladmin -u root password 123456
註:因為開始時root沒有密碼,所以-p舊密碼一項就可以省略了。
3、測試是否修改成功
1)不用密碼登錄
[root@test1 local]# mysql
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)
顯示錯誤,說明密碼已經修改。
2)用修改後的密碼登錄
[root@test1 local]# mysql -u root -p
Enter password: (輸入修改後的密碼123456)
Welcome to the MySQL monitor.Commands end with ; or /g.
Your MySQL connection id is 4 to server version: 4.0.16-standard
Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
mysql>
成功!
這是通過mysqladmin命令修改口令,也可通過修改庫來更改口令。
五、啟動與停止
1、啟動
MySQL安裝完成後啟動文件mysql在/etc/init.d目錄下,在需要啟動時運行下面命令即可。
[root@test1 init.d]# /etc/init.d/mysql start
2、停止
/usr/bin/mysqladmin -u root -p shutdown
3、自動啟動
1)察看mysql是否在自動啟動列表中
[root@test1 local]#/sbin/chkconfig –list
2)把MySQL添加到你系統的啟動服務組裡面去
[root@test1 local]#/sbin/chkconfig– addmysql
3)把MySQL從啟動服務組裡面刪除。
[root@test1 local]#/sbin/chkconfig– delmysql
六、更改MySQL目錄
MySQL默認的數據文件存儲目錄為/var/lib/mysql。假如要把目錄移到/home/data下需要進行下面幾步:
1、home目錄下建立data目錄
cd /home
mkdir data
2、把MySQL服務進程停掉:
mysqladmin -u root -p shutdown
3、把/var/lib/mysql整個目錄移到/home/data
mv /var/lib/mysql/home/data/
這樣就把MySQL的數據文件移動到了/home/data/mysql下
4、找到my.cnf配置文件
如果/etc/目錄下沒有my.cnf配置文件,請到/usr/share/mysql/下找到*.cnf文件,拷貝其中一個到/etc/並改名為my.cnf)中。命令如下:
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf/etc/my.cnf
5、編輯MySQL的配置文件/etc/my.cnf
為保證MySQL能夠正常工作,需要指明mysql.sock文件的產生位置。 修改socket=/var/lib/mysql/mysql.sock一行中等號右邊的值為:/home/mysql/mysql.sock 。操作如下:
vi my.cnf (用vi工具編輯my.cnf文件,找到下列數據修改之)
# The MySQL server
[mysqld]
port= 3306
#socket = /var/lib/mysql/mysql.sock(原內容,為了更穩妥用「#」注釋此行)
socket = /home/data/mysql/mysql.sock(加上此行)
6、修改MySQL啟動腳本/etc/rc.d/init.d/mysql
最後,需要修改MySQL啟動腳本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等號右邊的路徑改成你現在的實際存放路徑:home/data/mysql。
[root@test1 etc]# vi/etc/rc.d/init.d/mysql
#datadir=/var/lib/mysql(注釋此行)
datadir=/home/data/mysql (加上此行)
7、重新啟動MySQL服務
/etc/rc.d/init.d/mysqlstart
或用reboot命令重啟Linux
如果工作正常移動就成功了,否則對照前面的7步再檢查一下。
七、MySQL的常用操作
注意:MySQL中每個命令後都要以分號;結尾。
1、顯示資料庫
mysql> show databases;
+----------+
| Database |
+----------+
| mysql|
| test |
+----------+
2 rows in set (0.04 sec)
Mysql剛安裝完有兩個資料庫:mysql和test。mysql庫非常重要,它裡面有MySQL的系統信息,我們改密碼和新增用戶,實際上就是用這個庫中的相關表進行操作。
2、顯示資料庫中的表
mysql> use mysql; (打開庫,對每個庫進行操作就要打開此庫)
Database changed
mysql> show tables;
+-----------------+
| Tables_in_mysql |
+-----------------+
| columns_priv|
| db|
| func|
| host|
| tables_priv |
| user|
+-----------------+
6 rows in set (0.01 sec)
3、顯示數據表的結構:
describe 表名;
4、顯示表中的記錄:
select * from 表名;
例如:顯示mysql庫中user表中的紀錄。所有能對MySQL用戶操作的用戶都在此表中。
Select * from user;
5、建庫:
create database 庫名;
例如:創建一個名字位aaa的庫
mysql> create databases aaa;
6、建表:
use 庫名;
create table 表名 (欄位設定列表);
例如:在剛創建的aaa庫中建立表name,表中有id(序號,自動增長),xm(姓名),xb(性別),csny(出身年月)四個欄位
use aaa;
mysql> create table name (id int(3) auto_increment not null primary key, xm char(8),xb char(2),csny date);
可以用describe命令察看剛建立的表結構。
mysql> describe name;
+-------+---------+------+-----+---------+----------------+
| Field | Type| Null | Key | Default | Extra|
+-------+---------+------+-----+---------+----------------+
| id| int(3)|| PRI | NULL| auto_increment |
| xm| char(8) | YES| | NULL||
| xb| char(2) | YES| | NULL||
| csny| date| YES| | NULL||
+-------+---------+------+-----+---------+----------------+
7、增加記錄
例如:增加幾條相關紀錄。
mysql> insert into name values('','張三','男','1971-10-01');
mysql> insert into name values('','白雲','女','1972-05-20');
可用select命令來驗證結果。
mysql> select * from name;
+----+------+------+------------+
| id | xm | xb | csny |
+----+------+------+------------+
|1 | 張三 | 男 | 1971-10-01 |
|2 | 白雲 | 女 | 1972-05-20 |
+----+------+------+------------+
8、修改紀錄
例如:將張三的出生年月改為1971-01-10
mysql> update name set csny='1971-01-10' where xm='張三';
9、刪除紀錄
例如:刪除張三的紀錄。
mysql> delete from name where xm='張三';
10、刪庫和刪表
drop database 庫名;
drop table 表名;
11.查看mysql版本
在mysql5.0中命令如下:
show variables like 'version';
或者:select version();
八、增加MySQL用戶
格式:grant select on 資料庫.* to 用戶名@登錄主機 identified by "密碼"
例1、增加一個用戶user_1密碼為123,讓他可以在任何主機上登錄,並對所有資料庫有查詢、插入、修改、刪除的許可權。首先用以root用戶連入MySQL,然後鍵入以下命令:
mysql> grant select,insert,update,delete on *.* to user_1@"%" Identified by "123";
例1、增加的用戶是十分危險的,如果知道了user_1的密碼,那麼他就可以在網上的任何一台電腦上登錄你的MySQL資料庫並對你的數據為所欲為了,解決辦法見例2。
例2、增加一個用戶user_2密碼為123,讓此用戶只可以在localhost上登錄,並可以對資料庫aaa進行查詢、插入、修改、刪除的操作(localhost指本地主機,即MySQL資料庫所在的那台主機),這樣用戶即使用知道user_2的密碼,他也無法從網上直接訪問資料庫,只能通過 MYSQL主機來操作aaa庫。
mysql>grant select,insert,update,delete on aaa.* to user_2@localhost identified by "123";
用新增的用戶如果登錄不了MySQL,在登錄時用如下命令:
mysql -u user_1 -p-h 192.168.113.50(-h後跟的是要登錄主機的ip地址)
九、備份與恢復
1、備份
例如:將上例創建的aaa庫備份到文件back_aaa中
[root@test1 root]# cd/home/data/mysql(進入到庫目錄,本例庫已由val/lib/mysql轉到/home/data/mysql,見上述第六部分內容)
[root@test1 mysql]# mysqlmp -u root -p --opt aaa > back_aaa
2、恢復
[root@test mysql]# mysql -u root -p ccc < back_aaa

⑽ 如何連接遠程Mysql資料庫

連接遠程mysql資料庫需要連接工具,市面上有很多連接工具如 mysql-font、Navicat for MySQL 等等 下面以Navicat for MySQL為例說明一下:(我用的mac版的)

1、下載Navicat for MySQL安裝包

2、按照流程安裝

3、打開Navicat for MySQL如圖並點擊新建連接

5、點擊確定,ok

熱點內容
python跨模塊 發布:2025-07-30 23:04:43 瀏覽:300
阿泰編程 發布:2025-07-30 21:36:05 瀏覽:569
mybatis註解sqlif 發布:2025-07-30 21:33:59 瀏覽:572
安卓手機為什麼削不短下巴 發布:2025-07-30 21:23:13 瀏覽:495
澳洲訪問學者簽證類型 發布:2025-07-30 20:55:12 瀏覽:354
svn切換伺服器ip 發布:2025-07-30 20:43:10 瀏覽:198
匯通啟富軟體如何修改登錄密碼 發布:2025-07-30 20:41:08 瀏覽:243
公共場所的wifi密碼名稱是什麼 發布:2025-07-30 20:19:56 瀏覽:636
ios系統怎麼解壓 發布:2025-07-30 20:14:05 瀏覽:740
sqlip 發布:2025-07-30 19:20:22 瀏覽:178