在阿里云的CentOS环境中安装配置MySQL的教程

 更新时间:2015年12月16日 11:21:03   作者:fengyqf  
这篇文章主要介绍了在阿里云的CentOS环境中安装配置MySQL的教程,注意一下文章开头所提到的系统自带MariaDB的问题,需要的朋友可以参考下

1 常规错误的yum安装方法:

在前文中记述了CentOS 6.5系统中通过yum方式快速地搭建了LNMP环境,那么是否也能在CentOS 7或CentOS 7.1系统中依葫芦画瓢安装MySql5.6.24呢?答案是否定的。

[root@typecodes ~]# yum -y install mysql mysql-server mysql-devel
.....................。
....省略部分安装过程....
.....................。

Installed:
 mariadb.x86_64 1:5.5.41-2.el7_0             mariadb-devel.x86_64 1:5.5.41-2.el7_0            

Dependency Installed:
 keyutils-libs-devel.x86_64 0:1.5.8-3.el7 krb5-devel.x86_64 0:1.12.2-14.el7  libcom_err-devel.x86_64 0:1.42.9-7.el7 libselinux-devel.x86_64 0:2.2.2-6.el7 
 libsepol-devel.x86_64 0:2.1.9-3.el7   libverto-devel.x86_64 0:0.2.5-4.el7 openssl-devel.x86_64 1:1.0.1e-42.el7.4 pcre-devel.x86_64 0:8.32-14.el7   
 zlib-devel.x86_64 0:1.2.7-13.el7   

Complete!

从上面的安装结果可以看出,没有安装mysql数据库,而是安装了mariadb数据!因为在CentOS 7和CentOS 7.1系统中,默认安装的mysql是它的分支mariadb。这里引用下百度百科关于mariadb的描述:

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
因此,下面这些正常的MySQL操作都是无效的:

#######无法把mysql服务加入系统启动
[root@typecodes ~]# chkconfig mysqld on
error reading information on service mysqld: No such file or directory
#######启动不了mysql
[root@typecodes ~]# service mysqld start
Redirecting to /bin/systemctl start mysqld.service
Failed to issue method call: Unit mysqld.service failed to load: No such file or directory.
#######没有安装mysql相关包
[root@typecodes ~]# rpm -qa |grep mysql
php-mysql-5.4.16-23.el7_0.3.x86_64
[root@typecodes ~]#

2 正确的安装方法:

众所周知,Linux系统自带的repo是不会自动更新每个软件的最新版本(基本都是比较靠后的稳定版),所以无法通过yum方式安装MySQL的高级版本。所以我们需要先安装带有当前可用的mysql5系列社区版资源的rpm包。

#######安装rpm包
[root@typecodes ~]# rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
Retrieving http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
Preparing...       ################################# [100%]
Updating / installing...
 1:mysql-community-release-el7-5 ################################# [100%]

这时查看当前可用的mysql安装资源:

[root@typecodes ~]# yum repolist enabled | grep "mysql.*-community.*"
mysql-connectors-community/x86_64 MySQL Connectors Community     14
mysql-tools-community/x86_64  MySQL Tools Community      17
mysql56-community/x86_64   MySQL 5.6 Community Server    139

从上面的列表可以看出, mysql56-community/x86_64 和 MySQL 5.6 Community Server 可以使用。

因此,我们就可以直接用yum方式安装了MySQL5.6版本了。

