標籤:groups mysql 使用者
mysql 5.5.8要使用cmake編譯1)建立使用者# useradd -r -s /sbin/nologin mysql# id mysqluid=101(mysql) gid=101(mysql) groups=101(mysql)# chown -R mysql.mysql /data/mysql/
說明:# which cmake/usr/local/bin/cmake
2)編譯cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
3)初始化mysql# chown -R :mysql . (與二進位安裝略有不同,二進位安裝時,屬主和屬組為root,此處編譯後,屬主和屬組為mysql)
# scripts/mysql_install_db --user=mysql --datadir=/data/mysql/
4)設定檔# cp support-files/my-large.cnf /etc/my.cnf在[mysqld]中增加,指定資料庫的路徑datadir = /data/mysql
5)服務指令碼# cp support-files/mysql.server /etc/init.d/mysqld安裝完成後注意事項
1)刪除匿名使用者(否則導致系統漏洞)mysql> use mysql;
mysql> select user,host,password from user;
其中有兩個匿名使用者
+------+-----------------------+-------------------------------------------+
| user | host | password |
+------+-----------------------+-------------------------------------------+
| root | localhost | *A3CD8B69C29498EBAAAFC325115D21B6A630A9F9 |
| root | localhost.localdomain | *A3CD8B69C29498EBAAAFC325115D21B6A630A9F9 |
| root | 127.0.0.1 | *A3CD8B69C29498EBAAAFC325115D21B6A630A9F9 |
| | localhost | |
| | localhost.localdomain | |
+------+-----------------------+-------------------------------------------+
mysql> drop user ‘‘@‘localhost‘;Query OK, 0 rows affected (0.00 sec)mysql> drop user ‘‘@‘localhost.localdomain‘;Query OK, 0 rows affected (0.00 sec)
2)為root使用者增加密碼(在mysql用戶端中,命令不區分大小寫)方法1# mysqladmin -u USERNAME -h HOSTNAME password ‘NEW_PASS‘ -p方法2mysql> SET PASSWORD FOR ‘USERNAME‘@‘HOST‘=PASSWORD(‘new_pass‘); 方法3mysql> update user set password=password(‘hiayng‘) where user=‘root‘;
select user,host,password from user;
3)在家目錄下建立如下檔案,注意許可權,可以免輸入密碼[client]user=rootpassword=hiyanghost=127.0.0.1C/S通訊方式在同一台主機 使用mysql.socket通訊在不同主機TCP/IP通訊
MyISAM儲存的表包含3個檔案 .frm:表結構定義檔案 .MYD:表資料 .MYI:表索引
InnoDB儲存的表包含3個檔案 所有表共用一個資料表空間檔案; 建議:每表一個獨立的資料表空間檔案;但有些新特性不支援 .frm: 表結構 .ibd: 資料表空間(表資料和表索引)
為每個表設定獨立的資料表空間1)查看,innodb_file_per_table未開啟
mysql> show variables like "%innodb_file%";
+--------------------------+----------+
| Variable_name | Value |
+--------------------------+----------+
| innodb_file_format | Antelope |
| innodb_file_format_check | ON |
| innodb_file_format_max | Antelope |
| innodb_file_per_table | OFF |
+--------------------------+----------+
2)編輯設定檔# vim /etc/my.cnf在[mysqld]下增加
innodb_file_per_table = 1
3)測試將測試reload不會生效,必須重啟
# service mysqld restart
如下
mysql> show variables like "%innodb_file%";
+--------------------------+----------+
| Variable_name | Value |
+--------------------------+----------+
| innodb_file_format | Antelope |
| innodb_file_format_check | ON |
| innodb_file_format_max | Antelope |
| innodb_file_per_table | ON |
+--------------------------+----------+
建立InnoDB表(5.5.8後預設建立表是InnoDB格式的)mysql> create database mydb;
mysql> use mydb;Database changedmysql> create table test_tb(id int not null,name char(30));
# ls ./mydbdb.opt test_tb.frm test_tb.ibd# 當前表使用的字元集和定序# cat db.opt default-character-set=utf8default-collation=utf8_general_ci
來自為知筆記(Wiz)
源碼編譯安裝mysql