linux安装mysql一 rpm包安装

时间:2021-03-30 17:06:39
安装mysql的三种方法:一是通过源码安装,二是用通用二进制包,三是通过不同linux release到系统包安装,centos上是RPM包安装。
先来rpm包装
0
环境
[root@host2 ~]# 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
[root@host2 ~]# cat /etc/issue
CentOS release 6.5 (Final)
Kernel \r on an \m

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

2
检查是否安装
[root@host2 ~]# rpm -qa | grep -i mysql
文件名
MySQL-5.6.22-1.linux_glibc2.5.x86_64.rpm-bundle.tar

3
删除已安装
[root@host2 ~]# rpm -e mysql-libs-5.1.71-1.el6.x86_64 --nodeps
[root@host2 ~]#

4
查验,这样删还是会留下一些东西
[root@host2 ~]# find / -name mysql
[root@host2 ~]# 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

[root@host2 ~]# rpm -qa | grep -i mysql
[root@host2 ~]# 

5
查验有否mysql用户和组
[root@host2 ~]# nl /etc/group | grep mysql
[root@host2 ~]# nl /etc/shadow | grep mysql
[root@host2 ~]# 

6
解包
[root@host2 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的嵌入式程序
[root@host2 mysql_rpm]# 

7
[root@host2 mysql_rpm]# rpm -ivh MySQL-server-5.6.22-1.linux_glibc2.5.x86_64.rpm 

[root@host2 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

[root@host2 mysql_rpm]# 

8
已经有了mysql用户和组
[root@host2 mysql_rpm]# id mysql
uid=495(mysql) gid=492(mysql) groups=492(mysql)

[root@host2 mysql_rpm]# nl /etc/group | grep mysql
    60    mysql:x:492:
[root@host2 mysql_rpm]# cat /etc/group | grep mysql
mysql:x:492:
[root@host2 mysql_rpm]# cat /etc/shadow | grep mysql
mysql:!!:16455::::::
[root@host2 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

Themysqldserver

/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配置文件
# 没有这一步也可以按内置参数
[root@host2 mysql_rpm]# cp /usr/share/mysql/my-default.cnf /etc/my.cnf
[root@host2 mysql_rpm]# 

11
start
[root@host2 mysql_rpm]# service mysql status
MySQL is not running                                       [FAILED]
[root@host2 mysql_rpm]# service mysql start
Starting MySQL..                                           [  OK  ]
 
11
查验
[root@host2 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
[root@host2 mysql_rpm]#

12
安装客户端
[root@host2 mysql_rpm]# rpm -ivh MySQL-client-5.6.22-1.linux_glibc2.5.x86_64.rpm 
Preparing...                ########################################### [100%]
   1:MySQL-client           ########################################### [100%]
[root@host2 mysql_rpm]# 

13
连到mysql并修改
[root@host2 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
       
[root@host2 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
[root@host2 mysql_rpm]# 


附:
这样安装后的文件
[root@host2 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
[root@host2 mysql_rpm]# 

[root@host2 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

[root@host2 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
[root@host2 mysql_rpm]#

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

[root@host2 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 mysql_system_tables_data.sql
-rwxr-xr-x. 1 root root  93220 Nov 21 13:39 mysql_system_tables.sql
-rwxr-xr-x. 1 root root  10410 Nov 21 13:39 mysql_test_data_timezone.sql
drwxr-xr-x. 2 root root   4096 Jan 20 13:10 norwegian
drwxr-xr-x. 2 root root   4096 Jan 20 13:10 norwegian-ny
drwxr-xr-x. 2 root root   4096 Jan 20 13:10 polish
drwxr-xr-x. 2 root root   4096 Jan 20 13:10 portuguese
drwxr-xr-x. 2 root root   4096 Jan 20 13:10 romanian
drwxr-xr-x. 2 root root   4096 Jan 20 13:10 russian
drwxr-xr-x. 3 root root   4096 Jan 20 13:10 SELinux
drwxr-xr-x. 2 root root   4096 Jan 20 13:10 serbian
drwxr-xr-x. 2 root root   4096 Jan 20 13:10 slovak
drwxr-xr-x. 2 root root   4096 Jan 20 13:10 spanish
drwxr-xr-x. 2 root root   4096 Jan 20 13:10 swedish
drwxr-xr-x. 2 root root   4096 Jan 20 13:10 ukrainian
[root@host2 mysql_rpm]#