eclipse中配置mysql的方法:
1、驅動程序下載
在mysql的官網可以得到想要的版本。
2、驅動程序的引入使用
選擇要引入驅動的項目右鍵->建立路徑->配置路徑
6、測試連接代碼:
publicclassDao{
//公用的資料庫連接類
()throwsException{
StringdriverName="com.mysql.jdbc.Driver";//載入JDBC驅動
StringdbURL="jdbc:mysql://localhost:3306/test_scheme?auotReconnect=true&useUnicode=true&characterEncoding=utf8";//連接伺服器和數據login
// System.out.print(dbURL);
StringuserName="root";//用戶名
StringuserPwd="";//密碼
Class.forName(driverName);
returnDriverManager.getConnection(dbURL,userName,userPwd);
}
publicstaticvoidmain(String[]s){
try{
Stringsql="select * from test_table";
PreparedStatementpsmt=getConnection().prepareStatement(sql);
ResultSetrs=psmt.executeQuery();
while(rs.next()){
System.out.println(rs.getString(1));
}
}catch(Exceptione){
//TODOAuto-generated catch block
e.printStackTrace();
}
}
❷ 如何設置 mysqld
安全地關閉MySQL實例
關閉過程:
1、發起shutdown,發出 SIGTERM信號
2、有必要的話,新建一個關閉線程(shutdown
thread)
如果是客戶端發起的關閉,則會新建一個專用的關閉線程
如果是直接收到 SIGTERM 信號進行關閉的話,專門負責信號處理的線程就會負責關閉工作,或者新建一個獨立的線程負責這個事
當無法創建獨立的關閉線程時(例如內存不足),MySQL Server會發出類似下面的告警信息:
?
1Error: Can't create thread to kill server
3、MySQL Server不再響應新的連接請求
關閉TCP/IP網路監聽,關閉Unix Socket等渠道
4、逐漸關閉當前的連接、事務
空閑連接,將立刻被終止;
當前還有事務、SQL活動的連接,會將其標識為 killed,並定期檢查其狀態,以便下次檢查時將其關閉;(參考 KILL 語法)
當前有活躍事務的,該事物會被回滾,如果該事務中還修改了非事務表,則已經修改的數據無法回滾,可能只會完成部分變更;
如果是Master/Slave復制場景里的Master,則對復制線程的處理過程和普通線程也是一樣的;
如果是Master/Slave復制場景里的Slave,則會依次關閉IO、SQL線程,如果這2個線程當前是活躍的,則也會加上 killed
標識,然後再關閉;
Slave伺服器上,SQL線程是允許直接停止當前的SQL操作的(為了避免復制問題),然後再關閉該線程;
在MySQl
5.0.80及以前的版本里,如果SQL線程當時正好執行一個事務到中間,該事務會回滾;從5.0.81開始,則會等待所有的操作結束,除非用戶發起KILL操作。
當Slave的SQL線程對非事務表執行操作時被強制 KILL了,可能會導致Master、Slave數據不一致;
5、MySQL Server進程關閉所有線程,關閉所有存儲引擎;
刷新所有表cache,關閉所有打開的表;
每個存儲引擎各自負責相關的關閉操作,例如MyISAM會刷新所有等待寫入的操作;InnoDB會將buffer pool刷新到磁碟中(從MySQL
5.0.5開始,如果innodb_fast_shutdown不設置為 2 的話),把當前的LSN記錄到表空間中,然後關閉所有的內部線程。
6、MySQL Server進程退出
關於KILL指令
從5.0開始,KILL 支持指定 CONNECTION | QUERY兩種可選項:
KILL CONNECTION和原來的一樣,停止回滾事務,關閉該線程連接,釋放相關資源;
KILL
QUERY則只停止線程當前提交執行的操作,其他的保持不變;
提交KILL操作後,該線程上會設置一個特殊的
kill標記位。通常需要一段時間後才能真正關閉線程,因為kill標記位只在特定的情況下才檢查:
1、執行SELECT查詢時,在ORDER BY或GROUP BY循環中,每次讀完一些行記錄塊後會檢查
kill標記位,如果發現存在,該語句會終止;
2、執行ALTER TABLE時,在從原始表中每讀取一些行記錄塊後會檢查 kill
標記位,如果發現存在,該語句會終止,刪除臨時表;
3、執行UPDATE和DELETE時,每讀取一些行記錄塊並且更新或刪除後會檢查 kill
標記位,如果發現存在,該語句會終止,回滾事務,若是在非事務表上的操作,則已發生變更的數據不會回滾;
4、GET_LOCK()
函數返回NULL;
5、INSERT
DELAY線程會迅速內存中的新增記錄,然後終止;
6、如果當前線程持有表級鎖,則會釋放,並終止;
7、如果線程的寫操作調用在等待釋放磁碟空間,則會直接拋出逗磁碟空間滿地錯誤,然後終止;
8、當MyISAM表在執行REPAIR
TABLE 或 OPTIMIZE TABLE 時被 KILL的話,會導致該表損壞不可用,指導再次修復完成。
安全關閉MySQL幾點建議
想要安全關閉 mysqld 服務進程,建議按照下面的步驟來進行:
0、用具有SUPER、ALL等最高許可權的賬號連接MySQL,最好是用 unix socket
方式連接;
1、在5.0及以上版本,設置innodb_fast_shutdown = 1,允許快速關閉InnoDB(不進行full
purge、insert buffer
merge),如果是為了升級或者降級MySQL版本,則不要設置;
2、設置innodb_max_dirty_pages_pct =
0,讓InnoDB把所有臟頁都刷新到磁碟中去;
3、設置max_connections和max_user_connections為1,也就最後除了自己當前的連接外,不允許再有新的連接創建;
4、關閉所有不活躍的線程,也就是狀態為Sleep
且 Time 大於 1 的線程ID;
5、執行 SHOW PROCESSLIST
確認是否還有活躍的線程,尤其是會產生表鎖的線程,例如有大數據集的SELECT,或者大范圍的UPDATE,或者執行DDL,都是要特別謹慎的;
6、執行
SHOW ENGINE INNODB STATUS 確認History list
length的值較低(一般要低於500),也就是未PURGE的事務很少,並且確認Log sequence number、Log flushed up
to、Last checkpoint at三個狀態的值一樣,也就是所有的LSN都已經做過檢查點了;
7、然後執行FLUSH LOCKAL TABLES
操作,刷新所有 table cache,關閉已打開的表(LOCAL的作用是該操作不記錄BINLOG);
8、如果是SLAVE伺服器,最好是先關閉
IO_THREAD,等待所有RELAY LOG都應用完後,再關閉 SQL_THREAD,避免 SQL_THREAD
在執行大事務被終止,耐心待其全部應用完畢,如果非要強制關閉的話,最好也等待大事務結束後再關閉SQL_THREAD;
9、最後再執行 mysqladmin
shutdown。
10、緊急情況下,可以設置innodb_fast_shutdown = 1,然後直接執行 mysqladmin shutdown
即可,甚至直接在操作系統層調用 kill 或者 kill -9 殺掉 mysqld 進程(在innodb_flush_log_at_trx_commit = 0
的時候可能會丟失部分事務),不過mysqld進程再次啟動時,會進行CRASH RECOVERY工作,需要有所權衡。
❸ 怎麼安裝mysql my怎麼配置
解壓MySQL壓縮包將以下載的MySQL壓縮包解壓到自定義目錄下。
3. 添加環境變數
變數名:MYSQL_HOME
變數值:D:\Program Files\mysql-5.6.22-winx64
即為mysql的自定義解壓目錄。
再在Path中添加 %MYSQL_HOME%\bin
4. 注冊windows系統服務
將mysql注冊為windows系統服務
操作如下:
1)新建一個my.ini文件並把my.ini文件拷貝到c:\windows目錄下,my.ini內容如下:
[client]
port=3306
default-character-set=utf8
[mysqld]
# 設置為MYSQL的安裝目錄
basedir=D:\Program Files\mysql-5.6.22-winx64
# 設置為MYSQL的數據目錄
datadir=D:\Program Files\mysql-5.6.22-winx64/data
port=3306
character_set_server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
2)從控制台進入到MySQL解壓目錄下的 bin 目錄下。
3)輸入服務安裝命令:
mysqld.exe -install
如果出現Install/Remove of the Service Denied!
是因為WINDOW 7 跟 vista 的許可權更嚴格
進入 C:\Window\System32 找到CMD.EXE 右鍵選擇 以管理員身份 進行,再進入相應目錄執行命令,一切就OK了。
安裝成功後會提示服務安裝成功。
註:my-default.ini文件在MySQL解壓後的根目錄下,如果沒有,可從其他地方中獲取。
移除服務命令為:mysqld remove
5. 啟動MySQL服務
方法一:
啟動服務命令為:net start mysql
方法二:
打開管理工具 服務,找到MySQL服務。
通過右鍵選擇啟動或者直接點擊左邊的啟動來啟動服務。
6. 修改 root 賬號的密碼
剛安裝完成時root賬號默認密碼為空,此時可以將密碼修改為指定的密碼。如:123456
方法一:
c:>mysql –uroot
mysql>show databases;
mysql>use mysql;
mysql>UPDATE user SET password=PASSWORD("123456") WHERE user='root';
mysql>FLUSH PRIVILEGES; 【注意一定不要遺忘這句話,否則密碼更改不能生效】
mysql>QUIT
❹ 騰訊雲如何正確配置mysql
配置mysql只需要安裝這個程序就可以的。如果是和程序結合起來,那麼就要安裝lnmp一鍵包,這裡面自帶的相應的程序,比較省事
❺ 如何配置mysql連接mysql資料庫
C:\Ducuments and Settings\Administrator> cd\(回車鍵)
出現下面:
C:\>
第二步:
C:\>cd C:\Program Files\MySQL\MySQL Server 5.0\bin(回車鍵)
出現:C:\Program Files\MySQL\MySQL Server 5.0\bin>
第三步:(連接mysql伺服器)
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysql -hlocalhost -uroot -p(回車鍵)
(上面的-hlocalhost是指使用本地用戶來連接,-uroot是指使用用戶名為root的用戶來連接,-p是指空密碼,一般初學者都還沒有設置root的用戶密碼的,如果你在安裝mysql5.0時候配置了伺服器後,第一個要您設置root的密碼,請你記住,把它填入上面的-p之後)
成功連接後,就會出現mysql的歡迎語和mysql的版本號,
接著cmd的盤符出現為:
mysql>
那就表示成功連接mysql伺服器了,以後看到工具書裡面的命令,為mysql>命令,你就在這里輸入行了
❻ 怎麼安裝配置MySQL
方法/步驟
MySQL安裝文件分為兩種,一種是msi格式的,一種是zip格式的。如果是msi格式的可以直接點擊安裝,按照它給出的安裝提示進行安裝(相信大家的英文可以看懂英文提示),一般MySQL將會安裝在C:\Program Files\MySQL\MySQL Server 5.6 該目錄中;zip格式是自己解壓,解壓縮之後其實MySQL就可以使用了,但是要進行配置。
解壓之後可以將該文件夾改名,放到合適的位置,個人建議把文件夾改名為MySQL Server 5.6,放到C:\Program Files\MySQL路徑中。當然你也可以放到自己想放的任意位置。
完成上述步驟之後,很多用戶開始使用MySQL,但會出現圖示的錯誤。這是因為沒有配置環境變數所致。配置環境變數很簡單:
我的電腦->屬性->高級->環境變數
選擇PATH,在其後面添加: 你的mysql bin文件夾的路徑 (如:C:\Program Files\MySQL\MySQL Server 5.6\bin )
PATH=.......;C:\Program Files\MySQL\MySQL Server 5.6\bin (注意是追加,不是覆蓋)
配置完環境變數之後先別忙著啟動mysql,我們還需要修改一下配置文件(如果沒有配置,之後啟動的時候就會出現圖中的錯誤哦!:錯誤2 系統找不到文件),mysql-5.6.1X默認的配置文件是在C:\Program Files\MySQL\MySQL Server 5.6\my-default.ini,或者自己建立一個my.ini文件,
在其中修改或添加配置(如圖):
[mysqld]
basedir=C:\Program Files\MySQL\MySQL Server 5.6(mysql所在目錄)
datadir=C:\Program Files\MySQL\MySQL Server 5.6\data (mysql所在目錄\data)
以管理員身份運行cmd(一定要用管理員身份運行,不然許可權不夠),
輸入:cd C:\Program Files\MySQL\MySQL Server 5.6\bin 進入mysql的bin文件夾(不管有沒有配置過環境變數,也要進入bin文件夾,否則之後啟動服務仍然會報錯誤2)
輸入mysqld -install(如果不用管理員身份運行,將會因為許可權不夠而出現錯誤:Install/Remove of the Service Denied!)
安裝成功
安裝成功後就要啟動服務了,繼續在cmd中輸入:net start mysql(如圖),服務啟動成功!
此時很多人會出現錯誤,請看注意:
注意:這個時候經常會出現錯誤2和錯誤1067。
如果出現「錯誤2 系統找不到文件」,檢查一下是否修改過配置文件或者是否進入在bin目錄下操作,如果配置文件修改正確並且進入了bin文件夾,需要先刪除mysql(輸入 mysqld -remove)再重新安裝(輸入 mysqld -install);
如果出現錯誤1067,那就是配置文件修改錯誤,確認一下配置文件是否正確。
服務啟動成功之後,就可以登錄了,如圖,輸入mysql -u root -p(第一次登錄沒有密碼,直接按回車過),登錄成功!
❼ MySQL如何配置使用
麻煩您提供報錯信息 截圖或者 報錯的文字信息
還有您安裝mysql的目錄
❽ 怎麼配置mysql初始化化配置文件
一、mysql_install_db說明
當MySQL的系統庫(mysql系統庫)發生故障或需要新加一個mysql實例時,需要初始化mysql資料庫。
需要使用的命令:/usr/local/mysql/bin/mysql_install_db
#/usr/local/mysql/bin/mysql_install_db --help 可以查看幫助信息如下
Usage: /usr/local/mysql/bin/mysql_install_db [OPTIONS]
--basedir=path The path to the MySQL installation directory.
--cross-bootstrap For internal use. Used when building the MySQL system
tables on a different host than the target.
--datadir=path The path to the MySQL data directory.
--force Causes mysql_install_db to run even if DNS does not
work. In that case, grant table entries that normally
use hostnames will use IP addresses.
--ldata=path The path to the MySQL data directory.
--rpm For internal use. This option is used by RPM files
ring the MySQL installation process.
--skip-name-resolve Use IP addresses rather than hostnames when creating
grant table entries. This option can be useful if
your DNS does not work.
--srcdir=path For internal use. The directory under which
mysql_install_db looks for support files such as the
error message file and the file for popoulating the
help tables.
--user=user_name The login username to use for running mysqld. Files
and directories created by mysqld will be owned by this
user. You must be root to use this option. By default
mysqld runs using your current login name and files and
directories that it creates will be owned by you.
All other options are passed to the mysqld program
除了支持以上的參數,還支持mysqld的參數。
二、舉例:
本文以新加一個mysql實例為例。例如伺服器上已經安裝了3306埠的mysql服務,需要再啟一個3308埠的mysql服務。
假設mysql安裝在/usr/local/mysql路徑下,找一個磁碟空間剩餘比較大的盤,如/data1,把3308埠的mysql的數據保存在/data1下
#mkdir /data1/mysql_3308
#mkdir /data1/mysql_3308/data
#chown -R mysql:mysql /data1/mysql_3308
復制一個mysql配置文件my.cnf到/data1/mysql_3308目錄下
#vi /data1/mysql_3308/my.cnf
修改配置文件,將埠和相關目錄的都改為新的設置,如下:
[client]
character-set-server = utf8
port = 3308
socket = /tmp/mysql_3308.sock
[mysqld]
user = mysql
port = 3308
socket = /tmp/mysql_3308.sock
basedir = /usr/local/mysql
datadir = /data1/mysql_3308/data
log-error = /data1/mysql_3308/mysql_error.log
pid-file = /data1/mysql_3308/mysql.pid
......其他略
確保配置文件無誤。
運行下面命令進行資料庫的初始化:
#/usr/local/mysql/bin/mysql_install_db --defaults-file=/data1/mysql_3308/my.cnf --datadir=/data1/mysql_3308/data
完成後新的3308資料庫就初始化好了,如果有報錯,則按照報錯的提示查看報錯日誌,一般情況下都是my.cnf配置文件的問題,修正後即可。
三、啟動新mysql
啟動3308埠的mysql服務
#/usr/local/mysql/bin/mysqld_safe --defaults-file=/data1/mysql_3309/my.cnf &
檢查是否啟動
#ps aux|grep mysql
如果有3308字樣說明已經啟動成功
可將啟動命令加入/etc/rc.local隨伺服器啟動
新加的mysql沒有設置root密碼,可以通過下面命令設置root密碼:
#/usr/local/mysql/bin/mysqladmin -S /tmp/mysql_3308.sock -u root password 'new-password'