[root@typecodes ~]# yum -y install mysql-community-server
Loaded plugins: axelget, langpacks
No metadata available for base
No metadata available for epel
No metadata available for extras
(Failed to load module fastestmirror: No module named fastestmirror)
repomd.xml                                  | 2.5 kB 00:00:00  
update mysql-connectors-community metadata successfully
(Failed to load module fastestmirror: No module named fastestmirror)
repomd.xml                                  | 2.5 kB 00:00:00  
update mysql-tools-community metadata successfully
(Failed to load module fastestmirror: No module named fastestmirror)
repomd.xml                                  | 2.5 kB 00:00:00  
update mysql56-community metadata successfully
No metadata available for updates
mysql-connectors-community                              | 2.5 kB 00:00:00  
mysql-tools-community                               | 2.5 kB 00:00:00  
mysql56-community                                | 2.5 kB 00:00:00  
(1/3): mysql-connectors-community/x86_64/primary_db                        | 7.3 kB 00:00:00  
(2/3): mysql56-community/x86_64/primary_db                          | 83 kB 00:00:01  
mysql-tools-community/x86_64/p FAILED           ==============================================  ] 19 kB/s | 92 kB 00:00:00 ETA 
http://repo.mysql.com/yum/mysql-tools-community/el/7/x86_64/repodata/3301d2eb425f300dec5a46c4201d08f2cf9232a6-primary.sqlite.bz2: [Errno 12] Timeout on http://repo.mysql.com/yum/mysql-tools-community/el/7/x86_64/repodata/3301d2eb425f300dec5a46c4201d08f2cf9232a6-primary.sqlite.bz2: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 3 seconds')
Trying other mirror.
(3/3): mysql-tools-community/x86_64/primary_db                         | 15 kB 00:00:00  
Resolving Dependencies
--> Running transaction check
---> Package mysql-community-server.x86_64 0:5.6.24-3.el7 will be installed
--> Processing Dependency: mysql-community-common(x86-64) = 5.6.24-3.el7 for package: mysql-community-server-5.6.24-3.el7.x86_64
--> Processing Dependency: mysql-community-client(x86-64) = 5.6.24-3.el7 for package: mysql-community-server-5.6.24-3.el7.x86_64
--> Processing Dependency: perl(DBI) for package: mysql-community-server-5.6.24-3.el7.x86_64
--> Running transaction check
---> Package mariadb.x86_64 1:5.5.41-2.el7_0 will be obsoleted
---> Package mysql-community-client.x86_64 0:5.6.24-3.el7 will be obsoleting
--> Processing Dependency: mysql-community-libs(x86-64) = 5.6.24-3.el7 for package: mysql-community-client-5.6.24-3.el7.x86_64
---> Package mysql-community-common.x86_64 0:5.6.24-3.el7 will be installed
---> Package perl-DBI.x86_64 0:1.627-4.el7 will be installed
--> Processing Dependency: perl(RPC::PlServer) >= 0.2001 for package: perl-DBI-1.627-4.el7.x86_64
--> Processing Dependency: perl(RPC::PlClient) >= 0.2000 for package: perl-DBI-1.627-4.el7.x86_64
--> Running transaction check
---> Package mariadb-libs.x86_64 1:5.5.41-2.el7_0 will be obsoleted
--> Processing Dependency: mariadb-libs(x86-64) = 1:5.5.41-2.el7_0 for package: 1:mariadb-devel-5.5.41-2.el7_0.x86_64
---> Package mysql-community-libs.x86_64 0:5.6.24-3.el7 will be obsoleting
---> Package perl-PlRPC.noarch 0:0.2020-14.el7 will be installed
--> Processing Dependency: perl(Net::Daemon) >= 0.13 for package: perl-PlRPC-0.2020-14.el7.noarch
--> Processing Dependency: perl(Net::Daemon::Test) for package: perl-PlRPC-0.2020-14.el7.noarch
--> Processing Dependency: perl(Net::Daemon::Log) for package: perl-PlRPC-0.2020-14.el7.noarch
--> Processing Dependency: perl(Compress::Zlib) for package: perl-PlRPC-0.2020-14.el7.noarch
--> Running transaction check
---> Package mariadb-devel.x86_64 1:5.5.41-2.el7_0 will be obsoleted
---> Package mysql-community-devel.x86_64 0:5.6.24-3.el7 will be obsoleting
---> Package perl-IO-Compress.noarch 0:2.061-2.el7 will be installed
--> Processing Dependency: perl(Compress::Raw::Zlib) >= 2.061 for package: perl-IO-Compress-2.061-2.el7.noarch
--> Processing Dependency: perl(Compress::Raw::Bzip2) >= 2.061 for package: perl-IO-Compress-2.061-2.el7.noarch
---> Package perl-Net-Daemon.noarch 0:0.48-5.el7 will be installed
--> Running transaction check
---> Package perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7 will be installed
---> Package perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=======================================================================================================================================================================
 Package           Arch       Version        Repository         Size
