centos rpm方式安装mysql

来源:互联网 发布:sql numeric和decimal 编辑:程序博客网 时间:2024/04/28 13:58

1、准备对应的安装文件
下载页面:
http://dev.mysql.com/downloads/mysql/
找到对应的版本及所需的文件进行下载,如果下载的为tar文件,请使用tar解压
#安装环境
[root@VM_64_102_centos table]# cat /proc/version 
Linux version 3.10.0-123.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC) ) #1 SMP Mon Jun 30 12:09:22 UTC 2014
#源文件路径

本人下载的是MySQL-5.6.26-1.rhel5.x86_64.rpm-bundle.tar

[root@linux1 Mysql_src]#tar -xvf MySQL-5.6.26-1.rhel5.x86_64.rpm-bundle.tar
Archive:  V44331-01.zip
 extracting: MySQL-embedded-advanced-5.6.17-1.rhel5.i386.rpm  
 extracting: MySQL-test-advanced-5.6.17-1.rhel5.i386.rpm  
 extracting: MySQL-shared-advanced-5.6.17-1.rhel5.i386.rpm          # MySQL的共享库
 extracting: MySQL-devel-advanced-5.6.17-1.rhel5.i386.rpm           # MySQL的库和头文件
 extracting: MySQL-client-advanced-5.6.17-1.rhel5.i386.rpm          # MySQL客户端程序
 extracting: MySQL-server-advanced-5.6.17-1.rhel5.i386.rpm          # MySQL服务端程序
 extracting: MySQL-shared-compat-advanced-5.6.17-1.rhel5.i386.rpm   # RHEL兼容包
 extracting: README.txt     

本人只用到了服务端、客户端两个包        

 

2、MySQL默认安装路径 
 Directory             Contents of Directory
/usr/bin               Client programs and scripts
/usr/sbin               The mysqld server
/var/lib/mysql         Log files, databases
/usr/share/info         Manual in Info format
/usr/share/man         Unix manual pages
/usr/include/mysql     Include (header) files
/usr/lib/mysql         Libraries
/usr/share/mysql       Miscellaneous support files, including error messages, 
                        character set files, sample configuration files, SQL for database installation
/usr/share/sql-bench   Benchmarks

 

3、安装MySQL
[root@linux1 Mysql_src]# rpm -ivh --test MySQL-server-5.6.26-1.rhel5.x86_64.rpm

[root@VM_64_102_centos table]# rpm -ivh --test MySQL-server-5.6.26-1.rhel5.x86_64.rpm 
warning: MySQL-server-5.6.26-1.rhel5.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
        file /usr/share/mysql/charsets/README from install of MySQL-server-5.6.26-1.rhel5.x86_64 conflicts with file from package mariadb-libs-1:5.5.41-2.el7_0.x86_64
        file /usr/share/mysql/czech/errmsg.sys from install of MySQL-server-5.6.26-1.rhel5.x86_64 conflicts with file from package mariadb-libs-1:5.5.41-2.el7_0.x86_64
        file /usr/share/mysql/danish/errmsg.sys from install of MySQL-server-5.6.26-1.rhel5.x86_64 conflicts with file from package mariadb-libs-1:5.5.41-2.el7_0.x86_64
        file /usr/share/mysql/dutch/errmsg.sys from install of MySQL-server-5.6.26-1.rhel5.x86_64 conflicts with file from package mariadb-libs-1:5.5.41-2.el7_0.x86_64

        file /usr/share/mysql/english/errmsg.sys from install of MySQL-server-5.6.26-1.rhel5.x86_64 conflicts with file from package mariadb-libs-1:5.5.41-2.el7_0.x86_64

......

此处发现与mariadb有冲突,(MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL),需要删掉mariadb

通过rpm -qa |grep mariadb查到

[root@VM_64_102_centos table]# rpm -qa |grep mariadb*
mariadb-libs-5.5.41-2.el7_0.x86_64

用rpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64 方式删掉mariadb包


由于mysql需要有perl module,所以要提前安装

yum search perl_module方式查到安装的perl-Module-Install.noarch

yum install perl-Module-Install.noarch安装perl,大事完毕就可以安装mysql了


[root@linux1 Mysql_src]# rpm -ivh MySQL-client-advanced-5.6.17-1.rhel5.i386.rpm
Preparing...                ########################################### [100%]
   1:MySQL-client-advanced  ########################################### [100%]

[root@linux1 Mysql_src]# rpm -ivh MySQL-devel-advanced-5.6.17-1.rhel5.i386.rpm
Preparing...                ########################################### [100%]
   1:MySQL-devel-advanced   ########################################### [100%]

万事ok就可以用service mysql start的方式启动mysql了,不过此时需要注意,有时候可能会启动失败,会报

 /usr/local/mysql/libexec/mysqld: Table 'mysql.plugin' doesn't exist 
101021 16:37:39 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 
101021 16:37:39 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist 
101021 16:37:39 mysqld_safe mysqld from pid file /usr/local/mysql/data/zrf.pid ended 
101021 16:41:17 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data 
101021 16:41:17 [Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--sk 
ip-external-locking' instead. 

如果是这个的话,就需要/usr/local/mysql/bin/mysql_install_db --user=mysql 


4、初始化MySQL及密码 
[root@linux1 Mysql_src]# service mysql start
Starting MySQL..                                           [  OK  ] 

[root@linux1 Mysql_src]#mysql -u root -p

Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.17-enterprise-commercial-advanced

mysql> set PASSWORD=PASSWORD('mysql');
Query OK, 0 rows affected (0.01 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.03 sec)

 

5、允许远程登陆 
mysql> use mysql;
Database changed
mysql> select host,user,password from user;
+-------------------+------+-------------------------------------------+
| host              | user | password                                  |
+-------------------+------+-------------------------------------------+
| localhost         | root | *E74858DB86EBA20BC33D0AECAE8A8108C56B17FA |
| linux1.orasrv.com | root | *AE207AEF7D22B37183E435AAE64CECF7102A2DB2 |
| 127.0.0.1         | root | *AE207AEF7D22B37183E435AAE64CECF7102A2DB2 |
| ::1               | root | *AE207AEF7D22B37183E435AAE64CECF7102A2DB2 |
+-------------------+------+-------------------------------------------+
4 rows in set (0.02 sec)

mysql> update user set password=password('mysql') where user='root';
mysql> update user set host='%' where user='root' and host='localhost';
mysql> flush privileges;
mysql> exit

 

6、配置开机自启动
[root@linux1 Mysql_src]# chkconfig --list mysql
mysql           0:off   1:off   2:on    3:on    4:on    5:on    6:off
如果没有的话使用chkconfig mysql on 设置自启动

0 0