linux安装mysql

转载自http://blog.csdn.net/zhanngle/article/details/41042631

好久没玩linux,由于项目需要部署新的linux开发环境,包括安装jdk,tomcat,redis,mysql,趁着有时间,赶紧部署好。jdk,tomcat,redis很快就部署好了,唯独mysql让我折腾了一阵。先安装了我之前就安装过的源码版mysql-5.6.4,后又安装了最新的rpm版mysql-5.6.21。还不过瘾,又下载安装了最新的tar.gz版mysql-5.6.21。就这样捣鼓着,得出一丢丢经验,留下记录,与众分享。
以下是凭自己记忆写的,难免有误,请理解!

环境:centos 6.4 x64
先下载mysql安装包
选择 linux - Generic
再选择

下载完毕后,得到安装包 mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
此包不再需要make编译源代码(真是扛扛的),之前的mysql-5.6.4.tar.gz包是源码包,需要先cmake,再make & make install
上传到centos6.4的/software目录下(可以改为你需要的目录,这里只是演示)
ssh登录到centos6.4,开始执行以下命令

1.解压tar包

cd /software
tar -xzvf mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.21-linux-glibc2.5-x86_64 mysql-5.6.21

2.添加用户与组

groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql mysql-5.6.21 

chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理员经常使用chown命令,在将文件拷贝到另一个用户的名录下之后,让用户拥有使用该文件的权限。 

3.安装数据库

su mysql
cd mysql-5.6.21/scripts
./mysql_install_db --user=mysql --basedir=/software/mysql-5.6.21 --datadir=/software/mysql-5.6.21/data
exit

4.配置文件

cd /software/mysql-5.6.21/support-files
cp my-default.cnf /etc/my.cnf
cp mysql.server /etc/init.d/mysql
vim /etc/init.d/mysql           #若mysql的安装目录是/usr/local/mysql,则可省略此步
修改文件中的两个变更值
basedir=/software/mysql-5.6.21
datadir=/software/mysql-5.6.21/data

5.配置环境变量

vim /etc/profile
export MYSQL_HOME="/software/mysql-5.6.21"
export PATH="$PATH:$MYSQL_HOME/bin"
保存退出
. /etc/profile

6.添加自启动服务

chkconfig --add mysql
chkconfig mysql on

关于chkconfig命令http://www.cnblogs.com/panjun-Donet/archive/2010/08/10/1796873.html

7.启动mysql

service mysql start

8.登录mysql及改密码与配置远程访问

mysqladmin -u root password 'your_password'      #修改root用户密码
mysql -u root  -p      #登录mysql,需要输入密码
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION;      #允许root用户远程访问
mysql>FLUSH PRIVILEGES;      #刷新权限
mysql>exit

---------------------------2014/11/25 添加
又装了一次此版本的mysql,发现root用户不能登录,提示没权限。使用mysqld_safe 登进去,发现user表居然是空的,没有一个用户,郁闷。
于是从其它地方导出了一份user表的sql语句,手动插入了一个用户,再登录就可以了。
附:
忘记root密码后,如何找回密码
cd $MYSQL_HOME
./bin/mysqld_safe --basedir=/data/mysql-5.6.21 --datadir=/data/mysql-5.6.21/data --skip-grant-tables &
mysql -u root mysql
UPDATE user SET password=PASSWORD("new_password") WHERE user='root';
FLUSH PRIVILEGES;

9、错误

  5.1 sqlyog连接时,报1130错误,是由于没有给远程连接的用户权限问题

    解决1:更改 ‘mysql’数据库‘user’表‘host’项,从‘localhost’改成‘%’。

use mysql;
select 'host' from user where user='root'; 
update user set host = '%' where user ='root';
flush privileges; 

    解决2:直接授权

      GRANT ALL PRIVILEGES ON *.* TO ‘root’@'%’ IDENTIFIED BY ‘youpassword’ WITH GRANT OPTION;

  5.2 安装时的一些错误

    -bash: ./scripts/mysql_install_db: /usr/bin/perl: bad interpreter: 没有那个文件或目录
    解决: yum -y install perl perl-devel

    Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
    解决:yum -y install libaio-devel

10、1045报错
提示:1045 access denied for user 'root'@'localhost' using password yes
方法一:  
# /etc/init.d/mysql stop 
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking & 
# mysql -u root mysql 
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root'; 
mysql> FLUSH PRIVILEGES; 
mysql> quit 
# /etc/init.d/mysql restart 
# mysql -uroot -p 
Enter password: <输入新设的密码newpassword> 
mysql> 
连接:http://blog.csdn.net/tspangle/article/details/37761147

11、在linux下安装mysql默认情况是表名区分大小写的,会导致远重新很多sql错误,修改方法如下:

今天在开发中遇到这么个问题,将连接的数据库改为服务器上的时候(服务器是Linux系统的),程序跑起来后一直出错,总提示数据库的表找不到,

而打开数据库看该表明明是存在的,在我的印象中MySQL数据是不区分大小写的,后来查资料才发现,在Linux系统中MySQL默认是严格区分大小

写的,可以在配置文件中添加配置,

用root帐号登录后,在/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务,这时已设置成功:不区分表名的大小写;
其中 0:区分大小写,1:不区分大小写 

MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的: 

   1、数据库名与表名是严格区分大小写的; 

   2、表的别名是严格区分大小写的; 

   3、列名与列的别名在所有的情况下均是忽略大小写的; 

   4、变量名也是严格区分大小写的;


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值