1. 程式人生 > >linux安裝mysql一 rpm包安裝

linux安裝mysql一 rpm包安裝

安裝mysql的三種方法:一是通過原始碼安裝,二是用通用二進位制包,三是通過不同linux release到系統包安裝,centos上是RPM包安裝。
先來rpm包裝
0
環境
[[email protected] ~]# uname -a
Linux host2 2.6.32-504.3.3.el6.x86_64 #1 SMP Wed Dec 17 01:55:02 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
[[email protected] ~]# cat /etc/issue
CentOS release 6.5 (Final)
Kernel \r on an \m


1
下載
http://dev.mysql.com/downloads/

2
檢查是否安裝
[[email protected] ~]# rpm -qa | grep -i mysql
檔名
MySQL-5.6.22-1.linux_glibc2.5.x86_64.rpm-bundle.tar

3
刪除已安裝
[[email protected] ~]# rpm -e mysql-libs-5.1.71-1.el6.x86_64 --nodeps
[[email protected] ~]#

4
查驗,這樣刪還是會留下一些東西
[[email protected] ~]# find / -name mysql

[[email protected] ~]# find / -name *mysql*
/etc/selinux/targeted/modules/active/modules/mysql.pp
/usr/lib/python2.6/site-packages/sos/plugins/mysql.pyc
/usr/lib/python2.6/site-packages/sos/plugins/mysql.pyo
/usr/lib/python2.6/site-packages/sos/plugins/mysql.py
/usr/share/vim/vim72/syntax/mysql.vim
/usr/share/selinux/devel/include/services/mysql.if

/usr/share/selinux/targeted/mysql.pp.bz2
/usr/share/doc/rsyslog-5.8.10/rsyslog_mysql.html
/usr/share/doc/rsyslog-5.8.10/ommysql.html
/usr/share/man/man5/mysql_table.5.gz
/usr/lib64/libreoffice/program/libmysqllo.so
/selinux/booleans/allow_user_mysql_connect
/selinux/booleans/mysql_connect_any
/var/lib/yum/yumdb/m/b642f65e3df41063e068158061ae2e08f22e3dad-mysql-libs-5.1.71-1.el6-x86_64

[[email protected] ~]# rpm -qa | grep -i mysql
[[email protected] ~]# 

5
查驗有否mysql使用者和組
[[email protected] ~]# nl /etc/group | grep mysql
[[email protected] ~]# nl /etc/shadow | grep mysql
[[email protected] ~]# 

6
解包
[[email protected] mysql_rpm]# tar -xvf MySQL-5.6.22-1.linux_glibc2.5.x86_64.rpm-bundle.tar
MySQL-shared-compat-5.6.22-1.linux_glibc2.5.x86_64.rpm     #RHEL相容包 
MySQL-client-5.6.22-1.linux_glibc2.5.x86_64.rpm       #MySQL客戶端程式
MySQL-shared-5.6.22-1.linux_glibc2.5.x86_64.rpm    #MySQL的共享庫
MySQL-server-5.6.22-1.linux_glibc2.5.x86_64.rpm        #MySQL服務端程式
MySQL-test-5.6.22-1.linux_glibc2.5.x86_64.rpm        #MySQL的測試元件
MySQL-devel-5.6.22-1.linux_glibc2.5.x86_64.rpm        #MySQL的庫和標頭檔案
MySQL-embedded-5.6.22-1.linux_glibc2.5.x86_64.rpm       #MySQL的嵌入式程式
[[email protected] mysql_rpm]# 

7
[[email protected] mysql_rpm]# rpm -ivh MySQL-server-5.6.22-1.linux_glibc2.5.x86_64.rpm 

[[email protected] mysql_rpm]# rpm -ivh MySQL-server-5.6.22-1.linux_glibc2.5.x86_64.rpm 
Preparing...                ########################################### [100%]
   1:MySQL-server           ########################################### [100%]
