最近在自己的centos6.5虚拟机上安装了一下mysql数据库,虽然过程不是很难但是还是有一些坑需要注意一下,在这里记录一下自己的安装过程。
首先切换到超级管理员,然后创建一个目录(创建目录不是必须的):
mkdir mysql
然后进入目录:
cd mysql
使用wget命令下载rpm文件,默认会安装最新版本的mysql,使用rpm文件可以指定mysql的版本:
wget dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
使用yum命令进行安装:
yum localinstall mysql-community-release-el6-5.noarch.rpm
安装过程中需要按照提示进行两次确定,然后即可安装成功。
安装成功后,启动mysql,注意是mysqld:
service mysqld start
在命令行输入mysql即可进入mysql的命令行模式,原因是因为mysql安装好后还没有设置密码,输入mysql是使用root角色登录的,相当于:
mysql -u root -p
所以我们需要设置mysql的密码,先Ctrl+C退出mysql命令行模式,在Linux命令行模式下输入:
/usr/bin/mysqladmin -u root password 'root'
我这里把密码也设置为root了,可能会出现一个密码不安全的警告:
Warning: Using a password on the command line interface can be insecure.
忽略这个警告,重新登录mysql:
mysql -u root -proot
注意:-p后面紧跟密码,没有空格,否则会登录失败。
然后在我的Windows主机上使用SQLyog连接mysql:
输入主机IP,用户,密码后测试连接:
显示不被允许连接,这是由于linux下安装的mysql,远程连接需要授权:
在Linux下的mysql命令行中执行授权语句:
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
第一个root表示用户,第二个root表示密码
这样再次连接就能连接成功了:
如果还连接失败,可以关闭防火墙试一下:
service iptables stop
需要特别注意的是Linux下安装的mySQL数据库默认对表名大小写敏感,对列名大小写不敏感:
select * from user;
select * from USER;
上面的两个查询语句虽然是针对同一张表查询,但只有一个会有正确的查询结果,另外一个会因为找不到表而报错!
设置Linux上的mysql大小写不敏感:
在**/etc/my.cnf**中的[mysqld]后添加lower_case_table_names=1,重启mysql服务即可:
lower_case_table_names参数:0-区分大小写 1-不区分大小写
重启mysql服务:
service mysqld restart
至此,centos6.5下安装mysql就成功了。