=======================================================================================================================================================================
Installing:
 mysql-community-client       x86_64       5.6.24-3.el7       mysql56-community       19 M
  replacing mariadb.x86_64 1:5.5.41-2.el7_0
 mysql-community-devel       x86_64       5.6.24-3.el7       mysql56-community       3.4 M
  replacing mariadb-devel.x86_64 1:5.5.41-2.el7_0
 mysql-community-libs       x86_64       5.6.24-3.el7       mysql56-community       2.0 M
  replacing mariadb-libs.x86_64 1:5.5.41-2.el7_0
 mysql-community-server       x86_64       5.6.24-3.el7       mysql56-community       58 M
Installing for dependencies:
 mysql-community-common       x86_64       5.6.24-3.el7       mysql56-community       256 k
 perl-Compress-Raw-Bzip2       x86_64       2.061-3.el7       base          32 k
 perl-Compress-Raw-Zlib       x86_64       1:2.061-4.el7       base          57 k
 perl-DBI          x86_64       1.627-4.el7       base          802 k
 perl-IO-Compress        noarch       2.061-2.el7       base          260 k
 perl-Net-Daemon         noarch       0.48-5.el7        base          51 k
 perl-PlRPC          noarch       0.2020-14.el7       base          36 k

Transaction Summary
=======================================================================================================================================================================
Install 4 Packages (+7 Dependent packages)

