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

