mysql sever安装过程,只介绍编译安装方法
**********************************************************************
先到官方网站中下载源码包;
https://dev.mysql.com/downloads/mysql
选择下载源码包:
有很多针对不同系统的源码包,选择通用版:
下载完成后,放到我们服务器上;
接下来按照步骤进行解压编译安装即可;
MySQL从5.5开始,使用cmake 进行编译设置;因此,我们还要安装cmake编译工具:
shell > yum -y install cmake
#############################
bash: yum: command not found
没有安装yum命令,应该先安装yum命令。
cmake
没有安装cmake命令,也需要先安装cmake命令。
#############################
根据官方文档提示,此过程比较消耗内存,同时也一定注意,从MySQL5.7版本开始,安装MySQL需要依赖 Boost 的C++扩展,而且只能是 1.59.0 版本;
Boost 下载地址: http://www.boost.org/users/history ;选择1.59.0版本下载,在编译是填写相应参数,指定Boost源码位置即可;
我是在Windows上下载的,下载压缩包使用rz -be 命令传到linux服务器上。
shell > tar zxf boost_1_59_0.tar.gz #解压扩展
shell > mv boost_1_59_0 /usr/local/boost # 将扩展源码剪切到/usr/local下
shell > groupadd mysql
shell > useradd -r -g mysql -s /bin/false mysql # 创建不可登录用户
创建安装目录和数据存放目录,并修改权限
shell > mkdir -p /usr/local/mysql/data
shell > chown -R mysql:mysql /usr/local/mysql
shell > tar zxf mysql-5.7.17.tar.gz #解压mysql源码包
shell > cd mysql-5.7.17 #切换目录到刚解压的文件夹中
shell > cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=/usr/local/boost
cmake 参数解释:
-DCMAKE_INSTALL_PREFIX: 指定安装路径
-DMYSQL_DATADIR : 指定数据存放路径
-DMYSQL_UNIX_ADDR :指定套间字路径
-DDEFAULT_CHARSET : 设置字符集
-DDEFAULT_COLLATION : 设置字符校验集
-DWITH_BOOST : 指定Boost扩展源码路径
shell > make #此过程很漫长,请耐心等待
有可能会遇到失败,查看失败信息,网上找解决方案。
我的问题是分区的空间磁盘满了,换了个大的分区重新编译。
shell > make install
shell > chown -R mysql:mysql /usr/local/mysql # 重新修改权限
shell > cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf #复制配置文件
shell > vim /etc/my.cnf # 修改配置文件 修改内容如下
basedir = /usr/local/mysql/
datadir = /usr/local/mysql/data
socket = /tmp/mysql.sock
shell > cd /usr/local/mysql #切换至安装目录
shell > bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql # 初始化数据库
命令参数解释:
--defaults-file : 制定MySQL配置文件路径
--initialize : 初始化随机密码,注意,初始化的密码是一个过期密码,登录后需要修改密码
--user: 指定账户
上一个命令执行完之后,会在命令提示符的最后给出随机密码,
一定记住 将此密码记录下来
shell > support-files/mysql.server start #启动mysql 服务器
shell > bin/mysql -u root -p
Enter password: # 输入刚刚的随机密码链接数据库
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
至此:MySQL5.7+ 编译安装完成;
如何让第三方访问你的数据库数据?
mysql数据库远程访问设置方法
1、修改localhost
更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改成"%"
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
mysql>FLUSH PRIVILEGES;
2、指定授权
使用myuser/mypassword从任何主机连接到mysql服务器:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
使用myuser/mypassword从ip为192.168.225.166的主机连接到mysql服务器:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.225.166' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
3、泛授权
mysql -h localhost -u root
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; //赋予任何主机上以root身份访问数据的权限
mysql>FLUSH PRIVILEGES;
MySql命令行