阿里云centos环境之mysql安装<二>

来源:互联网 发布:java泛型坑 编辑:程序博客网 时间:2024/06/14 10:23

阿里云centos环境之mysql安装<二>

  • mysql配置
    • 前方
    • 验证mysql是否安装
    • 下载
    • 解压安装包并重命名为mysql
    • 4添加用户组和用户
    • 安装
    • 修改密码
    • 让外网可以访问
    • mysql忽略表名大小写敏感
    • mysql数据库安装的其它问题
      • DataDumper
      • mysql无法初始化
      • 启动MySql提示The server quit without updating PID file失败

mysql配置

前方

MySQL的安装主要有三种方式:二进制包安装(Using Generic Binaries)、RPM包安装、源码安装。这里使用二进制安装

1.验证mysql是否安装

执行

mysql -V

得到的结果如下:
这里写图片描述
说明并没有给我默认安装mysql数据库

2.下载

1.从mysql官网下载tag.gz格式的mysql文件,
2.执行

wget http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.26-linux-glibc2.5-x86_64.tar.gz 

在线下载mysql。

3.解压安装包并重命名为mysql

解压

tar -zxvf mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz

重命名解压后的文件为mysql

mv mysql-5.6.27-linux-glibc2.5-x86_64 mysql

4、添加用户组和用户

#添加用户组groupadd mysql#添加用户mysql 到用户组mysqluseradd -g mysql mysql

5.安装

进入mysql目录

cd /usr/local/mysql/
#在data目录下创建目录'mysql'mkdir mysql#修改权限chown -R mysql:mysql ./#安装数据库./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql#添加mysql为系统服务cp support-files/mysql.server /etc/init.d/mysqldchmod 755 /etc/init.d/mysqldcp support-files/my-default.cnf /etc/my.cnf#修改启动脚本vi /etc/init.d/mysqld#修改项:basedir=/usr/local/mysql/datadir=/usr/local/mysql/data/mysql#启动服务service mysqld start#测试连接mysql -uroot -p //新安装默认没有密码,输入后直接回车即可#加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了export PATH=$PATH:/usr/local/mysql/bin#使文件生效source /etc/profile#启动mysqlservice mysqld start#关闭mysqlservice mysqld stop#查看运行状态service mysqld status#sql基本语句SHOW DATABASES;  //查看当前所有数据库CREATE DATABASE 数据库名;  //创建数据库USE  数据库名; //选择数据库SOURCE SQL文件路径; //导入数据GRANT ALL PRIVILEGES ON 数据库名.* TO 用户名@"%" IDENTIFIED BY '密码' WITH GRANT OPTION; //创建一个远程用户使他有某个数据库的所有权限

6.修改密码

新安装默认没有密码,输入后直接回车即可,如果想重置密码可登陆然后再修改
先执行

mysql -uroot -p

当提示输入密码时回车。
登陆成功后,
老的执行方式是:

update mysql.user set password=PASSWORD('admin') where user='root';

修改密码,让修改生效

flush privileges;

但新版本的mysql里update mysql.user set password=password(‘root’) where user=’root’时提示ERROR 1054 (42S22): Unknown column ‘password’ in ‘field list’,原来是mysql数据库下已经没有password这个字段了,password字段改成了authentication_string
所以新版本的执行命令是:

update mysql.user set authentication_string=password('admin') where user='root';

7.让外网可以访问

mysql默认是本地连接即外网是不能连接的,如果想让外网生效,如下操作:
1.进入 mysql:
/usr/local/mysql/bin/mysql -u root -p
2.使用 mysql库
use mysql;
3.查看用户表 :
SELECT Host,User FROM user;
4.更新用户表 :
UPDATE user SET Host = ‘%’ WHERE User = ‘root’ LIMIT 1;
5.强制刷新权限 :
flush privileges;
完成以上步骤即可远程连接数据库了,上边关键的一句是
UPDATE user SET ‘Host’ = ‘%’ WHERE ‘User’ = ‘root’ LIMIT 1;
其中%的意思是允许所有的ip远程访问,如果需要指定具体的某个ip就写上具体的ip即可

当然这里使用的环境是阿里云,阿里云虚拟了防火墙叫“安全组”,在安全组里将3306端口添加进安全组规则里

8.mysql忽略表名大小写敏感

让MYSQL不区分表名大小写的方法其实很简单:
  1.用ROOT登录,修改/etc/my.cnf
  2.在[mysqld]下加入一行:lower_case_table_names=1
  3.重新启动数据库即可

9.mysql数据库安装的其它问题

1.Data:Dumper

当我们执行/usr/local/mysql/scripts/mysql_install_db –user=mysql –basedir=/usr/local/mysql/时会报FATAL ERROR: please install the following Perl modules before executing /usr/local/mysql/scripts/mysql_install_db,
所以我们需要先安装Data:Dumper
执行命令:

yum-y install autoconf   //此包安装时会安装Data:Dumper模块

2.mysql无法初始化

执行”/scripts/mysql_install_db –user=mysql –datadir=/data/mysql”命令时报“Installing MySQL system tables…./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory”
因为少了依赖包libaio*
解决方法:yum install -y libaio*

3.启动MySql提示:The server quit without updating PID file(…)失败

执行启动服务命令“service mysqld start”命令时报“Starting MySQL..The server quit without updating PID file ([FAILED]al/mysql/data/mysql/izuf6hbmmjvremomylhk6kz.pid).”
解决方法:
1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限
解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新启动mysqld!
(本人就是这个方法解决的)

2.可能进程里已经存在mysql进程
解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!

3.可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。

4.mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。
解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data

5.skip-federated字段问题
解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。

6.错误日志目录不存在
解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限

7.selinux惹的祸,如果是centos系统,默认会开启selinux
解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。

会安装自然要会卸载,这里分享一个关于linux卸载mysql的文章,写的不错。已经验证过。
http://www.cnblogs.com/kerrycode/p/4364465.html

原创粉丝点击