『壹』 如何取得linux伺服器的系統時間,我用的是Mysql的資料庫
希望下面的對你有用
寫在前言:
首先自我坦白,我確實是一個MySQL方面的菜鳥,今天,我用了近三個小時的時間把MySQL參考手
冊看完了,而促使我學MySQL的動力並不是為了想提薪,或者是因為公司的需要,很奇怪的,我學
它是因為我前幾天接觸到了php,而PHP的大部分應用中都要引用到MySQL,我看得一頭霧水,因此
在網上Down了MySQL的參考手冊學習。而我接觸到PHP的原因其實更奇怪,但與本文無關,以後有
機會再講吧,呵呵。我看完了參考手冊後,在單機上建立了幾個資料庫,把有關MySQL的主要命令
溫習了一遍,我想,也許網上還有許多象我這樣的菜鳥,也許我可以寫些文章幫助他們,因此把
我在單機上的實驗過程整理了一遍,寫成文章。 以下進入正文。
正文部分:
一、啟動APACHE並進入MySQL:
現在我假設你已經安裝好了APACHE,MySQL,並且他們可以運行。開啟APACHE,進入在WINDOWS』
98的MS-DOS狀態下:
你首先進入的預設目錄應該是你安裝WINDOWS』98的目錄,比如C:WINDOWS>,請在此編輯一個批處
理文件sqlstart.bat,內容如下:
c: //進入你安裝Mysql的目錄
cd mysqlbin
mysqld-shareware //啟動Mysql
mysql -u root //用預設許可權進入
好了,你不費吹灰之力就搞好了,現在,執行它,如果不出意外,你應該已經進入了,確認提示
符如下:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 459 to server version: 3.22.32a-shareware-debug
Type 'help' for help.
mysql>
看到了嗎,呵呵我比你還心急啊,如果看到了,恭喜你,你的一隻腳已經進入邁入MySQL的殿堂一
大步了,以後就會越來越容易了,初學MySQL者(象我一樣)都只是起步較難而已。
輸入命令「EXIT」,可以退出MySQL,再輸入「MYSQLADMIN SHUTDOWN」,可以退出伺服器。
順便說一下,以上編批處理的用意只是為了以後快速進入MySQL而已,如果你要練指法的話,你可
以忍受無數次在MS-DOS下一行一行地重復打入命令(象我就辦不到了,我是個懶鬼,呵呵)。
二、關於MySQL提示符下的一些基本常識
上次我們說到那裡了,哦,是的,我們已經進入了MySQL的提示符號下面了,那麼,請大膽地在提
示符下胡亂輸入幾個字母,比如是「ABCDEFG」(大小寫都沒有關系),然後直接按ENTER鍵,例
子如下:
mysql>abcdEfg
->
呵呵,看到了嗎,先別亂動了(畫外音:哎呀,悟空,叫你不要亂動,你又亂動.…..)然後輸入
分號「;」,按ENTER鍵,例子如下:
mysql>abcdEfg
->;
ERROR 1064 : You have an error in your SQL syntax near 『abcdefg』 at line 1
呵呵,系統報錯了,因為我們之前輸入的「ABCDEFG」是無意義的符號,MySQL不能辨認,就反饋
告訴我們出錯了,而輸入「;」號,其實就是告訴MySQL,我們要輸入的命令都輸入完了,你快點
給我執行吧,呵呵,而且分號「;」可以和我們輸入的指令一行,如下:
mysql>abcdEfg;
ERROR 1064 : You have an error in your SQL syntax near 『abcdefg』 at line 1
好了,現在讓我們來輸入一些有意義的符號,你想不想知道現在是多少號,或者,現在幾點了,
呵呵,你應該可以輕車熟路地輸入以下命令:「select now();」,例子如下:
mysql>select now();
+---------------------+
│ NOW() │
+---------------------+
│ 2000-09-29 10:15:33 │
+---------------------+
1 row in set (0.05 sec)
OK,一切都很順利,不是嗎,我們現在知道了今天的日期和現在的時間,但要注意哦,這可是服
務器的時間,因為現在我們把伺服器裝到了我們的單機上,顯示的就是我們單機的時間,不信,
把你的系統時間調一下。
還有一行要說明的是「1 row in set (0.05 sec)「,它表明了顯示以上信息,系統顯示所耗費的
時間,理所當然的,要顯示的數據數量的多少,伺服器的配置(哎,我的這台爛電腦,什麼時候
才能升級啊),還有就是,同一時間內,向伺服器發出顯示數據的請求線程的多少,都會影響到
伺服器處理顯示信息的速度哦。
菜鳥們,大家要提問題啊,提問題才能進步啊,哎,怎麼沒人提問題,只好我自己來提了,我只
想知道今天的日期,而不想知道時間,該怎麼辦,呵呵,太簡單了,輸入例子如下:
mysql>select current_date;
+--------------+
│ CURRENT_DATE │
+--------------+
│ 2000-09-29 │
+--------------+
YEAH!成功了,呵呵,(畫外音:悟空「我只想知道現在的時間,而不想知道今天的日期,你做
的到嗎?」)
此種問題怎麼可能難得倒我嗎?輸入例子如下:
mysql>select current_time;
+--------------+
│ CURRENT_TIME │
+--------------+
│ 10:20:07 │
+--------------+
想知道今天的日期和時間,但不準用「SELECT NOW()」這個命令,那隻好把「SELECT
CURRENT_DATE」和「SELECT CURRENT_TIME「結合起來了,輸入例子如下:
mysql> select current_date;select current_time;
+--------------+
│ CURRENT_DATE │
+--------------+
│ 2000-09-29 │
+--------------+
+--------------+
│ CURRENT_TIME │
+--------------+
│ 10:20:27 │
+--------------+
注意,兩個命令之間是分號「;」,但難道你不嫌這樣麻煩嗎,呵呵,我們可以使它變得更簡單
一些:
mysql> select current_date,current_time;
+--------------+--------------+
│ CURRENT_DATE │ CURRENT_TIME │
+--------------+--------------+
│ 2000-09-29 │ 10:20:37 │
+--------------+--------------+
呵呵,細心的你應該發現了,這次在兩個命令當中我們用了「,」號,而且只用了一個
「SELECT」命令(好了,悟空,如果你手癢的話,那就把剛才學到的幾個命令連在一起,都用這
個方法打出來吧)。
『貳』 Linux下Mysql定時任務的如何實現
用linux的定時任務crond
Crond是linux系統中用來定期執行命令/腳本或指定程序任務的一種服務或軟體,一般情況下,我們安裝完Centos5/6 linux操作系統之後,默認便會啟動Crond任務調度服務。
Crond服務會定期(默認每分鍾檢查一次)檢查系統中是否有要執行的任務工作,如果有,便會根據其預先設定的定時任務規則自動執行該定時任務工作,這個crond定時任務服務就相當於我們平時早起使用的鬧鍾一樣。
crontab -l 查看當前用戶的定時任務配置
crontab -e 進入當前用戶的定時任務vim編輯模式
具體你查下linux crond的用法
『叄』 linux mysql,插入數據'0000-00-00 00:00'到datetime類型的欄位時報錯,什麼原因呢
1.數據表中有記錄的time欄位(屬性為timestamp)其值為:「0000-00-00 00:00:00」
程序使用select 語句從中取數據時出現以下異常:
java.sql.SQLException:Value '0000-00-00' can not be represented as java.sql.Date
後查資料發現 「0000-00-00 00:00:00」在mysql中是作為一個特殊值存在的
但 java.sql.Date 將其視為 不合法的值 格式不正確
『肆』 資料庫時間與電腦時間不一致,Linux系統
那你那個時間是對的呢!不一樣哪個是你的正確時間呢!如果是你的電腦時間不對,看下是不是你的主板電池沒電了。如果是你的資料庫不對就得找下資料庫賣你的人!!!
『伍』 linux 下mysql 運行一段時間後自動關閉,日誌無異常
檢查一下磁碟空間,和內存。如果磁碟空間不足,或者內存不足,都可能導致mysql 自動關閉
『陸』 如何設置mysql主從同步時間間隔 linux
linux下配置mysql主從同步的步驟
一、主機環境
主機:
master操作系統:rhel6.0
IP:172.16.0.100
MySQL版本:5.1.47
從機: www.2cto.com
slave操作系統:rhel6.0
IP:172.16.0.200
MySQL版本:5.1.47
二、創建資料庫
分別登錄master機和slave機的mysql:mysql –u root –p
創建資料庫:create database repl;
三、master機和slave機的相關配置
1、修改master機器中mysql配置文件my.cnf,該文件在/etc目錄下
在[mysqld]配置段添加如下欄位
server-id=1
log-bin=mysql-bin
binlog-do-db=repl //需要同步的資料庫,如果沒有本行,即表示同步所有的資料庫
binlog-ignore-db=mysql //被忽略的資料庫
在master機上為slave機添加一同步帳號
grant replication slave on *.* to 'replication'@'172.16.0.200' identified by '123456';
重啟master機的mysql服務:service mysqld restart
用show master status 命令看日誌情況
mysql>show master status;
+-----------------+------------+-------------------+-----------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-----------------+------------+-------------------+-----------------------+
| log.000003 | 98 | repl | mysql |
+-----------------+------------+-------------------+-----------------------+
1 row in set (0.00 sec)
2、修改slave機中mysql配置文件
同樣在[mysqld]欄位下添加如下內容
server-id=2 www.2cto.com
master-host=172.16.0.100
master-user=repl
master-password=123456
master-port=3306
master-connect-retry=60
replicate-do-db=repl //同步的資料庫,不寫本行 表示 同步所有資料庫
然後重啟slave機的mysql
在slave機中進入mysql
mysql>start slave;
mysql>show slave status\G;
如果Slave_IO_Running、Slave_SQL_Running狀態為Yes則表明設置成功。
這時 再執行show slave status\G
顯示如下:
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.222
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: log.000003
Read_Master_Log_Pos: 98
Relay_Log_File: mysqld-relay-bin.000002
Relay_Log_Pos: 229
Relay_Master_Log_File: log.000003
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 98
Relay_Log_Space: 229
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
1 row in set (0.00 sec)
www.2cto.com
Slave_IO_Running: Yes Slave_SQL_Running: Yes
信息中如上兩行都為Yes,說明配置成功。
五、測試主從伺服器是否能同步
在主伺服器上面新建一個表,必須在repl數據下
mysql> use repl
Database changed
mysql> create table test(id int,name char(10));
Query OK, 0 rows affected (0.00 sec)
mysql> insert into test values(1,'zaq');
Query OK, 1 row affected (0.00 sec)
mysql> insert into test values(1,'xsw');
Query OK, 1 row affected (0.00 sec)
mysql> select * from test;
+------+------+
| id | name |
+-------+------+
| 1 | zaq |
| 1 | xsw |
+-------+------+
2 rows in set (0.00 sec)
在從伺服器查看是否同步過來
mysql> use repl;
Database changed
mysql> select * from test;
+------+------+
| id | name |
+------+------+
| 1 | zaq |
| 1 | xsw |
+------+------+
2 rows in set (0.00 sec)
說明已經配置成功。
四、出現的問題
1. 當在執行start slave這條命令時,系統提示
ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO,
執行show slave status;又提示Empty set (0.00 sec)
原因:slave已經默認開啟,要先關閉再開啟
執行 slave stop;
再執行
change master to master_host='172.16.0.200',master_user='repl',master_password='123456', master_log_file='log.000003' ,master_log_pos=98;
2、出現錯誤提示 :Slave_IO_Running:NO
mysql的error日誌中信息: www.2cto.com
Slave I/O: error connecting to master '[email protected]:3306' - retry-time: 60 retries: 86400, Error_code: 1045
解決方法
1.在主mysql中創建slave遠程連接訪問時候的登錄密碼一定要設置對。
2.停止slave上的mysqld服務,從伺服器上刪除掉所有的二進制日誌文件,包括一個數據目錄下的master.info文件和hostname-relay-bin開頭的文件,然後啟動slave上的mysqld服務。
master.info::記錄了Mysql主伺服器上的日誌文件和記錄位置、連接的密碼。
3.slave上Slave_SQL_Running: No ,提示某個表定義不正確
解決方法:
清空drop掉master和slave上的已經存在所有表,然後從master庫上導入新的數據即可。
『柒』 linux 編譯安裝mysql5.5要多久時間
你好,朋友,
看是源代碼安裝還有yum
源代碼編譯可能會久一點 ,我的虛擬機 2 g 內存30分鍾左右吧
『捌』 linux 下怎麼查看php 頁面執行時間,和插入1條記錄mysql的執行時間
$time_start = getmicrotime();
function getmicrotime()
{
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
//待測試代碼段
$time_end = getmicrotime();
printf ("[頁面執行時間: %.2f毫秒]\n\n",($time_end - $time_start)*1000);
『玖』 在linux安裝MySQL時採用源碼編譯安裝,但是如何讓MySQL的編譯時間縮短呢
可以試試在使用make && make install 時添加-j參數,不限制內核進行編譯安裝。或者-j 後加內核數 。例如 make -j 4 && make install -j 4
優點:速度快會相對提高很多
缺點:消耗大量CPU,內存資源。
我做過一個測試,如果不限定內核 (16核 80GB內存 )的伺服器編譯安裝mysql 5.0.7 安裝時長大致在10分鍾左右,但是測試時伺服器CPU跑滿100% ,內存消耗至少32GB。直接使用 make && make install 安裝耗時45分鍾,內存4GB ,CPU 10%左右。