CentOS6.8下源码安装mysql5.6.21

CentOS6.8下源码安装MySQL5.6.21

一、环境介绍

操作系统:centos6.8_x64_86

yum163源:http://mirrors.163.com/.help/CentOS6-Base-163.repo

源码安装方式 1.mysql 安装包mysql-5.6.21.tar.gz    cmake-3.7.2.tar.gz

二、安装软件

       yum –y install gcc* bison ncurses-devel

三、创建mysql用户(但是不能使用mysql账号登陆系统)

[root@host-test-huanqiu ~]# groupadd mysql
[root@host-test-huanqiu ~]# useradd -g mysql mysql -M -s /sbin/nologin

四、安装mysql(mysql5.6需要cmake编译)

[root@localhost src]#tar zxf cmake-3.7.2.tar.gz

[root@localhost cmake-3.7.2]# ./configure && gmake && gmake install

[root@localhost src]# tar zxf mysql-5.6.21.tar.gz

[root@localhost mysql]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql  -DWITH_INNOBASE_STORAGE_ENGINE=1  -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DMYSQL_USER=mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

编译并安装

make && make install

五、配置mysql

1、修改/usr/local/mysql权限

chown -R mysql:mysql /usr/local/mysql

mkdir -pv /data/mysql

chown -R mysql:mysql /data/

2、执行初始化配置脚本

进入安装路径

 cd /usr/local/mysql

执行初始化配置脚本,创建系统自带的数据库和表

/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql   (和PID号有关)

[root@localhost mysql]# pwd
/usr/local/mysql
[root@localhost mysql]# ls
bin      data  include         lib  my.cnf      README   share      support-files
COPYING  docs  INSTALL-BINARY  man  mysql-test  scripts  sql-bench

注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是/usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!

3、添加服务,拷贝服务脚本到init.d目录,并设置开机启动

[root@localhost mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

[root@localhost mysql]# chkconfig mysqld on   #复制启动项文件
[root@localhost mysql]# chmod +x /etc/init.d/mysqld
[root@localhost mysql]# chkconfig --add mysqld

4、添加系统变量

vi /etc/profile (最下面)

export MYSQL_HOME="/usr/local/mysql"

export PATH="$PATH:$MYSQL_HOME/bin"

保存退出后,执行生效代码

source /etc/profile

六、启动mysql

1、启动mysql报错

[root@localhost mysql]# service mysqld start
Starting MySQL... ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).

解决方法:

查看mysql的log(mysql的log文件具体放在哪个地方可以看my.cnf文件,my.cnf一般在/etc/下 or 在安装MySQL的目录下)

/var/log/mysqld.log的错误信息:[ERROR]Fatalerror: Can't open and lock privilege tables: Table 'mysql.user' doesn'texist

或者/usr/local/mysql/localhost.localhost.err 里面报错都一样:

2017-03-06 21:40:28 25750[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user'doesn't exist

查看my.cnf文件时发现datadir的路径和我初始化时不一样,修改为datadir=/data/mysql

或者在启动mysql之前 vi /etc/my.cnf  or vi /usr/local/mysql/my.cnf    里面datadir=/data/mysql

2、启动mysql成功

[root@localhost mysql]# service mysqld start

Starting MySQL.. SUCCESS

查看mysql端口

[root@localhost mysql]#netstat -napt |grep mysqld

tcp          0          0 :::3306         :::*         LISTEN        25924/mysqld 

3、设置mysql密码,出错~

[root@localhost ~]# mysqladmin -uroot password 'pwd123'
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/usr/local/mysql/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/usr/local/mysql/mysql.sock' exists!
解决方法:
[root@localhost mysql]# vi /etc/my.cnf
socket=/usr/local/mysql/mysql.sock       #把原有socket改为正确的值,重启mysql(service mysqld restart)

[root@localhost ~]# mysqladmin -uroot -p password 'pwd123'

/usr/local/mysql 下自动生成mysql.sock

4、登陆mysql

[root@localhost mysql]# mysql -uroot  –p

登陆mysql成功!!

还有一种修改登陆密码,在启动mysql之后

[root@localhost mysql]# mysql -uroot -p(直接回车,不敲密码)

mysql> update mysql.user setpassword=password('pwd456') where user='root';

5、若要设置root用户可以远程访问,执行

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIEDBY 'mypassword' WITH GRANT OPTION;

使授权立即生效

FLUSH PRIVILEGES;

红色的password为远程访问时,root用户的密码,可以和本地不同。

6、配置防火墙

默认防火墙的3306端口默认没有开启,若要远程访问,需要开启这个端口

vim /etc/sysconfig/iptables

在“-A INPUT –m state --state NEW –m tcp–p –dport 22 –j ACCEPT”,下添加:

-A INPUT -m state --state NEW-m tcp -p -dport 3306 -j ACCEPT

然后保存,并关闭该文件,重启iptables

配置完毕!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值