Total download size: 83 M
Downloading packages:
mysql-community-devel-5.6.24-3.el7.x86_64.rpm                         | 3.4 MB 00:00:03  
mysql-community-client-5.6.24-3.el7.x86_64.rpm                         | 19 MB 00:00:05  
mysql-community-server-5.6.24-3.el7.x86_64.rpm                         | 58 MB 00:00:11  
mysql-community-libs-5.6.24-3.el7.x86_64.rpm                         | 2.0 MB 00:00:02  
perl-DBI-1.627-4.el7.x86_64.rpm                             | 0 B 00:00:01 ... 
perl-DBI-1.627-4.el7.x86_64.rpm                             | 802 kB 00:00:00  
(1/6): perl-Compress-Raw-Zlib-2.061-4.el7.x86_64.rpm                       | 57 kB 00:00:00  
(2/6): perl-Net-Daemon-0.48-5.el7.noarch.rpm                         | 51 kB 00:00:00  
(3/6): perl-PlRPC-0.2020-14.el7.noarch.rpm                          | 36 kB 00:00:00  
(4/6): perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm                       | 32 kB 00:00:00  
(5/6): perl-IO-Compress-2.061-2.el7.noarch.rpm                         | 260 kB 00:00:00  
warning: /var/cache/yum/x86_64/7/mysql56-community/packages/mysql-community-common-5.6.24-3.el7.x86_64.rpm: V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY 00:00:01 ETA 
Public key for mysql-community-common-5.6.24-3.el7.x86_64.rpm is not installed
(6/6): mysql-community-common-5.6.24-3.el7.x86_64.rpm                       | 256 kB 00:00:01  
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                 388 kB/s | 692 kB 00:00:01  
Retrieving key from file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Importing GPG key 0x5072E1F5:
 Userid  : "MySQL Release Engineering <mysql-build@oss.oracle.com>"
 Fingerprint: a4a9 4068 76fc bd3c 4567 70c8 8c71 8d3b 5072 e1f5
 Package : mysql-community-release-el7-5.noarch (installed)
 From  : file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
 Installing : mysql-community-common-5.6.24-3.el7.x86_64                           1/14 
 Installing : mysql-community-libs-5.6.24-3.el7.x86_64                           2/14 
 Installing : mysql-community-client-5.6.24-3.el7.x86_64                           3/14 
 Installing : perl-Net-Daemon-0.48-5.el7.noarch                             4/14 
 Installing : 1:perl-Compress-Raw-Zlib-2.061-4.el7.x86_64                          5/14 
 Installing : perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64                           6/14 
 Installing : perl-IO-Compress-2.061-2.el7.noarch                            7/14 
 Installing : perl-PlRPC-0.2020-14.el7.noarch                             8/14 
 Installing : perl-DBI-1.627-4.el7.x86_64                              9/14 
 Installing : mysql-community-server-5.6.24-3.el7.x86_64                          10/14 
 Installing : mysql-community-devel-5.6.24-3.el7.x86_64                           11/14 
 Erasing : 1:mariadb-devel-5.5.41-2.el7_0.x86_64                            12/14 
 Erasing : 1:mariadb-5.5.41-2.el7_0.x86_64                             13/14 
 Erasing : 1:mariadb-libs-5.5.41-2.el7_0.x86_64                            14/14 
 Verifying : perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64                           1/14 
 Verifying : mysql-community-common-5.6.24-3.el7.x86_64                           2/14 
 Verifying : mysql-community-devel-5.6.24-3.el7.x86_64                           3/14 
 Verifying : mysql-community-client-5.6.24-3.el7.x86_64                           4/14 
 Verifying : perl-PlRPC-0.2020-14.el7.noarch                             5/14 
 Verifying : mysql-community-server-5.6.24-3.el7.x86_64                           6/14 
 Verifying : 1:perl-Compress-Raw-Zlib-2.061-4.el7.x86_64                          7/14 
 Verifying : mysql-community-libs-5.6.24-3.el7.x86_64                           8/14 
 Verifying : perl-Net-Daemon-0.48-5.el7.noarch                             9/14 
 Verifying : perl-DBI-1.627-4.el7.x86_64                              10/14 
 Verifying : perl-IO-Compress-2.061-2.el7.noarch                            11/14 
 Verifying : 1:mariadb-5.5.41-2.el7_0.x86_64                             12/14 
 Verifying : 1:mariadb-devel-5.5.41-2.el7_0.x86_64                            13/14 
 Verifying : 1:mariadb-libs-5.5.41-2.el7_0.x86_64                            14/14 

Installed:
 mysql-community-client.x86_64 0:5.6.24-3.el7   mysql-community-devel.x86_64 0:5.6.24-3.el7   mysql-community-libs.x86_64 0:5.6.24-3.el7   
 mysql-community-server.x86_64 0:5.6.24-3.el7   

Dependency Installed:
 mysql-community-common.x86_64 0:5.6.24-3.el7 perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7 perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7 perl-DBI.x86_64 0:1.627-4.el7
 perl-IO-Compress.noarch 0:2.061-2.el7  perl-Net-Daemon.noarch 0:0.48-5.el7   perl-PlRPC.noarch 0:0.2020-14.el7   

Replaced:
 mariadb.x86_64 1:5.5.41-2.el7_0     mariadb-devel.x86_64 1:5.5.41-2.el7_0     mariadb-libs.x86_64 1:5.5.41-2.el7_0     

Complete!

3 MySQL安装完成后,进行相关配置

安装完MySQL后,需要进行一些基础配置工作:

#######安装成功后,将其加入开机启动
[root@typecodes ~]# systemctl enable mysqld

#######启动mysql服务进程
[root@typecodes ~]# systemctl start mysqld

