【MySQL】Linux下mysql安装全过程——小白入门篇(含有问题详解)
本次安装操作在申请的腾讯云上实现(版本:CentOS Linux release 7.4.1708 (Core) )。
根据教程实现(中途各种挖坑,填坑。。。),地址:http://www.runoob.com/linux/mysql-install-setup.html
##################################华丽的分割线##################################
MySQL 安装
一、安装编译工具及库文件
yum -y install gcc gcc-c++ make autoconf libtool-ltdl-devel gd-devel freetype-devel libxml2-devel libjpeg-devel libpng-devel openssl-devel curl-devel bison patch unzip libmcrypt-devel libmhash-devel ncurses-devel sudo bzip2 flex libaio-devel
二、 安装cmake 编译器
cmake 版本:cmake-3.1.1。
1、下载地址:http://www.cmake.org/files/v3.1/cmake-3.1.1.tar.gz
$ wget http://www.cmake.org/files/v3.1/cmake-3.1.1.tar.gz
2、解压安装包
$ tar zxvf cmake-3.1.1.tar.gz
3、进入安装包目录
$ cd cmake-3.1.1
4、编译安装
$ ./bootstrap $ make && make install
三、安装 MySQL
MySQL版本:mysql-5.6.15。
1、下载地址: http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz
本人下载安装包路径:/usr/local (严重影响以后各配置路径)
$ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz
2、解压安装包
$ tar zxvf mysql-5.6.15.tar.gz
3、进入安装包目录
$ cd mysql-5.6.15
4、编译安装
$ cmake -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql/ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_INNODB_MEMCACHED=1 -DWITH_DEBUG=OFF -DWITH_ZLIB=bundled -DENABLED_LOCAL_INFILE=1 -DENABLED_PROFILING=ON -DMYSQL_MAINTAINER_MODE=OFF -DMYSQL_DATADIR=/usr/local/webserver/mysql/data -DMYSQL_TCP_PORT=3306 $ make && make install
5、查看mysql版本:
$ /usr/local/webserver/mysql/bin/mysql --version
MySQL 配置
1、创建mysql运行使用的用户mysql:
$ /usr/sbin/groupadd mysql $ /usr/sbin/useradd -g mysql mysql
2、创建binlog和库的存储路径并赋予mysql用户权限
$ mkdir -p /usr/local/webserver/mysql/binlog /www/data_mysql $ chown mysql.mysql /usr/local/webserver/mysql/binlog/ /www/data_mysql/
3、创建my.cnf配置文件
将/etc/my.cnf替换为下面内容
(建议将原文件重命名,再新创建这个名字的文件,将下面内容粘贴进去,其中datadir 是数据库存放的位置,默认/var/lib/mysql)
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
replicate-ignore-db = mysql
replicate-ignore-db = test
replicate-ignore-db = information_schema
user = mysql
port = 3306
socket = /tmp/mysql.sock
basedir = /usr/local/webserver/mysql
datadir = /www/data_mysql
log-error = /usr/local/webserver/mysql/mysql_error.log
pid-file = /usr/local/webserver/mysql/mysql.pid
open_files_limit = 65535
back_log = 600
max_connections = 5000
max_connect_errors = 1000
table_open_cache = 1024
external-locking = FALSE
max_allowed_packet = 32M
sort_buffer_size = 1M
join_buffer_size = 1M
thread_cache_size = 600
#thread_concurrency = 8
query_cache_size = 128M
query_cache_limit = 2M
query_cache_min_res_unit = 2k
default-storage-engine = MyISAM
default-tmp-storage-engine=MYISAM
thread_stack = 192K
transaction_isolation = READ-COMMITTED
tmp_table_size = 128M
max_heap_table_size = 128M
log-slave-updates
log-bin = /usr/local/webserver/mysql/binlog/binlog
binlog-do-db=oa_fb
binlog-ignore-db=mysql
binlog_cache_size = 4M
binlog_format = MIXED
max_binlog_cache_size = 8M
max_binlog_size = 1G
relay-log-index = /usr/local/webserver/mysql/relaylog/relaylog
relay-log-info-file = /usr/local/webserver/mysql/relaylog/relaylog
relay-log = /usr/local/webserver/mysql/relaylog/relaylog
expire_logs_days = 10
key_buffer_size = 256M
read_buffer_size = 1M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
myisam_recover
interactive_timeout = 120
wait_timeout = 120
skip-name-resolve
#master-connect-retry = 10
slave-skip-errors = 1032,1062,126,1114,1146,1048,1396
#master-host = 192.168.1.2
#master-user = username
#master-password = password
#master-port = 3306
server-id = 1
loose-innodb-trx=0
loose-innodb-locks=0
loose-innodb-lock-waits=0
loose-innodb-cmp=0
loose-innodb-cmp-per-index=0
loose-innodb-cmp-per-index-reset=0
loose-innodb-cmp-reset=0
loose-innodb-cmpmem=0
loose-innodb-cmpmem-reset=0
loose-innodb-buffer-page=0
loose-innodb-buffer-page-lru=0
loose-innodb-buffer-pool-stats=0
loose-innodb-metrics=0
loose-innodb-ft-default-stopword=0
loose-innodb-ft-inserted=0
loose-innodb-ft-deleted=0
loose-innodb-ft-being-deleted=0
loose-innodb-ft-config=0
loose-innodb-ft-index-cache=0
loose-innodb-ft-index-table=0
loose-innodb-sys-tables=0
loose-innodb-sys-tablestats=0
loose-innodb-sys-indexes=0
loose-innodb-sys-columns=0
loose-innodb-sys-fields=0
loose-innodb-sys-foreign=0
loose-innodb-sys-foreign-cols=0slow_query_log_file=/usr/local/webserver/mysql/mysql_slow.log
long_query_time = 1
[mysqldump]
quick
max_allowed_packet = 32M
4、初始化数据库
$/usr/local/webserver/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --user=mysql
上面语法报错FATAL ERROR: Could not find ./bin/my_print_defaults
问题原因:操作时绝对路径下找不到该文件,改成相对路径下执行
解决方法:切换到安装目录路径(/usr/local/webserver/mysql)下执行
./scripts/mysql_install_db --defaults-file=/etc/my.cnf --user=mysql
5、创建开机启动脚本
$ cd /usr/local/webserver/mysql/ $ cp support-files/mysql.server /etc/rc.d/init.d/mysqld $ chkconfig --add mysqld $ chkconfig --level 35 mysqld on
6、启动mysql服务器
$ service mysqld start
上面语法报错 The server quit without updating PID file (/usr/local/webserver/mysql/mysql.pid).
问题原因:查看路径下没有文件mysql.pid,mysql所有者是root,mysql用户没有创建权限
解决方法:将mysql文件夹下的所有者给mysql,chown -R mysql:mysql mysql
7、连接 MySQL
$ /usr/local/webserver/mysql/bin/mysql -u root -p
root用户下没有密码,或者直接su mysql 进入
客户端连接服务器
使用Navicat连接mysql时报错,主机不允许连接服务器。
1.连接MySQL
$ /usr/local/webserver/mysql/bin/mysql -u root -p
2.设置连接信息
用户:mysql使用密码:mypassword从任何主机连接到mysql服务器
GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.2.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.2.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
其他命令
- 启动:service mysqld start
- 停止:service mysqld stop
- 重启:service mysqld restart
- 重载配置:service mysqld reload
- 查看进程 ps -elf | grep mysqld
【MySQL】Linux下mysql安装全过程——小白入门篇(含有问题详解)的更多相关文章
- (转)Linux下PS1、PS2、PS3、PS4使用详解
Linux下PS1.PS2.PS3.PS4使用详解 原文:http://www.linuxidc.com/Linux/2016-10/136597.htm 1.PS1——默认提示符 如下所示,可以通过 ...
- Linux/CentOS 服务安装/卸载,开机启动chkconfig命令详解|如何让MySQL、Apache开机启动?
chkconfig chkconfig在命令行操作时会经常用到.它可以方便地设置和查询不同运行级上的系统服务.这个可要好好掌握,用熟练之后,就可以轻轻松松的管理好你的启动服务了. 注:谨记chkcon ...
- Linux下PS1、PS2、PS3、PS4使用详解
参考印象笔记:
- Linux下Qt创建共享库与链接共享库详解
随着程序写的逐渐变多,或多或少的我们都会使用别人写好的库:或者我们不想让别人看到我们的一些核心程序,可以将核心程序封装成库.本次和大家分享的是在Ubuntu下使用Qt生成共享库以及在Qt中链接共享库的 ...
- [mysql] linux 下mysql 5.7.12 安装
1.下载mysql wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.12-1.el6.x86_64.rpm-bundle.tar ...
- [Linux & Mysql] Linux下Mysql的基本操作
1. 连接Mysql 1.1 连接到本机上的Mysql 键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码 ...
- Linux下nagios网络监控与/proc/net/tcp文件详解
问题描述:nagios自带的check_antp太过简约,除了状态统计输出外,什么参数都不提供.在面对不同应用服务器时,报警就成了很大问题. 问题描述:nagios自带的check_antp太过简约, ...
- Window/Linux下Mysql的安装步骤
Windows下Mysql安装教程 首先讲一下Windows环境下安装Mysql,我使用的安装包版本是mysql-8.0.26-winx64 下载地址:MySQL下载 1.点击上面的下载地址得到zip ...
- 在Linux下的安装mysql-5.7.28 心得总结
mysql-5.7.28 在Linux下的安装教程图解 这篇文章主要介绍了mysql-5.7.28 的Linux安装,本文通过图文并茂的形式给大家介绍的非常详细,具有一定的参考借鉴价值,希望给有需要的 ...
随机推荐
- Android 开发工具类 13_ SaxService
网络 xml 解析方式 package com.example.dashu_saxxml; import java.io.IOException; import java.io.InputStream ...
- 原生js动态添加style,添加样式
原生js动态添加style,添加样式 第一种 var style="[assign-url='"+str+"']{display:initial}"; var ...
- 关系型数据库MySQL主从同步-读写分离
1.环境准备 我的数据库版本是MySQL 5.6 MySQL主机至少两个实例,可以是多实例,可以是多台主机 关闭selinux,关闭防火墙等基础优化 2.安装 yum -y install make ...
- tomcat启动(二)org.apache.catalina.startup.Bootstrap分析
/** * Bootstrap loader for Catalina. This application constructs a class loader * for use in loading ...
- 机器学习--聚类系列--DBSCAN算法
DBSCAN算法 基本概念:(Density-Based Spatial Clustering of Applications with Noise) 核心对象:若某个点的密度达到算法设定的阈值则其为 ...
- 机器学习-KNN算法
原理 KNN算法,又叫K近邻算法.就是在训练集中数据和标签已知的情况下,输入测试数据,将测试数据的特征与训练集中对应的特征进行相互比较,找到训练集中与之最为相似的前K个数据,则该测试数据对应的类别就是 ...
- Mahout实战---运行第一个推荐引擎
创建输入 创建intro.csv文件,内容如下 1,101,5.0 1,102,3.0 1,103,2.5 2,101,2.0 2,102,2.5 2,103,5.0 2,104,2.0 3,101, ...
- ruby大神与菜鸟的代码区别
之前Brand类 has_and_belongs_to_many :categories, index: true 现在在Category类 增加 has_and_belongs_to_many ...
- C语言----<另类>神奇的"Hello World!"
先上代码 #include <iostream> using namespace std; void a() { printf("Hello World!"); } v ...
- VM CentOS7 网络配置问题汇总
0. 前言 在进行配置之前,我们首先需要明确几个概念: I. VM的网络连接方式 ①. 桥接模式(Bridge) 此模式下,VM centOS 在网络中作为一台独立主机存在,它可以访问网络中的任何 ...