歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

linux經常修改的文件2

linux經常修改的文件2   2001永久更改ip 編輯/etc/sysconfig/network-scripts/ifcfg-eth0文件,修改ip,然後執行ifdown eth0; ifup eth0 2002 允許|禁止root通過SSH登陸 修改sshd_config:PermitRootLogin no|yes  2003改變sshd的端口 在/etc/ssh/sshd_config中加入一行:Port 2222,/etc/init.d/sshd restart重啟守護進程   2004 防止任何人使用su命令成為root 1.vi /etc/pam.d/su auth sufficient /lib/security/pam_rootok.so debug auth required /lib/security/pam_wheel.so group=wheel 2.在/etc/pam.d/su配置文件中定義了wheel組 2005 如何讓ssh只允許指定的用戶登錄 方法1:在/etc/pam.d/sshd文件中加入 auth required pam_listfile.so item=user sense=allow file=/etc/sshusers onerr=fail 然後在/etc下建立sshusers文件,編輯這個文件,加入你允許使用ssh服務的用戶名,重新起動sshd服務即可。 方法2:pam規則也可以寫成deny的 auth required pam_listfile.so item=user sense=deny file=/etc/sshusers onerr=succeed 方法3:在sshd_config中設置AllowUsers,格式如 AllowUsers a b c 重啟sshd服務,則只有a/b/c3個用戶可以登陸 2006 壓縮傳輸文件或目錄 傳輸到遠程:tar czf - www | ssh server "tar zxf -" 壓縮到遠程:tar czf - www | ssh server "cat > www.tar.gz" 解壓到遠程:ssh server "tar zxf -" < www.tar.gz 解壓到本地:ssh server "cat www.tar.gz" | tar zxf - 2007 rsync同步壓縮傳輸文件或目錄 rsync -aze ssh --delete sample_dir/ remote_host:remote_dir/sample_dir/ 目錄最後的/不能少   2008 無需輸入密碼使用ssh密鑰登錄 ssh-keygen -b 1024 -t rsa ssh server "mkdir .ssh; chmod 0700 .ssh" scp ~/.ssh/id_rsa.pub server:~/.ssh/authorized_keys 這樣就不在提示密碼,直接可以登錄server了 對文件復制、同步等操作都比較方便 在ssh_config裡加入這兩句就更方便了 ForwardAgent yes StrictHostKeyChecking no 3001 mysql的數據庫存放在什麼地方 1. 如果使用rpm包安裝,應該在/var/lib/mysql目錄下,以數據庫名為目錄名 2. 如果源碼安裝在/usr/local/mysql中,應該在/usr/local/mysql/var中,以數據庫名為目錄名 3002 從mysql中導出和導入數據 導出數據庫 mysqldump 數據庫名 > 文件名 導入數據庫 mysqladmin create 數據庫名 mysql 數據庫名 < 文件名 3003 忘了mysql的root口令怎麼辦 # service mysql stop # mysqld_safe --skip-grant-tables & # mysqladmin -u user password 'newpassword'' # mysqladmin flush-privileges 3004修改mysql的root口令 大致有2種方法: 1、mysql>mysql -uroot -pxxx mysql mysql>update user set password=password('new_password') where user='user'; mysql>flush privileges; 2、格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼 #mysqladmin -uroot -password ab12 注:因為開始時root沒有密碼,所以-p舊密碼一項就可以省略了 3005 如何使用rpm方式安裝mysql 首先下載合適的rpm包,例如下載了文件 MySQL-5.0.19-0.i386.rpm 用一下方法安裝: #rpm -ivhU MySQL-5.0.19-0.i386.rpm 通常情況下,安裝完這個rpm包後,只具備有mysqld服務功能,其它相關的client程序和開發包還需要另外安裝 #rpm -ivhU MySQL-devel-5.0.19-0.i386.rpm #rpm -ivhU MySQL-client-5.0.19-0.i386.rpm 3006 如何安裝已經編譯好了的mysql二進制包 首先下載合適的二進制包,例如下載了文件 mysql-standard-4.1.13-pc-linux-gnu-i686.tar.gz #groupadd mysql #useradd -g mysql mysql #cd /usr/local #tar zxf mysql-standard-4.1.13-pc-linux-gnu-i686.tar.gz #ln -s mysql-standard-4.1.13-pc-linux-gnu-i686 mysql #cd mysql #scripts/mysql_install_db --user=mysql #chgrp -R mysql * #bin/mysqld_safe --user=mysql & 有什麼個性化的配置,可以通過創建 /etc/my.cnf 或者 /usr/local/mysql/data/my.cnf,增加相關的參數來實現 5007 如何自己編譯mysql 以redhat linux 9.0為例: 下載文件 mysql-4.1.13.tar.gz #tar zxf mysql-4.1.13.tar.gz #cd mysql-4.1.13 #./configure --prefix=/usr/local/mysql --enable-assembler \ --with-mysqld-ldflags=-all-static --localstatedir=/usr/local/mysql/data \ --with-unix-socket-path=/tmp/mysql.sock --enable-assembler \ --with-charset=complex --with-low-memory --with-mit-threads #make #make install #groupadd mysql #useradd -g mysql mysql #chgrp -R mysql /usr/local/mysql/ #/usr/local/mysql/bin/mysqld_safe --user=mysql & 有什麼個性化的配置,可以通過創建 /etc/my.cnf 或者 /usr/local/mysql/data/my.cnf,增加相關的參數來實現 5009 如何登錄mysql使用mysql提供的客戶端工具登錄 #PATH_TO_MYSQL/bin/mysql -uuser -ppassword dateabase 5010 mysqld起來了,卻無法登錄,提示"/var/lib/mysql/mysql.sock"不存在(yejr) 這種情況大多數是因為你的mysql是使用rpm方式安裝的,它會自動尋找 /var/lib/mysql/mysql.sock 這個文件, 通過unix socket登錄mysql。 常見解決辦法如下: 1、創建/修改文件 /etc/my.cnf,至少增加/修改一行 [mysql] [client] socket = /tmp/mysql.sock #在這裡寫上你的mysql.sock的正確位置,通常不是在 /tmp/ 下就是在 /var/lib/mysql/ 下 2、指定IP地址,使用tcp方式連接mysql,而不使用本地sock方式 #mysql -h127.0.0.1 -uuser -ppassword 3、為 mysql.sock 加個連接,比如說實際的mysql.sock在 /tmp/ 下,則 # ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock即可 5011 如何新增一個mysql用戶 格式:grant select on 數據庫.* to 用戶名@登錄主機 identified by "密碼" 例1、增加一個用戶test1密碼為abc,讓他可以在任何主機上登錄,並對所有數據庫有查詢、插入、修改、刪除的權限。首先用以root用戶連入MYSQL,然後鍵入以下命令: mysql>grant select,insert,update,delete on *.* to test1@"%" Identified by "abc"; 但例1增加的用戶是十分危險的,你想如某個人知道test1的密碼,那麼他就可以在internet上的任何一台電腦上登錄你的mysql數據庫並對你的數據可以為所欲為了,解決辦法見例2。 例2、增加一個用戶test2密碼為abc,讓他只可以在localhost上登錄,並可以對數據庫mydb進行查詢、插入、修改、刪除的操作(localhost指本地主機,即MYSQL數據庫所在的那台主機),這樣用戶即使用知道test2的密碼,他也無法從internet上直接訪問數據庫,只能通過MYSQL主機上的web頁來訪問了。 mysql>grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc"; 如果你不想test2有密碼,可以再打一個命令將密碼消掉。 mysql>grant select,insert,update,delete on mydb.* to test2@localhost identified by ""; 另外,也可以通過直接往user表中插入新紀錄的方式來實現 5012 如何查看mysql有什麼數據庫 mysql>show databases; 5013 如何查看數據庫下有什麼表 mysql>show tables; 5014 導出數據的幾種常用方法 1、使用mysqldump #mysqldump -uuser -ppassword -B database --tables table1 --tables table2 > dump_data_20051206.sql 詳細的參數 2、backup to語法 mysql>BACKUP TABLE tbl_name[,tbl_name...] TO '/path/to/backup/directory'; 詳細請查看mysql手冊 3、mysqlhotcopy #mysqlhotcopy db_name [/path/to/new_directory] 或 #mysqlhotcopy db_name_1 ... db_name_n /path/to/new_directory 或 #mysqlhotcopy db_name./regex/ 詳細請查看mysql手冊 4、select into outfile 詳細請查看mysql手冊 5、客戶端命令行 #mysql -uuser -ppassword -e "sql statements" database > result.txt 以上各種方法中,以mysqldump最常用 5015 如何在命令行上執行sql語句(yejr) #mysql -uuser -ppassword -e "sql statements" database 5016 導入備份出來文件的常見方法 1、由mysqldump出來的文件 #mysql -uuser -ppassword [database] < dump.sql 2、文件類型同上,使用source語法 mysql>source /path_to_file/dump.sql; 3、按照一定格式存儲的文本文件或csv等文件 #mysqlimport [options] database file1 [file2....] 詳細請查看mysql手冊 4、文件類型同上,也可以使用load data語法導入 詳細請查看mysql手冊 5017 讓mysql以大內存方式啟動(陳緒) 將/usr/share/mysql下的某個mysql-*.cnf(如1G內存時為mysql-huge.cnf)拷貝為/etc/mysql.cnf文件,並重啟mysql
Copyright © Linux教程網 All Rights Reserved