warning: user mysql does not exist - using root
warning: group mysql does not exist - using root
2015-01-20 13:10:42 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2015-01-20 13:10:42 5645 [Note] InnoDB: Using atomics to ref count buffer pool pages
2015-01-20 13:10:42 5645 [Note] InnoDB: The InnoDB memory heap is disabled
2015-01-20 13:10:42 5645 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2015-01-20 13:10:42 5645 [Note] InnoDB: Memory barrier is not used
2015-01-20 13:10:42 5645 [Note] InnoDB: Compressed tables use zlib 1.2.3
2015-01-20 13:10:42 5645 [Note] InnoDB: Using Linux native AIO
2015-01-20 13:10:42 5645 [Note] InnoDB: Not using CPU crc32 instructions
2015-01-20 13:10:42 5645 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2015-01-20 13:10:42 5645 [Note] InnoDB: Completed initialization of buffer pool
2015-01-20 13:10:42 5645 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created!
2015-01-20 13:10:42 5645 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB
2015-01-20 13:10:42 5645 [Note] InnoDB: Database physically writes the file full: wait...
2015-01-20 13:10:42 5645 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB
2015-01-20 13:10:42 5645 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB
2015-01-20 13:10:43 5645 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0
2015-01-20 13:10:43 5645 [Warning] InnoDB: New log files created, LSN=45781
2015-01-20 13:10:43 5645 [Note] InnoDB: Doublewrite buffer not found: creating new
2015-01-20 13:10:43 5645 [Note] InnoDB: Doublewrite buffer created
2015-01-20 13:10:43 5645 [Note] InnoDB: 128 rollback segment(s) are active.
2015-01-20 13:10:43 5645 [Warning] InnoDB: Creating foreign key constraint system tables.
2015-01-20 13:10:43 5645 [Note] InnoDB: Foreign key constraint system tables created
2015-01-20 13:10:43 5645 [Note] InnoDB: Creating tablespace and datafile system tables.
2015-01-20 13:10:43 5645 [Note] InnoDB: Tablespace and datafile system tables created.
2015-01-20 13:10:43 5645 [Note] InnoDB: Waiting for purge to start
2015-01-20 13:10:43 5645 [Note] InnoDB: 5.6.22 started; log sequence number 0
A random root password has been set. You will find it in '/root/.mysql_secret'.
2015-01-20 13:10:44 5645 [Note] Binlog end
2015-01-20 13:10:44 5645 [Note] InnoDB: FTS optimize thread exiting.
2015-01-20 13:10:44 5645 [Note] InnoDB: Starting shutdown...
2015-01-20 13:10:45 5645 [Note] InnoDB: Shutdown completed; log sequence number 1625977


2015-01-20 13:10:45 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2015-01-20 13:10:45 5667 [Note] InnoDB: Using atomics to ref count buffer pool pages
2015-01-20 13:10:45 5667 [Note] InnoDB: The InnoDB memory heap is disabled
2015-01-20 13:10:45 5667 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2015-01-20 13:10:45 5667 [Note] InnoDB: Memory barrier is not used
2015-01-20 13:10:45 5667 [Note] InnoDB: Compressed tables use zlib 1.2.3
2015-01-20 13:10:45 5667 [Note] InnoDB: Using Linux native AIO
2015-01-20 13:10:45 5667 [Note] InnoDB: Not using CPU crc32 instructions
2015-01-20 13:10:45 5667 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2015-01-20 13:10:45 5667 [Note] InnoDB: Completed initialization of buffer pool
2015-01-20 13:10:45 5667 [Note] InnoDB: Highest supported file format is Barracuda.
2015-01-20 13:10:45 5667 [Note] InnoDB: 128 rollback segment(s) are active.
2015-01-20 13:10:45 5667 [Note] InnoDB: Waiting for purge to start
2015-01-20 13:10:45 5667 [Note] InnoDB: 5.6.22 started; log sequence number 1625977
2015-01-20 13:10:45 5667 [Note] Binlog end
2015-01-20 13:10:45 5667 [Note] InnoDB: FTS optimize thread exiting.
2015-01-20 13:10:45 5667 [Note] InnoDB: Starting shutdown...
2015-01-20 13:10:47 5667 [Note] InnoDB: Shutdown completed; log sequence number 1625987




A RANDOM PASSWORD HAS BEEN SET FOR THE MySQL root USER !
You will find that password in '/root/.mysql_secret'.

You must change that password on your first connect,
no other statement but 'SET PASSWORD' will be accepted.
See the manual for the semantics of the 'password expired' flag.

Also, the account for the anonymous user has been removed.

In addition, you can run:

  /usr/bin/mysql_secure_installation

which will also give you the option of removing the test database.
This is strongly recommended for production servers.

See the manual for more instructions.

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 /usr/my.cnf and
will be used by default by the server when you start it.
You may edit this file to change server settings

[[email protected] mysql_rpm]# 

8
已經有了mysql使用者和組
[[email protected] mysql_rpm]# id mysql
uid=495(mysql) gid=492(mysql) groups=492(mysql)

