บทช่วยสอน การติดตั้งและการกำหนดค่า MySQL ที่ดีที่สุดในปี 2024 ในบทช่วยสอนนี้ คุณสามารถเรียนรู้ MySQL การติดตั้ง,การกำหนดค่า MySQL,แก้ไขรหัสผ่านของผู้ใช้ MySQL,
MySQL เป็นที่นิยมมากที่สุดระบบการจัดการฐานข้อมูลเชิงสัมพันธ์พัฒนาโดย บริษัท สวีเดน MySQL AB นี้เป็นส่วนหนึ่งของ บริษัท ออราเคิลคอร์ปอเรชั่น
ภาษาที่ใช้โดย SQL MySQL เป็นภาษามาตรฐานที่พบมากที่สุดที่ใช้ในการเข้าถึงฐานข้อมูล
MySQL เพราะขนาดของมันเล็กความเร็วสูงต้นทุนต่ำของเจ้าของเปิดแหล่งที่มาโดยเฉพาะอย่างยิ่งคุณลักษณะนี้การพัฒนาเว็บไซต์ขนาดเล็กและขนาดกลางได้เลือก MySQL เป็นฐานข้อมูลเว็บไซต์
แพลตฟอร์มระบบ Tutorial: CentOS ปล่อย 6.6 (สุดท้าย) 64 บิต
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-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-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 เสร็จสมบูรณ์
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] quick max_allowed_packet = 32M
4 เพื่อเตรียมใช้ฐานข้อมูล
$/usr/local/webserver/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --user=mysql
แสดงข้อมูลต่อไปนี้:
Installing MySQL system tablesth.2015-01-26 20:18:51 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). OK Filling help tablesth.2015-01-26 20:18:57 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). OK th.
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
mysqladmin -u用户名 -p旧密码 password 新密码
หรือป้อนบรรทัดคำสั่งของ MySQL
SET PASSWORD FOR '用户名'@'主机' = PASSWORD(‘密码');
สร้างผู้ใช้ใหม่และการอนุญาต:
grant all privileges on *.* to 用户名@'%' identified by '密码' with grant option;