mysql在linux下的安装
安装环境:系统是 centos6.5
1、下载
下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads
下载版本:我这里选择的5.6.33,通用版,linux下64位
也可以直接复制64位的下载地址,通过命令下载:wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
2、解压
#解压
tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
#复制解压后的mysql目录
cp -r mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql
3、添加用户组和用户
#添加用户组
groupadd mysql
#添加用户mysql 到用户组mysql
useradd -g mysql mysql
4、安装
cd /usr/local/mysql/<br>mkdir ./data/mysql
chown -R mysql:mysql ./
./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
cp 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/bin/mysql -uroot
#加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了
export PATH=$PATH:/usr/local/mysql//bin<br>source /etc/profile
#启动mysql
service mysqld start
#关闭mysql
service mysqld stop
#查看运行状态
service mysqld status
5、错误
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
6、其他
6.1 配置环境变量
vi + /etc/profile
export PATH=....:/usr/local/mysql/bin
7、报错:
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
是因为找不到这个文件
原因有两个:
1.是初始化没有产生需要重新初始化:
./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql
2.初始化后的文件名字叫的不一样了 如我的文件就叫my.sock,需要改成mysql.sock
具体步骤:
1、找到mysql.sock
使用 find / -name mysql.sock进行寻找。如果找不到,那么说明该socket可能不是这个名字。
因此,需要先找到my.cnf,输入:
find / -name my.cnf
vim /<your path to my.cnf>/my.cnf
在里面找到该sock的名字。例如笔者的就是mysqld.sock.
然后通过 find 定位,找到sock的路径。
2、软链接
把sock软链接到目标路径。以笔者的问题为例,就是:
ln -s /run/mysqld/mysqld.sock /tmp/mysql.sock
Problem Solved !
Happy Coding ~
8.执行这个语句的时候
./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql
会报一个错是:FATAL ERROR: please install the following Perl modules before executing
运行安装mysql 报错
[root@localhost mysql-mult]# ./scripts/mysql_install_db --defaults-file=conf/3306my.cnf
FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
Data::Dumper