環境:CentOS 6.4 Final,配置官方 Yum 源安裝 mysql-community-server 5.6 系列,涵蓋安裝、目錄認識、配置優化、密碼初始化、服務管理、安全加固。
cat /etc/issue # CentOS release 6.4 (Final) yum list mysql* # 確認可用包: mysql-community-server, mysql-community-client, mysql-community-libs...
yum install mysql-community-server mysql-community-client # 若衝突: yum remove mysql* 後重裝
| 用途 | 路徑 |
|---|---|
| 數據目錄 | /var/lib/mysql/ |
| 配置文件 | /etc/my.cnf (主配置) /usr/share/mysql/ (模板) |
| 啟動腳本 | /etc/init.d/mysqld 或 /etc/rc.d/init.d/mysqld |
| 二進制/工具 | /usr/bin/ (mysql, mysqldump, mysqladmin...) |
| 日誌目錄 | /var/log/mysqld.log (錯誤日誌) |
[client] port = 3306 socket = /var/lib/mysql/mysql.sock default-character-set = utf8 [mysqld] datadir = /var/lib/mysql socket = /var/lib/mysql/mysql.sock bind-address = 0.0.0.0 # 允許遠程連接, 僅本地則 127.0.0.1 port = 3306 character-set-server = utf8 collation-server = utf8_general_ci sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES default-storage-engine = INNODB max_connections = 500 innodb_buffer_pool_size = 1G # 物理內存 50-70%, 此處示例 1G innodb_log_file_size = 256M innodb_flush_log_at_trx_commit = 1 sync_binlog = 1 query_cache_size = 64M query_cache_type = 1 log-error = /var/log/mysqld.log slow_query_log = 1 slow_query_log_file = /var/log/slow.log long_query_time = 1 [mysql] default-character-set = utf8 [mysqldump] quick max_allowed_packet = 16M
service mysqld start # 首啟自動初始化 data 目錄、生成隨機 Root 密碼 (5.7+), 5.6 無密碼
# 5.6 版本無初始密碼, 直接登錄修改:
mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('NewStrongPwd123!');
mysql> FLUSH PRIVILEGES;
# 若誤操作導致無法登錄 (Access denied), 重置密碼流程:
service mysqld stop
mysqld_safe --skip-grant-tables --skip-networking &
mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('NewStrongPwd123!') WHERE User='root';
mysql> FLUSH PRIVILEGES;
service mysqld restart
mysqladmin -u root -p'NewStrongPwd123!' password 'NewStrongPwd123!' # 修正權限表
chkconfig mysqld on chkconfig --list mysqld # 2-5:on 確認生效 # 刪除匿名用戶、測試庫 mysql -uroot -p mysql> DELETE FROM mysql.user WHERE User=''; mysql> DROP DATABASE test; mysql> FLUSH PRIVILEGES;
mysql -uroot -p -e "SELECT VERSION(), CURRENT_DATE;" mysql -uroot -p -e "SHOW DATABASES;" # 能正常返回版本信息與庫列表即安裝成功