Linux下MySQL的一些操做

一、Linux下啓動Mysql的命令:
/etc/init.d/mysql start
二、關閉Mysql的命令:
/etc/init.d/mysql shutdown
三、重啓Mysql的命令:
/etc/init.d/mysql restart
四、建立用戶:
grant 權限(all表明全部權限) on database_name.* to userNmae@"%" identified by "Password"mysql


GRANT privileges (columns) ON what TO user IDENTIFIED BY "password" WITH GRANT OPTION
若是建立用戶後或者Update Mysql-User表後權限的設置不生效,能夠執行flush privileges;就OK!

mysql>grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by '123';
給來自10.163.225.87的用戶joe分配可對數據庫vtdc的employee表進行select,insert,update,delete,create,drop等操做的權限,並設定口令爲123。sql

mysql>grant all privileges on vtdc.* to joe@10.163.225.87 identified by '123';
給來自10.163.225.87的用戶joe分配可對數據庫vtdc全部表進行全部操做的權限,並設定口令爲123。數據庫

mysql>grant all privileges on *.* to joe@10.163.225.87 identified by '123';
給來自10.163.225.87的用戶joe分配可對全部數據庫的全部表進行全部操做的權限,並設定口令爲123。tcp

mysql>grant all privileges on *.* to joe@localhost identified by '123';
給本機用戶joe分配可對全部數據庫的全部表進行全部操做的權限,並設定口令爲123。ide

五、導入數據:
在mysql的命令行 source /root/daoru.sql;函數

六、Linux下解決Mysql數據庫大小寫的問題:
修改/etc/my.cnf文件,在[mysqld]下加一行:lower_case_table_names=1 (修改完後須要重啓動mysql才能生效)
若是/etc下沒有my.cnf文件,就把/usr/share/mysql目錄下的my-medium.cnf拷貝到/etc目錄下,重命名爲my.cnf,而後再修改,最後重啓Mysql就OK了.能夠在Mysql的命令行檢查當前的設置是否區分大小寫:編碼

mysql> show variables like '%case_table%';spa

+------------------------+-------+命令行

| Variable_name          | Value |rest

+------------------------+-------+

| lower_case_table_names | 1     |

+------------------------+-------+
(0:區分;1:不區分)

七、自動啓動
1)察看mysql是否在自動啓動列表中
[root@test1 local]# /sbin/chkconfig –list
2)把MySQL添加到你係統的啓動服務組裏面去
[root@test1 local]# /sbin/chkconfig – add mysql
3)把MySQL從啓動服務組裏面刪除。
[root@test1 local]# /sbin/chkconfig – del mysql

八、修改Mysql字符編碼:

打開配置文件/etc/my.cnf(修改完後須要重啓動mysql才能生效)
在[client] 添加   default-character-set=utf8 默認字符集爲utf8
在[mysqld] 添加   default-character-set=utf8 默認字符集爲utf8
init_connect='SET NAMES utf8' (設定鏈接mysql數據庫時使用utf8編碼,以讓mysql數據庫爲utf8運行)

mysql> show variables like 'character_set%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

九、查看Mysql數據庫裏已經建立好的存儲過程和存儲函數:

SHOW PROCEDURE STATUS
SHOW FUNCTION STATUS
查看某個存儲過程的代碼:show create procedure status

對於存儲過程,若是是root用戶建立的,其餘用戶則沒法訪問,能夠用以下的方式來解決:
mysql> SHOW CREATE PROCEDURE `database`.`procedure_name`\G
mysql> GRANT select ON mysql.proc to user@'host' IDENTIFIED BY 'passwd';
注意:identified by 'passwd' 的用途是修改密碼,若是不想修改密碼的話就不要加這句話.

十、查看錶結構:desc table_name;
Linux下查看到3306端口的tcp連接:netstat -an | grep 3306
Mysql命令行下查看鏈接池的連接:show processlist
Linux下遠程連接Mysql數據庫:mysql -h192.168.1.1 -u -p

十一、mysql的用戶權限

首先是用戶的建立,能夠用grant
GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' IDENTIFIED BY 'some_pass' WITH GRANT OPTION;

也能夠直接插入: INSERT INTO user (Host,User,Password) VALUES('localhost','dummy',PASSWORD('some_pass')); FLUSH PRIVILEGES;

相關文章
相關標籤/搜索