MySQL的安裝以及基本的管理命令和設(shè)置
MySQL 安裝
Linux/UNIX上安裝Mysql
Linux平臺(tái)上推薦使用RPM包來安裝Mysql,MySQL AB提供了以下RPM包的下載地址:
- MySQL - MySQL服務(wù)器。你需要該選項(xiàng),除非你只想連接運(yùn)行在另一臺(tái)機(jī)器上的MySQL服務(wù)器。
- MySQL-client - MySQL 客戶端程序,用于連接并操作Mysql服務(wù)器。
- MySQL-devel - 庫和包含文件,如果你想要編譯其它MySQL客戶端,例如Perl模塊,則需要安裝該RPM包。
- MySQL-shared - 該軟件包包含某些語言和應(yīng)用程序需要?jiǎng)討B(tài)裝載的共享庫(libmysqlclient.so*),使用MySQL。
- MySQL-bench - MySQL數(shù)據(jù)庫服務(wù)器的基準(zhǔn)和性能測試工具。
以下安裝Mysql RMP的實(shí)例是在SuSE Linux系統(tǒng)上進(jìn)行,當(dāng)然該安裝步驟也適合應(yīng)用于其他支持RPM的Linux系統(tǒng),如:Centos。
安裝步驟如下:
使用root用戶登陸你的Linux系統(tǒng)。
下載Mysql RPM包,下載地址為:MySQL 下載。
通過以下命令執(zhí)行Mysql安裝,rpm包為你下載的rpm包:
[root@host]# rpm -i MySQL-5.0.9-0.i386.rpm
以上安裝mysql服務(wù)器的過程會(huì)創(chuàng)建mysql用戶,并創(chuàng)建一個(gè)mysql配置文件my.cnf。
你可以在/usr/bin和/usr/sbin中找到所有與MySQL相關(guān)的二進(jìn)制文件。所有數(shù)據(jù)表和數(shù)據(jù)庫將在/var/lib/mysql目錄中創(chuàng)建。
以下是一些mysql可選包的安裝過程,你可以根據(jù)自己的需要來安裝:
[root@host]# rpm -i MySQL-client-5.0.9-0.i386.rpm [root@host]# rpm -i MySQL-devel-5.0.9-0.i386.rpm [root@host]# rpm -i MySQL-shared-5.0.9-0.i386.rpm [root@host]# rpm -i MySQL-bench-5.0.9-0.i386.rpm
Window上安裝Mysql
Window上安裝Mysql相對(duì)來說會(huì)較為簡單,你只需要載 MySQL 下載中下載window版本的mysql安裝包,并解壓安裝包。
雙擊 setup.exe 文件,接下來你只需要安裝默認(rèn)的配置點(diǎn)擊"next"即可,默認(rèn)情況下安裝信息會(huì)在C:\mysql目錄中。
接下來你可以通過"開始" =》在搜索框中輸入 " cmd" 命令 =》 在命令提示符上切換到 C:\mysql\bin 目錄,并輸入一下命令:
mysqld.exe --console
如果安裝成功以上命令將輸出一些mysql啟動(dòng)及InnoDB信息。
驗(yàn)證Mysql安裝
在成功安裝Mysql后,一些基礎(chǔ)表會(huì)表初始化,在服務(wù)器啟動(dòng)后,你可以通過簡單的測試來驗(yàn)證Mysql是否工作正常。
使用 mysqladmin 工具來獲取服務(wù)器狀態(tài):
使用 mysqladmin 命令倆檢查服務(wù)器的版本,在linux上該二進(jìn)制文件位于 /usr/bin on linux ,在window上該二進(jìn)制文件位于C:\mysql\bin 。
[root@host]# mysqladmin --version
linux上該命令將輸出以下結(jié)果,該結(jié)果基于你的系統(tǒng)信息:
mysqladmin Ver 8.23 Distrib 5.0.9-0, for redhat-linux-gnu on i386
如果以上命令執(zhí)行后未輸入任何信息,說明你的Mysql未安裝成功。
使用 MySQL Client(Mysql客戶端) 執(zhí)行簡單的SQL命令
你可以在 MySQL Client(Mysql客戶端) 使用 mysql 命令連接到Mysql服務(wù)器上,默認(rèn)情況下Mysql服務(wù)器的密碼為空,所以本實(shí)例不需要輸入密碼。
命令如下:
[root@host]# mysql
以上命令執(zhí)行后會(huì)輸出 mysql>提示符,這說明你已經(jīng)成功連接到Mysql服務(wù)器上,你可以在 mysql> 提示符執(zhí)行SQL命令:
mysql> SHOW DATABASES;
+----------+ | Database | +----------+ | mysql | | test | +----------+ 2 rows in set (0.13 sec)
Mysql安裝后需要做的
Mysql安裝成功后,默認(rèn)的root用戶密碼為空,你可以使用以下命令來創(chuàng)建root用戶的密碼:
[root@host]# mysqladmin -u root password "new_password";
現(xiàn)在你可以通過以下命令來連接到Mysql服務(wù)器:
[root@host]# mysql -u root -p
Enter password:*******
注意:在輸入密碼時(shí),密碼是不會(huì)顯示了,你正確輸入即可。
Linux系統(tǒng)啟動(dòng)時(shí)啟動(dòng) MySQL
如果你需要在Linux系統(tǒng)啟動(dòng)時(shí)啟動(dòng) MySQL 服務(wù)器,你需要在 /etc/rc.local 文件中添加以下命令:
/etc/init.d/mysqld start
同樣,你需要將 mysqld 二進(jìn)制文件添加到 /etc/init.d/ 目錄中。
MySQL 管理
啟動(dòng)及關(guān)閉 MySQL 服務(wù)器
首先,我們需要通過以下命令來檢查MySQL服務(wù)器是否啟動(dòng):
ps -ef | grep mysqld
如果MySql已經(jīng)啟動(dòng),以上命令將輸出mysql進(jìn)程列表, 如果mysql未啟動(dòng),你可以使用以下命令來啟動(dòng)mysql服務(wù)器:
root@host# cd /usr/bin ./mysqld_safe &
如果你想關(guān)閉目前運(yùn)行的 MySQL 服務(wù)器, 你可以執(zhí)行以下命令:
root@host# cd /usr/bin ./mysqladmin -u root -p shutdown
Enter password: ******
MySQL 用戶設(shè)置
如果你需要添加 MySQL 用戶,你只需要在 mysql 數(shù)據(jù)庫中的 user 表添加新用戶即可。
以下為添加用戶的的實(shí)例,用戶名為guest,密碼為guest123,并授權(quán)用戶可進(jìn)行 SELECT, INSERT 和 UPDATE操作權(quán)限:
root@host# mysql -u root -p
Enter password:*******
mysql> use mysql;
Database changed
mysql> INSERT INTO user (host, user, password, select_priv, insert_priv, update_priv) VALUES ('localhost', 'guest', PASSWORD('guest123'), 'Y', 'Y', 'Y');
Query OK, 1 row affected (0.20 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 1 row affected (0.01 sec)
mysql> SELECT host, user, password FROM user WHERE user = 'guest';
+-----------+---------+------------------+ | host | user | password | +-----------+---------+------------------+ | localhost | guest | 6f8c114b58f2ce9e | +-----------+---------+------------------+ 1 row in set (0.00 sec)
在添加用戶時(shí),請(qǐng)注意使用MySQL提供的 PASSWORD() 函數(shù)來對(duì)密碼進(jìn)行加密。 你可以在以上實(shí)例看到用戶密碼加密后為: 6f8c114b58f2ce9e.
注意:在注意需要執(zhí)行 FLUSH PRIVILEGES 語句。 這個(gè)命令執(zhí)行后會(huì)重新載入授權(quán)表。 如果你不使用該命令,你就無法使用新創(chuàng)建的用戶來連接mysql服務(wù)器,除非你重啟mysql服務(wù)器。
你可以在創(chuàng)建用戶時(shí),為用戶指定權(quán)限,在對(duì)應(yīng)的權(quán)限列中,在插入語句中設(shè)置為 'Y' 即可,用戶權(quán)限列表如下:
- Select_priv
- Insert_priv
- Update_priv
- Delete_priv
- Create_priv
- Drop_priv
- Reload_priv
- Shutdown_priv
- Process_priv
- File_priv
- Grant_priv
- References_priv
- Index_priv
- Alter_priv
另外一種添加用戶的方法為通過SQL的 GRANT 命令,你下命令會(huì)給指定數(shù)據(jù)庫TUTORIALS添加用戶 zara ,密碼為 zara123 。
root@host# mysql -u root -p password;
Enter password:*******
mysql> use mysql;
Database changed
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP -> ON TUTORIALS.* -> TO 'zara'@'localhost' -> IDENTIFIED BY 'zara123';
以上命令會(huì)在mysql數(shù)據(jù)庫中的user表創(chuàng)建一條用戶信息記錄。
注意: MySQL 的SQL語句以分號(hào) (;) 作為結(jié)束標(biāo)識(shí)。
/etc/my.cnf 文件配置
一般情況下,你不需要修改該配置文件,該文件默認(rèn)配置如下:
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock [mysql.server] user=mysql basedir=/var/lib [safe_mysqld] err-log=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
在配置文件中,你可以指定不同的錯(cuò)誤日志文件存放的目錄,一般你不需要改動(dòng)這些配置。
管理MySQL的命令
以下列出了使用Mysql數(shù)據(jù)庫過程中常用的命令:
- USE 數(shù)據(jù)庫名 :選擇要操作的Mysql數(shù)據(jù)庫,使用該命令后所有Mysql命令都只針對(duì)該數(shù)據(jù)庫。
- SHOW DATABASES: 列出 MySQL 數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)庫列表。
- SHOW TABLES: 顯示指定數(shù)據(jù)庫的所有表,使用該命令前需要使用 use 命令來選擇要操作的數(shù)據(jù)庫。
- SHOW COLUMNS FROM 數(shù)據(jù)表: 顯示數(shù)據(jù)表的屬性,屬性類型,主鍵信息 ,是否為 NULL,默認(rèn)值等其他信息。
- SHOW INDEX FROM 數(shù)據(jù)表: 顯示數(shù)據(jù)表的詳細(xì)索引信息,包括PRIMARY KEY(主鍵)。
- SHOW TABLE STATUS LIKE 數(shù)據(jù)表\G: 該命令將輸出Mysql數(shù)據(jù)庫管理系統(tǒng)的性能及統(tǒng)計(jì)信息。
相關(guān)文章
MYSQL如何 查詢數(shù)據(jù)庫中所有表中的數(shù)據(jù)量
INFORMATION_SCHEMA.TABLES 是 MySQL 中的系統(tǒng)表,用于存儲(chǔ)關(guān)于數(shù)據(jù)庫中的表的信息,這篇文章主要介紹了MYSQL如何 查詢數(shù)據(jù)庫中所有表中的數(shù)據(jù)量,需要的朋友可以參考下2024-01-01詳解如何校驗(yàn)MySQL及Oracle時(shí)間字段合規(guī)性
這篇文章主要為大家介紹了如何校驗(yàn)MySQL及Oracle時(shí)間字段合規(guī)性詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06mysql如何動(dòng)態(tài)創(chuàng)建連續(xù)時(shí)間段
這篇文章主要介紹了mysql如何動(dòng)態(tài)創(chuàng)建連續(xù)時(shí)間段問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01MySQL5.7更改密碼時(shí)出現(xiàn)ERROR 1054 (42S22)的解決方法
這篇文章主要為大家詳細(xì)介紹了MySQL5.7更改密碼時(shí)出現(xiàn)ERROR 1054 (42S22)的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10Centos7下無法遠(yuǎn)程連接mysql數(shù)據(jù)庫的原因與解決
MySQL是由Oracle公司開發(fā)的開源SQL數(shù)據(jù)庫管理系統(tǒng),下面這篇文章主要給大家介紹了關(guān)于在Centos7下無法遠(yuǎn)程連接mysql數(shù)據(jù)庫的原因與解決方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2017-09-09