shallow丿ovehtml
Linux+Apache(httpd)+MySQL+PHPmysql
[root@localhost src]# uname -a #根據系統選擇相對應版本 Linux localhost.localdomain 3.10.0-123.el7.x86_64 #1 SMP Mon Jun 30 12:09:22 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux [root@localhost ~]# cd /usr/local/src [root@localhost src]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz --2017-12-14 11:07:36-- http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz Resolving mirrors.sohu.com (mirrors.sohu.com)... 221.236.12.140 Connecting to mirrors.sohu.com (mirrors.sohu.com)|221.236.12.140|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 316320366 (302M) [application/octet-stream] Saving to: ‘mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz’ 100%[=========================================================>] 316,320,366 506KB/s in 15m 24s 2017-12-14 11:23:00 (334 KB/s) - ‘mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz’ saved [316320366/316320366]
[root@localhost src]# tar zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz #拆包解壓內容 . . . [root@localhost src]# mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql [root@localhost src]# cd /usr/local/mysql [root@localhost mysql]# ls bin data include man README share support-files COPYING docs lib mysql-test scripts sql-bench [root@localhost mysql]# mkdir /data/ [root@localhost mysql]# ls /data/
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql Installing MySQL system tables...2017-12-14 11:34:42 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2017-12-14 11:34:42 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap. 2017-12-14 11:34:42 0 [Note] ./bin/mysqld (mysqld 5.6.36) starting as process 4733 ... 2017-12-14 11:34:42 4733 [Note] InnoDB: Using atomics to ref count buffer pool pages 2017-12-14 11:34:42 4733 [Note] InnoDB: The InnoDB memory heap is disabled 2017-12-14 11:34:42 4733 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2017-12-14 11:34:42 4733 [Note] InnoDB: Memory barrier is not used 2017-12-14 11:34:42 4733 [Note] InnoDB: Compressed tables use zlib 1.2.3 2017-12-14 11:34:42 4733 [Note] InnoDB: Using Linux native AIO 2017-12-14 11:34:42 4733 [Note] InnoDB: Using CPU crc32 instructions 2017-12-14 11:34:42 4733 [Note] InnoDB: Initializing buffer pool, size = 128.0M 2017-12-14 11:34:43 4733 [Note] InnoDB: Completed initialization of buffer pool 2017-12-14 11:34:43 4733 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created! 2017-12-14 11:34:43 4733 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB 2017-12-14 11:34:43 4733 [Note] InnoDB: Database physically writes the file full: wait... 2017-12-14 11:34:44 4733 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB 2017-12-14 11:34:46 4733 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB 2017-12-14 11:34:47 4733 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0 2017-12-14 11:34:47 4733 [Warning] InnoDB: New log files created, LSN=45781 2017-12-14 11:34:47 4733 [Note] InnoDB: Doublewrite buffer not found: creating new 2017-12-14 11:34:47 4733 [Note] InnoDB: Doublewrite buffer created 2017-12-14 11:34:47 4733 [Note] InnoDB: 128 rollback segment(s) are active. 2017-12-14 11:34:47 4733 [Warning] InnoDB: Creating foreign key constraint system tables. 2017-12-14 11:34:47 4733 [Note] InnoDB: Foreign key constraint system tables created 2017-12-14 11:34:47 4733 [Note] InnoDB: Creating tablespace and datafile system tables. 2017-12-14 11:34:47 4733 [Note] InnoDB: Tablespace and datafile system tables created. 2017-12-14 11:34:47 4733 [Note] InnoDB: Waiting for purge to start 2017-12-14 11:34:47 4733 [Note] InnoDB: 5.6.36 started; log sequence number 0 2017-12-14 11:34:47 4733 [Note] Binlog end 2017-12-14 11:34:47 4733 [Note] InnoDB: FTS optimize thread exiting. 2017-12-14 11:34:47 4733 [Note] InnoDB: Starting shutdown... 2017-12-14 11:34:49 4733 [Note] InnoDB: Shutdown completed; log sequence number 1625977 OK Filling help tables...2017-12-14 11:34:49 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2017-12-14 11:34:49 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap. 2017-12-14 11:34:49 0 [Note] ./bin/mysqld (mysqld 5.6.36) starting as process 4755 ... 2017-12-14 11:34:49 4755 [Note] InnoDB: Using atomics to ref count buffer pool pages 2017-12-14 11:34:49 4755 [Note] InnoDB: The InnoDB memory heap is disabled 2017-12-14 11:34:49 4755 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2017-12-14 11:34:49 4755 [Note] InnoDB: Memory barrier is not used 2017-12-14 11:34:49 4755 [Note] InnoDB: Compressed tables use zlib 1.2.3 2017-12-14 11:34:49 4755 [Note] InnoDB: Using Linux native AIO 2017-12-14 11:34:49 4755 [Note] InnoDB: Using CPU crc32 instructions 2017-12-14 11:34:49 4755 [Note] InnoDB: Initializing buffer pool, size = 128.0M 2017-12-14 11:34:49 4755 [Note] InnoDB: Completed initialization of buffer pool 2017-12-14 11:34:49 4755 [Note] InnoDB: Highest supported file format is Barracuda. 2017-12-14 11:34:49 4755 [Note] InnoDB: 128 rollback segment(s) are active. 2017-12-14 11:34:49 4755 [Note] InnoDB: Waiting for purge to start 2017-12-14 11:34:49 4755 [Note] InnoDB: 5.6.36 started; log sequence number 1625977 2017-12-14 11:34:49 4755 [Note] Binlog end 2017-12-14 11:34:49 4755 [Note] InnoDB: FTS optimize thread exiting. 2017-12-14 11:34:49 4755 [Note] InnoDB: Starting shutdown... 2017-12-14 11:34:51 4755 [Note] InnoDB: Shutdown completed; log sequence number 1625987 OK To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: ./bin/mysqladmin -u root password 'new-password' ./bin/mysqladmin -u root -h localhost.localdomain password 'new-password' Alternatively you can run: ./bin/mysql_secure_installation which will also give you the option of removing the test databases and anonymous user created by default. This is strongly recommended for production servers. See the manual for more instructions. You can start the MySQL daemon with: cd . ; ./bin/mysqld_safe & You can test the MySQL daemon with mysql-test-run.pl cd mysql-test ; perl mysql-test-run.pl Please report any problems at http://bugs.mysql.com/ The latest information about MySQL is available on the web at http://www.mysql.com Support MySQL by buying support/licenses at http://shop.mysql.com New default config file was created as ./my.cnf and will be used by default by the server when you start it. You may edit this file to change server settings WARNING: Default config file /etc/my.cnf exists on the system This file will be read by default by the MySQL server If you do not want to use this, either remove it, or use the --defaults-file argument to mysqld_safe when starting the server [root@localhost mysql]# echo $? 0
報錯,缺乏模塊linux
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql FATAL ERROR: please install the Perl modules before executing ./scripts/mysql_install_db: Data::Dumper
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: lib aio.so.1: cannot open shared object file: No such file or directory
相似於以上問題,使用模糊搜索查找模塊web
[root@localhost mysql]# yum list | grep perl | grep -i dumper perl-Data-Dumper.x86_64 2.145-3.el7 @base perl-Data-Dumper-Concise.noarch 2.020-6.el7 epel perl-Data-Dumper-Names.noarch 0.03-17.el7 epel perl-XML-Dumper.noarch 0.81-17.el7 base [root@localhost mysql]# yum install -y perl-Data-Dumper Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * epel: mirrors.sohu.com Resolving Dependencies --> Running transaction check ---> Package perl-Data-Dumper.x86_64 0:2.145-3.el7 will be reinstalled --> Finished Dependency Resolution Dependencies Resolved =============================================================================================== Package Arch Version Repository Size =============================================================================================== Reinstalling: perl-Data-Dumper x86_64 2.145-3.el7 base 47 k Transaction Summary =============================================================================================== Reinstall 1 Package Total download size: 47 k Installed size: 97 k Downloading packages: perl-Data-Dumper-2.145-3.el7.x86_64.rpm | 47 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : perl-Data-Dumper-2.145-3.el7.x86_64 1/1 Verifying : perl-Data-Dumper-2.145-3.el7.x86_64 1/1 Installed: perl-Data-Dumper.x86_64 0:2.145-3.el7 Complete!
[root@localhost mysql]# yum install libaio-devel
[root@localhost mysql]# ls support-files/ binary-configure magic my-default.cnf mysqld_multi.server mysql-log-rotate mysql.server
[root@localhost mysql]# vi support-files/my-default.cnf # For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the # *** default location during install, and will be replaced if you # *** upgrade to a newer version of MySQL. [mysqld] # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. # innodb_buffer_pool_size = 128M # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin # These are commonly set, remove the # and set as required. # basedir = ..... # datadir = ..... # port = ..... # server_id = ..... # socket = ..... # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES "support-files/my-default.cnf" 31L, 1126C
[root@localhost mysql]# cp support-files/my-default.cnf /etc/my.cnf
[root@localhost mysql]# cp support-files/my-default.cnf /etc/my.cnf cp: overwrite ‘/etc/my.cnf’? ^C [root@localhost mysql]# ls /etc/my.cnf [root@localhost mysql]# rpm -qf /etc/my.cnf mariadb-libs-5.5.56-2.el7.x86_64
也能夠直接修改/etc/my.cnfsql
[root@localhost mysql]# vi /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd [mysqld_safe] log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mariadb/mariadb.pid # # include all files from the config directory # !includedir /etc/my.cnf.d
將第2行的datadir=/var/lib/mysql改成datadir=/data/mysql 第3行的socket=/var/lib/mysql/mysql.sock改成socket=/tmp/mysql.sock 能夠將第十二、1三、18行加上註釋符號,暫且不用 #log-error=/var/log/mariadb/mariadb.log #pid-file=/var/run/mariadb/mariadb.pid #!includedir /etc/my.cnf.d數據庫
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# vi +46 /etc/init.d/mysqld . . . # # If you want to affect other MySQL variables, you should make your changes # in the /etc/my.cnf, ~/.my.cnf or other MySQL configuration files. # If you change base dir, you must also change datadir. These may get # overwritten by settings in the MySQL configuration files. basedir= datadir= # Default value, in seconds, afterwhich the script should timeout waiting # for server start. # Value here is overriden by value in my.cnf. # 0 means don't wait at all # Negative numbers mean to wait indefinitely service_startup_timeout=900 . . . "/etc/init.d/mysqld" 378L, 10565C
basedir=/usr/local/mysql datadir=/data/mysqlbootstrap
[root@localhost mysql]# chmod 755 /etc/init.d/mysqld [root@localhost mysql]# ls -l !$ ls -l /etc/init.d/mysqld -rwxr-xr-x 1 root root 10592 Dec 14 12:26 /etc/init.d/mysqld
[root@localhost mysql]# chkconfig --add mysqld [root@localhost mysql]# chkconfig --list Note: This output shows SysV services only and does not include native systemd services. SysV configuration data might be overridden by native systemd configuration. If you want to list systemd services use 'systemctl list-unit-files'. To see services enabled on particular target use 'systemctl list-dependencies [target]'. iprdump 0:off 1:off 2:on 3:on 4:on 5:on 6:off iprinit 0:off 1:off 2:on 3:on 4:on 5:on 6:off iprupdate 0:off 1:off 2:on 3:on 4:on 5:on 6:off mysql-proxy 0:off 1:off 2:off 3:off 4:off 5:off 6:off mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@localhost mysql]# /etc/init.d/mysqld start 或service mysqld start [root@localhost mysql]# service mysqld start Starting MySQL. SUCCESS!
[root@localhost mysql]# ps aux | grep mysql root 5445 0.0 0.0 11776 1596 pts/1 S 12:32 0:00 /bin/sh /usr/local/mysql/binmysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/localhost.localdomain.pid mysql 5583 1.5 24.3 1300784 454860 pts/1 Sl 12:32 0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/localhost.localdomain.err --pid-file=/data/mysql/localhost.localdomain.pid --socket=/tmp/mysql.sock root 5607 0.0 0.0 112660 972 pts/1 S+ 12:33 0:00 grep --color=auto mysql [root@localhost mysql]# netstat -lntp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2470/master tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:52133 0.0.0.0:* LISTEN 1496/rpc.statd tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd tcp 0 0 0.0.0.0:20048 0.0.0.0:* LISTEN 1951/rpc.mountd tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1406/sshd tcp 0 0 0.0.0.0:37559 0.0.0.0:* LISTEN - tcp6 0 0 ::1:25 :::* LISTEN 2470/master tcp6 0 0 :::2049 :::* LISTEN - tcp6 0 0 :::48771 :::* LISTEN - tcp6 0 0 :::46184 :::* LISTEN 1496/rpc.statd tcp6 0 0 :::3306 :::* LISTEN 5583/mysqld tcp6 0 0 :::111 :::* LISTEN 1/systemd tcp6 0 0 :::20048 :::* LISTEN 1951/rpc.mountd tcp6 0 0 :::22 :::* LISTEN 1406/sshd
mysql端口號3306架構
使用命令行方式啓動mysqlapp
[root@localhost mysql]# service mysqld stop Shutting down MySQL.. SUCCESS! [root@localhost mysql]# !ps ps aux | grep mysql root 5635 0.0 0.0 112660 976 pts/1 S+ 12:35 0:00 grep --color=auto mysql
[root@localhost mysql]# /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql & [1] 5636 [root@localhost mysql]# 171214 12:38:08 mysqld_safe Logging to '/data/mysql/localhost.localdomain.err'. 171214 12:38:08 mysqld_safe Starting mysqld daemon with databases from /data/mysql [root@localhost mysql]# !ps ps aux | grep mysql root 5636 0.0 0.0 113264 1612 pts/1 S 12:38 0:00 /bin/sh /usr/local/mysql/binmysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql mysql 5761 2.5 24.0 1300784 449668 pts/1 Sl 12:38 0:00 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/localhost.localdomain.err --pid-file=/data/mysql/localhost.localdomain.pid --socket=/tmp/mysql.sock root 5784 0.0 0.0 112660 972 pts/1 S+ 12:38 0:00 grep --color=auto mysql [root@localhost mysql]# !net netstat -lntp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2470/master tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:52133 0.0.0.0:* LISTEN 1496/rpc.statd tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd tcp 0 0 0.0.0.0:20048 0.0.0.0:* LISTEN 1951/rpc.mountd tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1406/sshd tcp 0 0 0.0.0.0:37559 0.0.0.0:* LISTEN - tcp6 0 0 ::1:25 :::* LISTEN 2470/master tcp6 0 0 :::2049 :::* LISTEN - tcp6 0 0 :::48771 :::* LISTEN - tcp6 0 0 :::46184 :::* LISTEN 1496/rpc.statd tcp6 0 0 :::3306 :::* LISTEN 5761/mysqld tcp6 0 0 :::111 :::* LISTEN 1/systemd tcp6 0 0 :::20048 :::* LISTEN 1951/rpc.mountd tcp6 0 0 :::22 :::* LISTEN 1406/sshd
[root@localhost mysql]# /etc/init.d/mysqld stop
[root@localhost mysql]# service mysqld stop
而命令只能kallall service關閉服務或指定kill piddom
[root@localhost mysql]# killall mysqld [root@localhost mysql]# 171214 12:42:59 mysqld_safe mysqld from pid file /data/mysql/localhost.localdomain.pid ended [1]+ Done /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql [root@localhost mysql]# !ps ps aux | grep mysql root 5792 0.0 0.0 112660 976 pts/1 S+ 12:43 0:00 grep --color=auto mysql
若關閉mysql時發現kill不掉時,這時候頗有可能數據量大的mysql正在寫入磁盤,不要輕易使用kill -9,不然會損壞mysql表
innodb和myisam