[[email protected] mysql_rpm]# nl /etc/group | grep mysql
    60    mysql:x:492:
[[email protected] mysql_rpm]# cat /etc/group | grep mysql
mysql:x:492:
[[email protected] mysql_rpm]# cat /etc/shadow | grep mysql
mysql:!!:16455::::::
[[email protected] mysql_rpm]# 

9

RPM安裝方式檔案分佈

Table 2.6 MySQLInstallation Layout for Linux RPM Packages from the MySQL DeveloperZone

Directory

Contentsof Directory

/usr/bin

Clientprograms and scripts

/usr/sbin

Theserver

/var/lib/mysql

Logfiles, databases

/usr/share/info

Manualin Info format

/usr/share/man

Unixmanual pages

/usr/include/mysql

Include(header) files

/usr/lib/mysql

Libraries

/usr/share/mysql

Miscellaneoussupport files, including error messages, character set files,sample configuration files, SQL for database installation

/usr/share/sql-bench

Benchmarks




10
copy配置檔案
# 沒有這一步也可以按內建引數
[[email protected] mysql_rpm]# cp /usr/share/mysql/my-default.cnf /etc/my.cnf
[[email protected] mysql_rpm]# 

11
start
[[email protected] mysql_rpm]# service mysql status
MySQL is not running                                       [FAILED]
[[email protected] mysql_rpm]# service mysql start
Starting MySQL..                                           [  OK  ]

11
查驗
[[email protected] mysql_rpm]# netstat -anpl | grep mysql
tcp        0      0 :::3306                     :::*                        LISTEN      5924/mysqld         
unix  2      [ ACC ]     STREAM     LISTENING     76015  5924/mysqld         /var/lib/mysql/mysql.sock
[[email protected] mysql_rpm]#

12
安裝客戶端
[[email protected] mysql_rpm]# rpm -ivh MySQL-client-5.6.22-1.linux_glibc2.5.x86_64.rpm 
Preparing...                ########################################### [100%]
   1:MySQL-client           ########################################### [100%]
[[email protected] mysql_rpm]# 

13
連到mysql並修改
[[email protected] mysql_rpm]# nl /root/.mysql_secret
     1    # The random password set for the root user at Tue Jan 20 13:10:43 2015 (local time): F76Wy1A4G9ZuLcaG

[[email protected] mysql_rpm]# mysql -p mysql
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.22

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
mysql> 
mysql>  SET PASSWORD = PASSWORD('123456'); 
Query OK, 0 rows affected (0.31 sec)

mysql> flush privileges;
mysql> \q
Bye
[[email protected] mysql_rpm]# 


附:
這樣安裝後的檔案
[[email protected] mysql_rpm]# ll /usr/bin/mysql*
-rwxr-xr-x. 1 root root   11558 Nov 21 14:26 /usr/bin/mysqlbug
-rwxr-xr-x. 1 root root    4334 Nov 21 14:26 /usr/bin/mysql_convert_table_format
-rwxr-xr-x. 1 root root   26356 Nov 21 14:26 /usr/bin/mysqld_multi
-rwxr-xr-x. 1 root root   24691 Nov 21 14:26 /usr/bin/mysqld_safe
-rwxr-xr-x. 1 root root    7424 Nov 21 14:26 /usr/bin/mysqldumpslow
-rwxr-xr-x. 1 root root    1366 Nov 21 14:26 /usr/bin/mysql_fix_extensions
-rwxr-xr-x. 1 root root   34938 Nov 21 14:26 /usr/bin/mysqlhotcopy
-rwxr-xr-x. 1 root root   34612 Nov 21 14:26 /usr/bin/mysql_install_db
-rwxr-xr-x. 1 root root 4701102 Nov 21 14:28 /usr/bin/mysql_plugin
-rwxr-xr-x. 1 root root   10106 Nov 21 14:26 /usr/bin/mysql_secure_installation
-rwxr-xr-x. 1 root root   17584 Nov 21 14:26 /usr/bin/mysql_setpermission
-rwxr-xr-x. 1 root root 8681526 Nov 21 14:28 /usr/bin/mysqltest
-rwxr-xr-x. 1 root root 4381081 Nov 21 14:26 /usr/bin/mysql_tzinfo_to_sql
-rwxr-xr-x. 1 root root 4859343 Nov 21 14:28 /usr/bin/mysql_upgrade
-rwxr-xr-x. 1 root root    3976 Nov 21 14:26 /usr/bin/mysql_zap
[[email protected] mysql_rpm]# 

