English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تثبيت وتكوين MySQL

MySQL هو نظام إدارة قاعدة البيانات العلاقاتي الأكثر شعبية، الذي تم تطويره من قبل شركة MySQL AB السويدية، ويتبع حاليًا شركة Oracle.

لغة SQL المستخدمة من قبل MySQL هي أكثر لغة تحديد لاستخدام قاعدة البيانات.

MySQL بسبب حجمها الصغير، سرعتها العالية، تكلفة الملكية العامة المنخفضة، خاصة هذا الميزة مفتوحة المصدر، عادة ما يتم اختيار MySQL كقاعدة بيانات الموقع للتنمية لمواقع صغيرة ومتوسطة.

تثبيت MySQL

منصة النظام في هذا الدليل: CentOS release 6.6 (Final) 64-bit.

1-التركيب أدوات التجميع ومكتبات

yum -y install gcc gcc-c++ make autoconf libtool-ltdl-devel gd-devel freetype-devel libxml2-devel libjpeg-devel libpng-devel openssl-devel curl-devel bison patch unzip libmcrypt-devel libmhash-devel ncurses-devel sudo bzip2 flex libaio-devel

ثانيًا، تثبيت محرر التجميع cmake

إصدار cmake: cmake-3.1.1.

1. عنوان التحميل:http://www.cmake.org/files/v3.1/cmake-3.1.1.tar.gz

$ wget http://www.cmake.org/files/v3.1/cmake-3.1.1.tar.gz

2. فك ضغط حزمة التثبيت

$ tar zxvf cmake-3.1.1.tar.gz

3. الدخول إلى مجلد حزمة التثبيت

$ cd cmake-3.1.1

4. تجميع وتثبيت 

$ ./bootstrap
$ make && make install

ثالثًا، تثبيت MySQL

إصدار MySQL: mysql-5.6.15.

1. عنوان التحميل: http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz

$ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz

2. فك ضغط حزمة التثبيت

$ tar zxvf mysql-5.6.15.tar.gz

3. الدخول إلى مجلد حزمة التثبيت

$ cd mysql-5.6.15

4. تجميع وتثبيت 

$ cmake -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql/ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_INNODB_MEMCACHED=1 -DWITH_DEBUG=OFF -DWITH_ZLIB=bundled -DENABLED_LOCAL_INFILE=1 -DENABLED_PROFILING=ON -DMYSQL_MAINTAINER_MODE=OFF -DMYSQL_DATADIR=/usr/local/webserver/mysql/data -DMYSQL_TCP_PORT=3306
$ make && make install

5、查看 mysql 版本:

$ /usr/local/webserver/mysql/bin/mysql --version

到此,mysql 安装完成。

MySQL 配置

1、创建 mysql 运行使用的用户 mysql:

$ /usr/sbin/groupadd mysql
$ /usr/sbin/useradd -g mysql mysql

2、创建 binlog 和库的存储路径并赋予 mysql 用户权限

$ mkdir -p /usr/local/webserver/mysql/binlog /www/data_mysql
$ chown mysql.mysql /usr/local/webserver/mysql/binlog/ /www/data_mysql/

3、创建 my.cnf 配置文件

将 /etc/my.cnf 替换为下面内容

