mysql數據庫版本mysql
1.選擇 GA版本,穩定5.5或5.6而且在6個月以上linux
2.先後幾個月無大bug修復或無大量bug修復版本sql
建立用戶名數據庫
# groupadd mysqlsocket
# useradd -r -g mysql mysqlide
# mv mysql-5.6.43-linux-glibc2.12-x86_64 /usr/local/mysql測試
數據庫安裝orm
# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/server
拷貝文件blog
# cp -r /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
# cp -r /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
# cp -r /usr/local/mysql/bin/mysql /usr/bin/
修改權限
# chown -R mysql.mysql /usr/local/mysql
# mkdir /var/lib/mysql
# chown -R mysql:mysql /var/lib/mysql
# chmod +x /etc/rc.d/init.d/mysqld
加入到系統服務
# chkconfig --add mysqld
# systemctl start mysqld
# systemctl enable mysqld
# /sbin/chkconfig mysqld on
在主庫給從庫受權
建立用戶添加權限
# CREATE USER 'rep1'@'192.168.2.242' IDENTIFIED BY '123456';
# GRANT REPLICATION SLAVE ON *.* TO 'rep1'@'192.168.2.242';
# GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
刷新權限,立馬生效
# FLUSH PRIVILEGES;
查看並記錄 File和Position字段
# show master status;
從庫
# CHANGE MASTER TO MASTER_HOST='192.168.2.243',MASTER_PORT=3306,MASTER_USER='rep1',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000006',MASTER_LOG_POS=199;
#啓動從複製功能
# START SLAVE;
#中止從複製功能的命令
# STOP SLAVE;
#重置從複製功能的配置,會清除 master.info 和 relay-log.info 兩個文件
# RESET SLAVE;
顯示從庫複製狀態
# SHOW SLAVE STATUS\G
數據庫調優
1.刪除測試庫
# drop database test;
2.建立用戶給予權限
# CREATE USER 'icomp'@'%' IDENTIFIED BY 'icomp';
# GRANT ALL ON *.* TO 'icomp'@'%';
3.修改用戶密碼
# update user set password=password('root') where user='root';
4.查看用戶權限
# select user,host,password from mysql.user;
# show grants for 'rep1'@'192.168.2.208';
5.查看MySQL運行狀況
# SHOW STATUS;
6.查看INNODB數據庫引擎運行狀態
# SHOW ENGINE INNODB STATUS;
7.查看當前正在進行的進程,對於有鎖表等狀況的排查頗有用處
默認顯示前100條
# SHOW PROCESSLIST;
顯示全部
# SHOW FULL PROCESSLIST;
8.查看MySQL的配置參數
# SHOW VARIABLES;
9.查看當前已經被打開的表列表
# SHOW OPEN TABLES;
10.備份數據庫
# mysqldump -uroot -proot --all-databases >./BackupName.sql
11.恢復數據庫
# mysql -u root -proot < BackupName.sql
12.查看用戶權限
# show grants for 'mengqi'@'%';
13.給予用戶權限
# grant insert,update,delete,select,create, alter on *.* to mengqi@"%" identified by "123456";
# grant create routine on *.* to mengqi@"%" identified by "123456";
14.回收用戶權限
#revoke all privileges on *.* from mengqi@"%";
配置文件my.cnf
[mysql]
no-auto-rehash
#default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
#innodb
user=mysql
port = 3306
#設置mysql的安裝目錄
basedir=/usr/local/mysql
socket=/var/lib/mysql/mysql.sock
#設置mysql數據庫的數據的存放目錄
datadir=/usr/local/mysql/data
innodb_buffer_pool_size=6G
innodb_log_file_size=2G
innodb_log_buffer_size=8M
innodb_flush_log_at_trx_commit=2
innodb_file_per_table=1
innodb_file_io_threads=4
innodb_flush_method=O_DIRECT
innodb_io_capacity=2000
innodb_io_capacity_max=6000
innodb_lru_scan_depth=2000
innodb_thread_concurrency = 0
innodb_additional_mem_pool_size=16M
innodb_autoinc_lock_mode = 2
# Binary log/replication
log-bin=mysql-bin
server-id=1
#不一樣步的數據庫
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=mysql
#指定須要同步的數據庫
binlog-do-db=test
sync_binlog=1sync_relay_log=1relay-log-info-repository=TABLEmaster-info-repository=TABLEexpire_logs_days=7binlog_format=ROWtransaction-isolation=READ-COMMITTED#cachetmp_table_size=512Mcharacter-set-server=utf8collation-server=utf8_general_ciskip-external-lockingback_log=1024key_buffer_size=1024Mthread_stack=256kread_buffer_size=8Mthread_cache_size=64query_cache_size=128Mmax_heap_table_size=256Mquery_cache_type=1binlog_cache_size = 2Mtable_open_cache=128thread_cache=1024thread_concurrency=8wait_timeout=86400interactive_timeout=7200join_buffer_size = 1024Msort_buffer_size = 8Mread_rnd_buffer_size = 8M#connectmax-connect-errors=100000max-connections=1000##explicit_defaults_for_timestamp=truesql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABL