增加實例
增加實例這里指的的在源碼編譯安裝完MySQL之后建立一個初始的數據庫實例,占用某一端口,或者是使用新端口啟動新的mysqld進程。
MySQL需要一些基礎的數據庫以及表來完成基本的設定,比如控制連接的mysql.user表:
1
2
3
4
5
6
7
8
9
10
11
12+------------------+----------------+------+-----+---------+-------+
|Field|Type|Null|Key|Default|Extra|
+------------------+----------------+------+-----+---------+-------+
|Host|char(60)|NO|PRI|||
|User|char(16)|NO|PRI|||
|Password|char(41)|NO||||
|Select_priv|enum('N','Y')|NO||N||
|Insert_priv|enum('N','Y')|NO||N||
|Update_priv|enum('N','Y')|NO||N||
|Delete_priv|enum('N','Y')|NO||N||
|...|...|...|...|...|...|
+------------------+----------------+------+-----+---------+-------+
在編譯完成MySQL之后這些表是不存在的,需要通過安裝目錄下的script/mysql_install_db完成基礎表的安裝工作。
在這個腳本中完成安裝工作所需要的參數至少需要如下幾個:
basedir MySQL的安裝目錄
datadir MySQL實例的數據文件目錄,比如數據庫文件、socket文件等
user 安裝MySQL時的設定的用戶名
通過執行這一腳本,例如:
1
2
3./mysql_install_db --basedir=/usr/local/mysql
--datadir=/usr/local/mysql/mysql_data/
--user=mysql
即完成了對MySQL的初始化操作,即完成了一個數據文件位于/usr/local/mysql/mysql_data/的數據庫實例,通過使用不同的端口和目錄,完成新增一個數據實例的工作。
啟動
啟動MySQL可以通過MySQL安裝完成的
mysqld_safe腳本是推薦的啟動MySQL的方式,其中特點是增加了一些安全保證的機制比如遇到錯誤重啟并且寫入日志(參數中的log-error指定位置)。
比較重要的個人認為是:
default-file 默認配置文件位置,如果使用這個參數,會通過默認文件獲取配置,需要注意的是,如果需要使用,這個參數必須要放在第一個參數才能生效
basedir MySQL安裝目錄
datadir MySQL數據庫的數據目錄
user MySQL安裝時配置的用戶
pid-file pid文件位置
port 監聽端口
socket 響應本地MySQL連接請求的socket文件位置
所有的參數事實上都會傳送給mysqld,如果在配置文件(假設是/usr/local/mysql/my.cnf)中指明了MySQL的一切,則只需要使用簡單的一句:
1/usr/local/mysql/bin/mysqld_safe -default-file=/usr/local/mysql/my.cnf --user=mysql &
即可啟動,同時也可以在參數中補齊缺失的項目。
后期計劃整出一份MySQL啟動所需最小配置參數列表。
其他
新增的數據庫實例以及忘記密碼的情況下需要通過mysqladmin工具完成密碼的設定,需要指定數據庫的數據socket連接文件位置以及用戶名以及新的密碼,例如:
1/usr/local/mysql/bin/mysqladmin -u root --socket=/usr/local/mysql/mysql_data/mysql.sock password 123456
以上。