[[email protected] mysql_rpm]# ll /var/lib/mysql/mysql*
srwxrwxrwx. 1 mysql mysql    0 Jan 20 13:35 /var/lib/mysql/mysql.sock

/var/lib/mysql/mysql:
total 1628
-rw-------. 1 mysql mysql   8820 Jan 20 13:10 columns_priv.frm
-rw-------. 1 mysql mysql      0 Jan 20 13:10 columns_priv.MYD
-rw-------. 1 mysql mysql   4096 Jan 20 13:10 columns_priv.MYI
-rw-------. 1 mysql mysql   9582 Jan 20 13:10 db.frm

[[email protected] mysql_rpm]# ll /var/lib/mysql/
total 110624
-rw-rw----. 1 mysql mysql       56 Jan 20 13:35 auto.cnf
-rw-r-----. 1 mysql root      2021 Jan 20 13:35 host2.err
-rw-rw----. 1 mysql mysql        5 Jan 20 13:35 host2.pid
-rw-rw----. 1 mysql mysql 12582912 Jan 20 13:35 ibdata1
-rw-rw----. 1 mysql mysql 50331648 Jan 20 13:35 ib_logfile0
-rw-rw----. 1 mysql mysql 50331648 Jan 20 13:10 ib_logfile1
drwx--x--x. 2 mysql mysql     4096 Jan 20 13:10 mysql
srwxrwxrwx. 1 mysql mysql        0 Jan 20 13:35 mysql.sock
drwx------. 2 mysql mysql     4096 Jan 20 13:10 performance_schema
-rw-r--r--. 1 root  root       122 Jan 20 13:10 RPM_UPGRADE_HISTORY
-rw-r--r--. 1 mysql mysql      122 Jan 20 13:10 RPM_UPGRADE_MARKER-LAST
drwxr-xr-x. 2 mysql mysql     4096 Jan 20 13:10 test
[[email protected] mysql_rpm]#

[[email protected] mysql_rpm]# ll /usr/share/
drwxr-xr-x.  28 root root  4096 Jan 20 13:10 mysql

[[email protected] mysql_rpm]# ll /usr/share/mysql/
total 1504
-rwxr-xr-x. 1 root root   1153 Nov 21 14:26 binary-configure
drwxr-xr-x. 2 root root   4096 Jan 20 13:10 bulgarian
drwxr-xr-x. 2 root root   4096 Jan 20 13:10 charsets
drwxr-xr-x. 2 root root   4096 Jan 20 13:10 czech
drwxr-xr-x. 2 root root   4096 Jan 20 13:10 danish
-rwxr-xr-x. 1 root root  25575 Nov 21 13:39 dictionary.txt
drwxr-xr-x. 2 root root   4096 Jan 20 13:10 dutch
drwxr-xr-x. 2 root root   4096 Jan 20 13:10 english
-rwxr-xr-x. 1 root root 505241 Nov 21 13:39 errmsg-utf8.txt
drwxr-xr-x. 2 root root   4096 Jan 20 13:10 estonian
-rwxr-xr-x. 1 root root 742787 Nov 21 13:40 fill_help_tables.sql
drwxr-xr-x. 2 root root   4096 Jan 20 13:10 french
drwxr-xr-x. 2 root root   4096 Jan 20 13:10 german
drwxr-xr-x. 2 root root   4096 Jan 20 13:10 greek
drwxr-xr-x. 2 root root   4096 Jan 20 13:10 hungarian
-rwxr-xr-x. 1 root root   3963 Nov 21 13:39 innodb_memcached_config.sql
drwxr-xr-x. 2 root root   4096 Jan 20 13:10 italian
drwxr-xr-x. 2 root root   4096 Jan 20 13:10 japanese
drwxr-xr-x. 2 root root   4096 Jan 20 13:10 korean
-rwxr-xr-x. 1 root root    773 Nov 21 13:39 magic
-rwxr-xr-x. 1 root root   1126 Nov 21 14:26 my-default.cnf
-rwxr-xr-x. 1 root root   1061 Nov 21 14:26 mysqld_multi.server
-rwxr-xr-x. 1 root root    844 Nov 21 14:26 mysql-log-rotate
-rwxr-xr-x. 1 root root   1695 Nov 21 13:39 mysql_security_commands.sql
-rwxr-xr-x. 1 root root  10815 Nov 21 14:26 mysql.server
-rwxr-xr-x. 1 root root   3464 Nov 21 13:39