$ cat /etc/my.cnf
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
replicate-ignore-db = mysql
replicate-ignore-db = test
replicate-ignore-db = information_schema
user = mysql
port = 3306
socket = /tmp/mysql.sock
basedir = /usr/local/webserver/mysql
datadir = /www/data_mysql
log-error = /usr/local/webserver/mysql/mysql_error.log
pid-file = /usr/local/webserver/mysql/mysql.pid
open_files_limit = 65535
back_log = 600
max_connections = 5000
max_connect_errors = 1000
table_open_cache = 1024
external-locking = FALSE
max_allowed_packet = 32M
sort_buffer_size = 1M
join_buffer_size = 1M
thread_cache_size = 600
#thread_concurrency = 8
query_cache_size = 128M
query_cache_limit = 2M
query_cache_min_res_unit = 2k
default-storage-engine = MyISAM
default-tmp-storage-engine = MYISAM
thread_stack = 192K
transaction_isolation = READ-COMMITTED
tmp_table_size = 128M
max_heap_table_size = 128M
log-slave-updates
log-bin = /usr/local/webserver/mysql/binlog/binlog
binlog-do-db = oa_fb
binlog-ignore-db = mysql
binlog_cache_size = 4M
binlog_format = MIXED
max_binlog_cache_size = 8M
max_binlog_size = 1G
relay-log-index = /usr/local/webserver/mysql/relaylog/relaylog
relay-log-info-file = /usr/local/webserver/mysql/relaylog/relaylog
relay-log = /usr/local/webserver/mysql/relaylog/relaylog
expire_logs_days = 10
key_buffer_size = 256M
read_buffer_size = 1M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
myisam_recover
interactive_timeout = 120
wait_timeout = 120
skip-name-resolve
#master-connect-retry = 10
slave-skip-errors = 1032,1062,126,1114,1146,1048,1396
#master-host = 192.168.1.2
#master-user = username
#master-password = password
#master-port = 3306
server-id = 1
loose-innodb-trx=0 
loose-innodb-locks=0 
loose-innodb-lock-waits=0 
loose-innodb-cmp=0 
loose-innodb-cmp-per-index=0
loose-innodb-cmp-per-index-reset=0
loose-innodb-cmp-reset=0 
loose-innodb-cmpmem=0 
loose-innodb-cmpmem-reset=0 
loose-innodb-buffer-page=0 
loose-innodb-buffer-page-lru=0 
loose-innodb-buffer-pool-stats=0 
loose-innodb-metrics=0 
loose-innodb-ft-default-stopword=0 
loose-innodb-ft-inserted=0 
loose-innodb-ft-deleted=0 
loose-innodb-ft-being-deleted=0 
loose-innodb-ft-config=0 
loose-innodb-ft-index-cache=0 
loose-innodb-ft-index-table=0 
loose-innodb-sys-tables=0 
loose-innodb-sys-tablestats=0 
loose-innodb-sys-indexes=0 
loose-innodb-sys-columns=0 
loose-innodb-sys-fields=0 
loose-innodb-sys-foreign=0 
loose-innodb-sys-foreign-cols=0
slow_query_log_file=/usr/local/webserver/mysql/mysql_slow.log
long_query_time = 1
[mysqldump]
سرعة
max_allowed_packet = 32M

4. تعيين قاعدة البيانات

$/usr/local/webserver/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --user=mysql

يظهر المعلومات التالية:

تثبيت جداول النظام MySQL...2015-01-26 20:18:51 0 [تحذير] TIMESTAMP مع القيمة الافتراضية المضمونة هو قديم. يرجى استخدام خيار الخادم --explicit_defaults_for_timestamp (انظر الوثائق للحصول على مزيد من التفاصيل).
OK
ملء جداول المساعدة...2015-01-26 20:18:57 0 [تحذير] TIMESTAMP مع القيمة الافتراضية المضمونة هو قديم. يرجى استخدام خيار الخادم --explicit_defaults_for_timestamp (انظر الوثائق للحصول على مزيد من التفاصيل).
OK
...

5. إنشاء سكريبت بدء التشغيل

$ cd /usr/local/webserver/mysql/
$ cp support-files/mysql.server /etc/rc.d/init.d/mysqld 
$ chkconfig --add mysqld 
$ chkconfig --level 35 mysqld on

6. بدء خادم MySQL

$ service mysqld start

7. الاتصال بـ MySQL

$ /usr/local/webserver/mysql/bin/mysql -u root -p

تغيير كلمة المرور للمستخدم MySQL

mysqladmin -u用户名 -p旧密码 password 新密码

أو الدخول إلى سطر الأوامر mysql

SET PASSWORD FOR '用户名'@'主机' = PASSWORD('密码');

إنشاء مستخدم جديد وإعطاء الصلاحيات:

grant all privileges on *.* to 用户名@'%' identified by '密码' with grant option;

أمر آخر

  • البدء: service mysqld start

  • إيقاف: service mysqld stop

  • إعادة التشغيل: service mysqld restart

  • إعادة تحميل التكوين: service mysqld reload