您好,登錄后才能下訂單哦!
首先,我們需要通過(guò)以下命令來(lái)檢查MySQL服務(wù)器是否啟動(dòng):
ps -ef | grep mysqld
如果MySql已經(jīng)啟動(dòng),以上命令將輸出mysql進(jìn)程列表, 如果mysql未啟動(dòng),你可以使用以下命令來(lái)啟動(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 shutdownEnter password: ******
如果你需要添加 MySQL 用戶,你只需要在 mysql 數(shù)據(jù)庫(kù)中的 user 表添加新用戶即可。
以下為添加用戶的的實(shí)例,用戶名為guest,密碼為guest123,并授權(quán)用戶可進(jìn)行 SELECT, INSERT 和 UPDATE操作權(quán)限:
root@host# mysql -u root -pEnter 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ù)來(lái)對(duì)密碼進(jìn)行加密。 你可以在以上實(shí)例看到用戶密碼加密后為: 6f8c114b58f2ce9e.
注意:在 MySQL5.7 中 user 表的 password 已換成了authentication_string。
注意:在注意需要執(zhí)行 FLUSH PRIVILEGES 語(yǔ)句。 這個(gè)命令執(zhí)行后會(huì)重新載入授權(quán)表。
如果你不使用該命令,你就無(wú)法使用新創(chuàng)建的用戶來(lái)連接mysql服務(wù)器,除非你重啟mysql服務(wù)器。
你可以在創(chuàng)建用戶時(shí),為用戶指定權(quán)限,在對(duì)應(yīng)的權(quán)限列中,在插入語(yǔ)句中設(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
另外一種添加用戶的方法為通過(guò)SQL的 GRANT 命令,你下命令會(huì)給指定數(shù)據(jù)庫(kù)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ù)庫(kù)中的user表創(chuàng)建一條用戶信息記錄。
注意: MySQL 的SQL語(yǔ)句以分號(hào) (;) 作為結(jié)束標(biāo)識(shí)。
一般情況下,你不需要修改該配置文件,該文件默認(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數(shù)據(jù)庫(kù)過(guò)程中常用的命令:
USE 數(shù)據(jù)庫(kù)名 :
選擇要操作的Mysql數(shù)據(jù)庫(kù),使用該命令后所有Mysql命令都只針對(duì)該數(shù)據(jù)庫(kù)。
mysql> use RUNOOB;Database changed
SHOW DATABASES:
列出 MySQL 數(shù)據(jù)庫(kù)管理系統(tǒng)的數(shù)據(jù)庫(kù)列表。
mysql> SHOW DATABASES;+--------------------+| Database |+--------------------+| information_schema || RUNOOB || cdcol || mysql || onethink || performance_schema || phpmyadmin || test || wecenter || wordpress |+--------------------+10 rows in set (0.02 sec)
SHOW TABLES:
顯示指定數(shù)據(jù)庫(kù)的所有表,使用該命令前需要使用 use 命令來(lái)選擇要操作的數(shù)據(jù)庫(kù)。
mysql> use RUNOOB;Database changed mysql> SHOW TABLES;+------------------+| Tables_in_runoob |+------------------+| employee_tbl || runoob_tbl || tcount_tbl |+------------------+3 rows in set (0.00 sec)
SHOW COLUMNS FROM 數(shù)據(jù)表:
顯示數(shù)據(jù)表的屬性,屬性類型,主鍵信息 ,是否為 NULL,默認(rèn)值等其他信息。
mysql> SHOW COLUMNS FROM runoob_tbl;+-----------------+--------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-----------------+--------------+------+-----+---------+-------+| runoob_id | int(11) | NO | PRI | NULL | || runoob_title | varchar(255) | YES | | NULL | || runoob_author | varchar(255) | YES | | NULL | || submission_date | date | YES | | NULL | |+-----------------+--------------+------+-----+---------+-------+4 rows in set (0.01 sec)
SHOW INDEX FROM 數(shù)據(jù)表:
顯示數(shù)據(jù)表的詳細(xì)索引信息,包括PRIMARY KEY(主鍵)。
mysql> SHOW INDEX FROM runoob_tbl;+------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |+------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+| runoob_tbl | 0 | PRIMARY | 1 | runoob_id | A | 2 | NULL | NULL | | BTREE | | |+------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+1 row in set (0.00 sec)
SHOW TABLE STATUS LIKE [FROM db_name] [LIKE 'pattern'] \G:
該命令將輸出Mysql數(shù)據(jù)庫(kù)管理系統(tǒng)的性能及統(tǒng)計(jì)信息。
mysql> SHOW TABLE STATUS FROM RUNOOB; # 顯示數(shù)據(jù)庫(kù) RUNOOB 中所有表的信息mysql> SHOW TABLE STATUS from RUNOOB LIKE 'runoob%'; # 表名以runoob開(kāi)頭的表的信息mysql> SHOW TABLE STATUS from RUNOOB LIKE 'runoob%'\G; # 加上 \G,查詢結(jié)果按列打印
Gif 圖演示:
MySQL 安裝
MySQL PHP 語(yǔ)法
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。
oocarain
ooc***in@163.com
記錄 MySQL 學(xué)習(xí)過(guò)程遇到的問(wèn)題。
系統(tǒng):win32 位
MySQL 版本:5.7.17-log
MySQL 語(yǔ)法對(duì)大小寫(xiě)不敏感,但是大寫(xiě)更容易看出。
一、啟動(dòng)關(guān)閉MySQL服務(wù)
1【開(kāi)始菜單】搜索 services.msc 打開(kāi) windows【服務(wù)管理器】,可以在此開(kāi)啟關(guān)閉 MySQL 服務(wù)。
2 在 cmd 中使用命令:
遇到net命令無(wú)法識(shí)別,如下:
這是環(huán)境變量沒(méi)有配置的原因,究竟是哪一個(gè)文件的環(huán)境變量沒(méi)有配置呢?
是 C:\windows\system32\ 這個(gè)路徑下的 net.exe 沒(méi)有配置環(huán)境變量
現(xiàn)切換到這個(gè)路徑下試一下可不可以使用 net 命令:
在 Powershell 需要使用
.\net stop mysql
關(guān)閉服務(wù)。
在 cmd 中可以直接使用
啟動(dòng)服務(wù)。
將c:\windows\system32添加到系統(tǒng)的Path中后:
成功?。?!
oocarain
oocarain
ooc***in@163.com
9個(gè)月前 (03-06)一條魚(yú)
ili***yun@163.com
參考地址
用 insert 添加用戶時(shí),可能會(huì)報(bào)錯(cuò):
my-default.ini中有一條語(yǔ)句:
指定了嚴(yán)格模式,為了安全,嚴(yán)格模式禁止通過(guò) insert 這種形式直接修改 mysql 庫(kù)中的 user 表進(jìn)行添加新用戶
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
將 STRICT_TRANS_TABLES 刪掉之后即可使用 insert 添加
一條魚(yú)
一條魚(yú)
ili***yun@163.com
參考地址
5個(gè)月前 (06-25)Morrison
982***639@qq.com
參考地址
添加新用戶建議 GRANT 命令
一、grant 普通數(shù)據(jù)用戶,查詢、插入、更新、刪除 數(shù)據(jù)庫(kù)中所有表數(shù)據(jù)的權(quán)利。
或者,用一條 MySQL 命令來(lái)替代:
二、grant 數(shù)據(jù)庫(kù)開(kāi)發(fā)人員,創(chuàng)建表、索引、視圖、存儲(chǔ)過(guò)程、函數(shù)。。。等權(quán)限。
grant 創(chuàng)建、修改、刪除 MySQL 數(shù)據(jù)表結(jié)構(gòu)權(quán)限。
grant 操作 MySQL 外鍵權(quán)限。
grant 操作 MySQL 臨時(shí)表權(quán)限。
grant 操作 MySQL 索引權(quán)限。
grant 操作 MySQL 視圖、查看視圖源代碼 權(quán)限。
grant 操作 MySQL 存儲(chǔ)過(guò)程、函數(shù) 權(quán)限。
三、grant 普通 DBA 管理某個(gè) MySQL 數(shù)據(jù)庫(kù)的權(quán)限。
其中,關(guān)鍵字 privileges 可以省略。
四、grant 高級(jí) DBA 管理 MySQL 中所有數(shù)據(jù)庫(kù)的權(quán)限。
五、MySQL grant 權(quán)限,分別可以作用在多個(gè)層次上。
1. grant 作用在整個(gè) MySQL 服務(wù)器上:
2. grant 作用在單個(gè)數(shù)據(jù)庫(kù)上:
3. grant 作用在單個(gè)數(shù)據(jù)表上:
這里在給一個(gè)用戶授權(quán)多張表時(shí),可以多次執(zhí)行以上語(yǔ)句。例如:
4. grant 作用在表中的列上:
5. grant 作用在存儲(chǔ)過(guò)程、函數(shù)上:
六、查看 MySQL 用戶權(quán)限
查看當(dāng)前用戶(自己)權(quán)限:
查看其他 MySQL 用戶權(quán)限:
七、撤銷已經(jīng)賦予給 MySQL 用戶權(quán)限的權(quán)限。
revoke 跟 grant 的語(yǔ)法差不多,只需要把關(guān)鍵字 to 換成 from 即可:
八、MySQL grant、revoke 用戶權(quán)限注意事項(xiàng)
1. grant, revoke 用戶權(quán)限后,該用戶只有重新連接 MySQL 數(shù)據(jù)庫(kù),權(quán)限才能生效。
2. 如果想讓授權(quán)的用戶,也可以將這些權(quán)限 grant 給其他用戶,需要選項(xiàng) grant option
這個(gè)特性一般用不到。實(shí)際中,數(shù)據(jù)庫(kù)權(quán)限最好由 DBA 來(lái)統(tǒng)一管理。
注意:創(chuàng)建完成后需要執(zhí)行 FLUSH PRIVILEGES 語(yǔ)句。