#######配置mysql(设置密码等)
[root@typecodes ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
  SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? [Y/n] y     [设置root用户密码]
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y     [删除匿名用户]
 ... Success!

Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y  [禁止root远程登录]
 ... Success!

By default, MySQL comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y   [删除test数据库]
 - Dropping test database...
ERROR 1008 (HY000) at line 1: Can't drop database 'test'; database doesn't exist
 ... Failed! Not critical, keep moving...
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y   [刷新权限]
 ... Success!




All done! If you've completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!


Cleaning up...

4.可能有效的MySQL配置优化
在原始配置文件  /etc/my.cnf 基础上,在 [mysqld] 节内增加配置参数。实际应用中,请按硬件及负载酌情修改。

#add by feng 120418 --------------------------
#skip-locking
skip-name-resolve
skip-external-locking
key_buffer_size = 256M
#table_cache = 3072
table_open_cache = 3072
read_buffer_size = 2M
read_rnd_buffer_size = 2M
sort_buffer_size = 2M
myisam_sort_buffer_size = 256M
thread_cache_size = 8
query_cache_size= 512M
query_cache_limit= 5M
tmp_table_size=1024M
max_heap_table_size=3000M
max_allowed_packet = 16M
innodb_buffer_pool_size = 512M
innodb_log_file_size = 512M
innodb_additional_mem_pool_size=512M
innodb_log_buffer_size=64M
max_connections=2000
max_user_connections=800
join_buffer_size = 8M
open_files_limit = 65535
#tmpdir=/dev/shm
max_connect_errors=1000
#add by feng 120418 end ---------------------

相关文章

  • Mysql基础入门 轻松学习Mysql命令

    Mysql基础入门 轻松学习Mysql命令

    这篇文章主要是Mysql基础入门教程,教大家如何轻松学习Mysql命令,并熟练掌握Mysql命令,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • mysql创建本地用户及赋予数据库权限的方法示例

    mysql创建本地用户及赋予数据库权限的方法示例

    这篇文章主要介绍了mysql创建本地用户及赋予数据库权限的相关资料,文中的介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-04-04
  • 忘记Mysql密码的解决办法小结

    忘记Mysql密码的解决办法小结

    最近老是忘记mysql密码。网上学习了四种解决办法,记录下来。分享给大家
    2014-07-07
  • MySQL的时间差函数TIMESTAMPDIFF、DATEDIFF的用法

    MySQL的时间差函数TIMESTAMPDIFF、DATEDIFF的用法

    这篇文章主要介绍了MySQL的时间差函数TIMESTAMPDIFF、DATEDIFF的用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • MySQL中查看数据库安装路径的方法

    MySQL中查看数据库安装路径的方法

    有时候在我们开发的过程中并不一定记得数据库的安装路径,比如要查看mysql 数据库的安装目录在哪里,这里就为大家分享一下
    2021-03-03
  • 将phpstudy中的mysql迁移至Linux教程

    将phpstudy中的mysql迁移至Linux教程

    本文主要给大家介绍了关于将phpstudy中的mysql迁移至Linux的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。希望能版助到大家。
    2018-04-04
  • MySQL百万级数据大分页查询优化的实现

    MySQL百万级数据大分页查询优化的实现

    在数据库开发过程中我们经常会使用分页,但是如果是百万级数据呢,本文就详细的介绍一下MySQL百万级数据大分页查询优化的实现,感兴趣的可以了解一下
    2022-01-01
  • 常见的数据库1045密码错误问题解决方法

    常见的数据库1045密码错误问题解决方法

    连接MySQL数据库时难免会遇到1045错误,主要是因为用户输入的用户名或密码错误被拒绝访问,下面这篇文章主要给大家介绍了关于常见的数据库1045密码错误问题的解决方法,需要的朋友可以参考下
    2023-04-04
  • mysql中如何设置大小写不敏感

    mysql中如何设置大小写不敏感

    这篇文章主要介绍了mysql中如何设置大小写不敏感问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • win10下mysql 8.0.11压缩版安装详细教程

    win10下mysql 8.0.11压缩版安装详细教程

    这篇文章主要为大家详细介绍了win10下mysql 8.0.11压缩版安装详细教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05

最新评论