Mysql的安装说实话有点费劲了,目测折腾了好几天了,原先准备在6.3下面安装5.7,但是缺一些依赖,搞了半天没有搞好,索性就先安装5.6试试吧.
安装mysql耗时最长,编译的时候最容易出错了,且编译安装的时间较长,是非常的DT.
闲话不扯,进入正题.
**
一. 安装部分
**
1.mysql源码包
①.打开mysql 下载页面
②.Select Operating System: 选择 Source Code (源代码)
Select OS Version: 选择 Generic Linux (Architecture Independent) (LINUX)
如图所示:
点击Download 跳转到下图,选择不登录下载 鼠标右键 复制链接地址 (https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.44.tar.gz) 或者下载到本地电脑,然后用FTP软件上传到服务器中.FTP操作自行脑补,这里演示用命令下载tar包
③ 在服务器端建立一个文件夹,进行存放各种安装包
//递归创建文件夹(什么目录都可以)
#mkdir -p /home/softstore/
//下载Mysql 源码包
//切换到softstore目录
#cd /home/softstore
//下载mysql源码包
#wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.44.tar.gz
//tips 如果提示wget 命令不存在 可以用yum 进行安装 同理 如果tar 命令不存在 也是如此
#yum -y install wget #看情况执行哦,提示没有命令的时候才执行
#yum -y install tar #看情况执行哦,提示没有命令的时候才执行
④解压mysql源码包
//下载完毕安装包之后 切换到下载目录 (按照我的下载目录演示)
//切换目录
#cd /home/softstore/
// 解压mysql 源码包 指定到 /usr/local/src/
// 解释/usr/local/src/的作用 一般来说要将安解压后的源代码放到这个文件夹下面,没有说必须,只能说是一种惯例吧.
// -C 定向解压到某个目录,空格写要解压到的目录 例如 -C /usr/local/src
# tar -zxvf mysql-5.6.44.tar.gz -C /usr/local/src/
2.解决安装Mysql的依赖问题
安装各种依赖,我们使用yum 自动化安装来解决这些依赖
#yum -y install gcc gcc++ gcc-c++ ncurses-devel ncurses cmake bison git
3.创建用户组和用户 mysql
**//执行 mysql_install_db 创建 MySQL 授权表,以及启动 MySQL 时,都需要指定用户名。要先添加组和用户**
//创建添加组mysql
#groupadd mysql
//将mysql用户默认组设置为mysql用户组
//含义解释 useradd -g[-g:指定用户所属的起始群组] mysql[用户组] mysql[用户名] 添加用户
#useradd -g mysql mysql
4.cmake 操作
//切换到解压后的mysql源码包的文件夹
#cd /usr/local/src/mysql-5.6.44
//执行cmake操作
#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306
//简单解释cmake的一些参数
//cmake
//-DCMAKE_INSTALL_PREFIX=/usr/local/mysql #mysql 安装目录
//-DMYSQL_UNIX_ADDR=/tmp/mysql.sock #unix套接字目录 注意:虽然在tmp目录,但是绝对不能删除!!!
//-DEXTRA_CHARSETS=all #安装需要的字符集 全部
//-DDEFAULT_CHARSET=utf8 #默认字符集utf8
//-DDEFAULT_COLLATION=utf8_general_ci #默认编码 utf8_general_ci
//-DWITH_MYISAM_STORAGE_ENGINE=1 #开启myisam引擎
//-DWITH_INNOBASE_STORAGE_ENGINE=1 #开启innodb引擎
//-DWITH_MEMORY_STORAGE_ENGINE=1 #开启memory存储引擎
//-DWITH_READLINE=1 #使用readline功能
//-DENABLED_LOCAL_INFILE=1 #可以使用load data infile命令从本地导入文件
//-DMYSQL_USER=mysql #指定mysql运行用户
//-DMYSQL_TCP_PORT=3306 #指定mysql服务端口
//安装部分基本完毕,安装过程中有error 或者warring 一般就是安装有一些异常,可以参考安装过程中返回的错误进行排查问题
[有错误才执行,没错误不执行]解决好返回的问题,要执行以下操作重新安装
#rm CMakeCache.txt
5.编译和安装
//可以先make,等make 完成之后 再执行make install 或者一部到位 直接执行 make && make install 进行安装
//编译安装
#make && make install
----------------------到此 mysql安装部分就完成了--------------------------
**
二.配置部分
1.修改mysql目录权限
//切换到mysql 目录下
#cd /usr/local/mysql/
//修改用户所属为mysql 注意. 点代表当前,不cd到当前目录,可以使用绝对路径
#chown -R mysql .
//修改组权限为mysql组
#chgrp -R mysql .
2.创建数据库授权表,初始化数据库
#cd /usr/local/mysql/
//执行创建数据库权限表, 一定要加--user=mysql
#scripts/mysql_install_db --user=mysql 执行的是这个
#./scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mydata --user=mysql
3.将权限调整回来 没有操作
//修改为root权限
#chown -R root .
//修改mysql目录权限 为mysql所属
#chown -R mysql data
下图是正确的权限,可以使用ll命令查阅
4.修改etc/my.cnf文件
//修改如下图的配置地方
//新增[client] 的socket 链接
[client]
socket = /tmp/socket.sock
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
# server_id = .....
socket = /tmp/socket.sock
5.二次授权
//这个步骤一定要执行,而且一定是要修改完/etc/my.cnf文件之后再操作~
#scripts/mysql_install_db --user=mysql
6.启动mysql
//启动mysql (单次启动)
#/usr/local/mysql/bin/mysqld_safe --user=mysql &
7.让mysql开机自动启动
#vim /etc/rc.local
// 将下面的文字添加到rc.local 文件中.
#/usr/local/mysql/bin/mysqld_safe --user=mysql &
8.设定mysql密码
#/usr/local/mysql/bin/mysqladmin -uroot password
然后输入密码
9.登录mysql
//登录mysql
#/usr/local/mysql/bin/mysql -u root -p
//注意:不输入密码能登录mysql,代表没有设置密码,需要注意
//mysql简易命令行使用
mysql>show databases;
mysql>use test;
mysql>show tables;
mysql>\s #查看字符集是否改为utf8
* 进入mysql以后用set来改密码
10.设置mysql允许远程登录
//服务器端登录mysql
mysql> select Host,User from user \G;
//修改登录的用户可以被远程的任意IP访问
mysql> update user set host='%' where user='root';
//报错问题 MySQL ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' 忽略即可
//刷新权限 或者服务重启
mysql> flush privileges;
11.允许service 命令来管理mysqld服务
//允许使用service命令来管理mysql服务的状态
#cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
//这时候就可以使用 service mysqld status|stop|start|resatrt命令来管理mysql服务了
//扩展 可以添加到chkconfig来管理mysqld 的启动,如果设置了第7步,这个就忽略即可.
//增加可执行的权限
#chmod +x /etc/rc.d/init.d/mysqld
//添加mysqld 到chkconfig
#chkconfig --add mysqld
//设置自启动
#chkconfig mysqld on
12.防火墙设置
//将3306端口进行开放
#vim /etc/sysconfig/iptables
//重启防火墙
#service iptables restart
这时候mysql就安装调试完毕了,现在就可以用数据库远程管理工具,例如 Navicat 来连接,
如果用远程连接工具(Navicat)连接时报错: 2013-Lost connection to MySQL server at ‘waiting for intial communication packet’,system error:0
编辑文件:/etc/my.cnf,找到【mysqld】模块
在其下增加一行:skip-name-resolve 即可
#skip-name-resolve
安装mysql,让我真的有点心灰意冷了~~~