mysql 5.5版本和5.0版本的安装不一样。我之前写过的一篇文章是5.0安装的。
5.5版本的安装几乎都是rpm安装。mysql官网也推荐用rpm安装。
这里要下载2个rpm包一个是服务端,一个是客户端。
服务端:MySQL-server-5.5.44-1.linux2.6.x86_64.rpm
客户端:MySQL-client-5.5.44-1.linux2.6.x86_64.rpm
安装命令
# rpm -ivh MySQL-server-5.5.44-1.linux2.6.x86_64.rpm
# rpm -ivh MySQL-client-5.5.44-1.linux2.6.x86_64.rpm
================================================
2018-5-11更新(安装5.6)
使用阿里云centos7.4版本安装mysql5.6是,需要先使用如下命令,否则会报错
yum install libaio
然后查询mariadb,并删除
rpm -qa|grep mariadb
rpm -e mariadb-libs-* --nodeps
如果出现如下异常:
FATAL ERROR: please install the following Perl modules before executing /usr/bin/mysql_install_db:
Data::Dumper
解决方案:
]# yum install -y perl-Module-Install.noarch
如果报错,打开系统日志提示:
Fatal error: Can’t open and lock privilege tables: Table ‘mysql.user’ doesn’t existFor more information, see Help and Support Center at
说明Mysql需要初始化
mysqld --initialize
如果报错
Please read "Security" section of the manual to find out how to run mysqld as root
需要把/usr/share/mysql/my-default.cnf复制到/etc/my.cnf
然后/etc/my.cnf中加入 user=mysql 即可
===============================================================================
启动前先要初始化数据库
./usr/bin/mysql_install_db
如果报错Can't find file: './mysql/plugin.frm'
解决方法:
进入plugin.frm所在目录,我的是在
/var/lib/mysql/mysql
ls -l
发现所有文件的权限不知何故都变成root了,执行下面命令,修改权限为mysql
chown mysql.mysql *
==========================================================
安装完后,
复制并修改my.cnf
复制/usr/share/mysql/my-medimu.cnf到/etc/my.cnf
my.cnf里面增加内容
[client]下面增加
default-character-set=utf8
[mysqld]下面增加
character_set_server=utf8
collation-server=utf8_general_ci
lower_case_table_names=1
character_set_client=utf8
[mysql]下面增加
default-character-set = utf8
==========================
这样就算配置完成了
直接打命令
#service mysql start
这样就可以启动mysql
PS:1
安装过程中,我在my.cnf配置上出了问题,mysql启动不起来
错误是
The server quit without updating PID file [FAILED]b....
网上有很多种解决办法,但是在我这里都不能解决。困扰了一天
后来我自己查看mysql日志 /var/lib/mysql/*****.err ---这里.err结尾的是错误日志,前面的*在不同服务器上是不一样的
日志里面有这么2行
150610 10:28:44 [ERROR] /usr/sbin/mysqld: unknown variable 'default-character-set=utf8'
150610 10:28:44 [ERROR] Aborting
看到日志后我突然想起,my.cnf里面的配置我是直接copy网上的,这次我把my.cnf重新配置了一遍,代码一个一个手动敲进去。
保存后重新启动mysql,OK了。
看来还是不能盲目迷信百度的东西啊,还得靠自己动手丰衣足食啊。
PS:1
解决过程中学到的东西
使用如下命令创建一个用户名和密码分别为"myuser"和"mypassword"的用户。
mysql> CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
例如,为所有数据库/表赋予 CREATE 和 INSERT 权限:
mysql> GRANT ALL ON *.* TO 'myuser'@'localhost'; -----------第一个*表示数据库名,第二个*表示表名,*代表所有。localhost表示本地访问,%表示所有外网访问,也可以换成具体ip,那就是指定IP访问
- ALL: 所有可用的权限
- CREATE: 创建库、表和索引
- LOCK_TABLES: 锁定表
- ALTER: 修改表
- DELETE: 删除表
- INSERT: 插入表或列
- SELECT: 检索表或列的数据
- CREATE_VIEW: 创建视图
- SHOW_DATABASES: 列出数据库
- DROP: 删除库、表和视图
参考http://www.linuxidc.com/Linux/2015-03/114803.htm
===========================================================
--查看数据库的字符集
show variables like 'character\_set\_%';
show variables like 'collation_%';
============================================================
mysql安装后默认目录
my-small.cnf
在服务器或者VPS内存小于64MB并且只是偶尔使用mysql的情况下建议使用使用该选项文件。使用这个选项文件,mysql不能应付频繁的使用,但不会使服务器或者VPS性能下降。
这个配置下,缓冲大小设置的 比较低,sort_buffer只有64K,key_buffer只有16K,table_cache只有4K。
my-medium.cnf
和较小的配置选项文件一样,如果mysql不是系统中运行的唯一重要程序,这个配置文件适用于内存在64MB左右但是mysql适用相对频繁一些的服务器或者VPS。
这个配置下,key_buffer为16M,mysql服务器的sort_buffer为512K,table_cache为64K(允许更多的并发线程),net_buffer_length提高到了8K。
my-large.cnf
这个配置示范文件适用于专门提供mysql服务的服务器或者VPS,适用于内存为512MB的系统。
这个配置中,服务器的缓冲允许更多的活跃线程和更好的排序性能,文件把嘉定的512M内存分配给了key_buffer变量256M,sort_buffer为1M,table_cache为256,允许更多的并行用户,最大256个活动线程。
my-huge.cnf
此配置也同样适用于服务器或者VPS主要为mysql用途的,适用于内存为1-2GB的服务器或者VPS。
这个配置中,sort_buffer排序缓存增加到了2M,key_buffer为384M,table_cache为512.
my-innodb-heavy-4G.cnf
这个示范配置文件适合内存为4G或以上的系统,它用来提供没有很多连接(使用InnoDB储存引擎)的复杂查询,该配置文件中的innodb选项给mysql设置了一个2G的缓冲区。
在mysql官网下载的选择mysql需要的系统时,下面的下载内容有时候不会异步更新。
比如我选择Linux Generic是,下面的下载列表应该是异步更新到Linux版本的下载列表,而不是停留在默认的Window下载列表,后来我为了访问google修改了hosts文件后。再访问mysql官网下载页面,居然可以异步显示下载列表了。不知道是不是这个原因。不然刚开始的时候,为了下载个mysql。搞了半天就是下载不下来,后来能下载了,就采用迅雷下载。速度杠杠的。
参考文章
1、http://www.cnblogs.com/sunson/articles/2172086.html
2、http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/10/18/2216087.html
3、http://blog.rekfan.com/articles/186.html
=========================================================================================
2016-5-17编辑
1、检查是否已安装MySQL
rpm -qa | grep -i mysql
如果有会出现类似下面的内容
MySQL-server-5.0.22-0.i386 MySQL-client-5.0.22-0.i386 |
2、删除已安装mysql
rpm -ev MySQL-server-5.0.22-0.i386
rpm -ev MySQL-client-5.0.22-0.i386
如果删除不成功则先要删除依赖项
PS:我今天删除的时候出现了如下内容
error: Failed dependencies:
libmysqlclient.so.16()(64bit) is needed by (installed) postfix-2:2.6.6-6.el6_5.x86_64
libmysqlclient.so.16(libmysqlclient_16)(64bit) is needed by (installed) postfix-2:2.6.6-6.el6_5.x86_64
mysql-libs is needed by (installed) postfix-2:2.6.6-6.el6_5.x86_64
解决办法:
rpm -e --nodeps mysql-libs-5.1.73-3.el6_5.x86_64
3、linux下创建数据库flush privileges;