众所周知,mysql5.7推出后有很多没有填好的坑,对于老的系统和项目兼容性也存在问题,所以现在普遍的web项目还是应该跑在centos6.8+mysql5.6的环境之下,今天主要说一下mysql5.6如何编译安装的具体步骤。
【最好按照相对应的CentOS版本和MySQL版本进行操作。遇到问题网上确实能找到解决的办法,但要根据自己的版本去参考,切勿盲从!】
1.安装mysql5.6依存包
2.下载编译包
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
tar xvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
3.复制到指定目录
mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql
4.创建mysql用户和组
groupadd mysql
useradd -r -g mysql mysql -d /usr/local/mysql
passwd mysql
5.修改目录权限
chown -R mysql:mysql /usr/local/mysql
6.安装数据库
su mysql
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
exit
7.复制mysql配置文件
cd /usr/local/mysql/support-files
cp my-default.cnf /etc/my.cnf
8.添加系统服务
cp mysql.server /etc/init.d/mysql
chkconfig mysql on
9.添加环境变量
vim /etc/profile
在最下面添加
export MYSQL_HOME="/usr/local/mysql"
export PATH="$PATH:$MYSQL_HOME/bin"
保存退出后,执行生效代码
. /etc/profile
10.启动mysql
service mysql start
11.设置root密码
mysqladmin -u root password '123456'
12.设置默认端口
vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port=3306
server_id=1
socket=/tmp/mysql.sock
13.允许所有外部链接访问(可选)
mysql -u root -p
mysql命令行输入
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;
遇错分析:
1:安装后重新启动不起来mysql数据库。
问题原因:要么添加环境变量出的错,要么设置默认端口出的错。
解决办法:按我的从(7:复制mysql配置文件)再依次执行下来就可以了。
2:mysql -u root -p 出现错误 Mysql ERROR 1045 (28000);
步骤:1.线停止mysql或者mariadb服务。
2.使用mysqld_safe来启动mysqld服务器:
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
3.再次重新登录数据库,执行如下命令:
mysql -u root mysql
4.重新设置root的密码及刷新权限。下列SQL语句中,123456为要修改的root密码,根据自己的需要进行修改即可。
UPDATE user SET PASSWORD=PASSWORD('123456') where USER='root';FLUSH PRIVILEGES;
【如果mysql输入指令无法正常退出(肯定忘写东西了)你就CTRL+C 完全退出】