CentOS7.2编译安装Mysql
来源:互联网 发布:商标域名注册 编辑:程序博客网 时间:2024/06/03 16:58
环境
1.CentOS7.22.MySql3.登录用户:root
安装说明
文章采用CentOS7.2系统安装MySQL5.7,采用cMark编译安装MySQL的方式。文章采用VM11虚拟机安装和真机操控方式。
安装过程
清除系统Mysql,Mariadb
首先卸载由RPM包安装的MySQL。系统自带的MySQL本质也是由RPM包安装的。
查询系统相关的Mysql程序
[root@localhost ~]#rpm -qa | grep mysql
卸载MySQL相关程序:
[root@localhost ~]#rpm -e 包名 或 rpm -e --nodeps 包名如:rpm -e mysql-5.7*[这里使用了模糊匹配,这个也是使用上面的语句查出来的] 或 rpm -e --nodeps mysql-5.7*[这里使用了模糊匹配,这个也是使用上面的语句查出来的]注意:后者可以忽略依赖关系
查询出已经安装的mariadb数据库进行卸载
[root@localhost ~]# rpm -qa|grep mariadb // 查询出来已安装的mariadb [root@localhost ~]# rpm -e --nodeps 文件名 // 卸载mariadb,文件名为上述命令查询出来的文件
删除老版本的MySQL的开发头文件和库(若没有使用RPM版本的MySQL,则该步骤不会使用到)
[root@localhost ~]#rm -fr /usr/lib/mysql[root@localhost ~]#rm -fr /usr/include/mysql
注意:卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除
[root@localhost ~]#rm -f /etc/my.cnf[root@localhost ~]#rm -fr /var/lib/mysql
创建编译环境
配置编译环境
MySQL5.5及以上版本都开始用cmake方式进行配置编译。(MySQL5.0,5.1 均使用configure进行配置。)所以需要先安装好cmake
方法一:
yum -y install make gcc-c++ cmake bison-devel ncurses-devel
方法二:
linux下源码安装cmake请移步
下载Mysql的源码并解压
[root@localhost src]# tar -zxf mysql-5.6.23.tar.gz[root@localhost src]# cd mysql-5.6.23
创建一些准备环境
新增mysql用户组
[root@localhost src]#groupadd mysql
新增mysql用户
[root@localhost src]#useradd -r -g mysql mysql
新建mysql安装目录
[root@localhost src]#mkdir -p /usr/local/mysql
新建mysql数据库数据文件目录
[root@localhost src]#mkdir -p /usr/local/mysql/data
编译安装
CMake执行脚本为:
/usr/local/bin/cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_ARCHIVE_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_MEMORY_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DENABLED_LOCAL_INFILE=1 \-DMYSQL_DATADIR=/usr/local/mysql/data \-DMYSQL_USER=mysql \-DMYSQL_TCP_PORT=3306 \-DENABLE_DOWNLOADS=1
注意:运行以上问题的时候可能出现的问题:
1:-bash: /usr/bin/cmake: No such file or directory
编译 & 安装
makemake install
修改mysql目录所有者和组
cd /usr/local/mysqlchown -R mysql:mysql .
修改mysql数据库文件目录
[网上有的吧这个数据库数据目录放到/data/datadb中,我是直接在mysql中创建data,放到这里面了]
cd /usr/local/mysql/datachown -R mysql:mysql .说明:chown 最后跟文件名。此处使用".",表示当前目录。
启动MySQL
初始化mysql数据库
cd /usr/local/mysqlscripts/mysql_install_db --user=mysql --datadir=/data/mysqldb说明:实际操作中可以看出,mysql_install_db命令的作用是生成MySQL系统表。并且最后在mysql目录下生成一个my.cnf文件。--user=mysql 作用是指定运行mysqld进程的用户名。设置这个用户以后,所有通过mysqld进程创建的文件(如日志等)都会属于这个用户。
mysql配置文件
配置MySQL
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf 注:如果/etc/my.cnf文件存在,则覆盖。关于MySQL配置文件存在多个访问位置。MySQL会以此访问,后访问到的配置会覆盖先前的配置。MySQL访问配置文件的访问路径与访问顺序如下:[root@pkklinux mysql]# /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/my.cnf
配置MySQL
[client] #password = your_password port = 3306 socket = /data/mysql/mysql.sock default-character-set=utf8 # Here follows entries for some specific programs# The MySQL server [mysqld] port = 3306 character_set_server=utf8 basedir=/data/mysql datadir=/data/mysql/data socket = /data/mysql/mysql.sock skip-external-locking key_buffer_size = 16M max_allowed_packet = 1M table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M
将MySQL执行命令添加入PATH
vim /etc/profile
在文件的末尾添加内容:
PATH=$PATH:/usr/local/mysql/binexport PATH
保持退出后,执行以下重新加载配置文件:
source /etc/profile
将MySQL设置为系统服务并启动服务
cp support-files/mysql.server /etc/init.d/mysqld
即,MySQL可以以如下形式启动:
service mysqld start
如果报错 “Starting MySQL. ERROR! The server quit without updating PID file (/data/mysql/rhelubuntu.com.pid). ” 则修改
vim /etc/init.d/mysqld修改basedir=/usr/local/mysql -----mysql安装位置修改datadir=/var/data/mysqldata -----mysql数据文件存放位置
检查MySQL是否已经启动:
netstat -tulnp | grep 3306
配置用户
使用MySQL客户端连接MySQL服务器
mysql -u root -p初始密码为空,如果能登陆上,则安装成功。
设置mysql管理员密码
mysqladmin -u root password "123456";
设置mysql 远程登录
grant all on *.* to root@'%';flush privileges;
配置防火墙
防火墙的3306端口默认没有开启,若要远程访问,需要开启这个端口打开/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然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:service iptables restart
CentOS 7中默认使用Firewalld做防火墙,所以修改iptables后,在重启系统后,根本不管用。
Firewalld中添加端口方法如下:
firewall-cmd --zone=public --add-port=3306/tcp --permanentfirewall-cmd --reload
- CentOS7.2编译安装Mysql
- centos7编译安装mysql
- centos7 编译安装mysql
- centos7编译安装mysql之2
- centos7下编译安装mysql
- CentOS7.2下cMark编译安装mysql报错解决方案
- centos7.2安装mysql
- CentOS7.2安装MySQL
- Centos7.2 mysql安装
- Centos7使用编译源码方式安装mysql
- mysql 5.7 centos7 编译安装 记录
- CentOS7上编译安装MySQL 5.7.14
- centos7 下php+mysql+php7编译安装
- CentOS7编译安装MySQL 5.7.20
- centos7.2 编译安装lnmp
- CentOS7.2编译安装LNMP
- CentOS7.2编译安装LNMP
- centos7 编译安装tensorflow1.2
- SpringMVC+JSP:将ModelMap/Model中的数据填充到填充到jsp
- mysql ifnull函数的使用
- 热修复——简单原理与简单实现
- 狗屎一样的React(第五节,React组件的生命周期)
- ThinkPHP导出Excel
- CentOS7.2编译安装Mysql
- Wala使用心得
- Robot Framework-失败用例自动重跑
- 分答项目_技能点_require加载模块
- NEUQACM OJ 1015:同因查找
- 判断两条线段是否相交
- RN中的键盘遮挡问题解决
- 原生js写淡入淡出轮播(点击按钮)
- java使用异常