centos7.3 安装 mysql-5.7.13
系统环境:
[root@localhost ~]# cat /etc/RedHat-release
CentOS release 6.7 (Final)
[root@localhost tools]# uname -a
Linux localhost 2.6.32-573.22.1.el6.x86_64 #1 SMP Wed Mar 23 03:35:39 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost tools]#
软件准备:
[root@localhost tools]# pwd
/opt/tools
[root@localhost tools]# ll
total 674208
-rw-r--r-- 1 root root 639864682 Jul 22 17:47 mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz
-rw-r--r-- 1 root root 50516207 May 25 12:01 mysql-5.7.13.tar.gz
[root@localhost tools]#
解压安装:
[root@localhost tools]# tar xf mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz
[root@localhost tools]# ll
total 674212
drwxr-xr-x 9 7161 wheel 4096 May 25 15:04 mysql-5.7.13-linux-glibc2.5-x86_64
-rw-r--r-- 1 root root 639864682 Jul 22 17:47 mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz
-rw-r--r-- 1 root root 50516207 May 25 12:01 mysql-5.7.13.tar.gz
[root@localhost tools]#
[root@localhost tools]# mv mysql-5.7.13-linux-glibc2.5-x86_64 /usr/local/mysql
[root@localhost tools]#
初始化操作(生成初始密码):
[root@localhost mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data
2016-07-22T09:58:15.001776Z 0 [Warning] InnoDB: New log files created, LSN=45790
2016-07-22T09:58:15.062066Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2016-07-22T09:58:15.073009Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: cebfb8a6-4ff2-11e6-8c8d-005056a01a07.
2016-07-22T09:58:15.074370Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2016-07-22T09:58:15.075736Z 1 [Note] A temporary password is generated for root@localhost: k_1ljzVh3<-,
[root@localhost mysql]#
PS: mysql5.7新特性:由上面可以看出, mysql_install_db 已经不再推荐使用了,建议改成 mysqld --initialize 完成实例初始化。
加入MySQL为系统服务:
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# chkconfig mysqld on
[root@localhost mysql]# chkconfig --list|grep mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@localhost mysql]#chmod 755 /etc/init.d/mysqld
MySQL服务启动、重启、停止
[root@localhost mysql]# serivce mysqld start
[root@localhost mysql]# serivce mysqld stop
[root@localhost mysql]# serivce mysqld restart
[root@localhost mysql]#
设置环境变量:
[root@localhost mysql]# vim /etc/profile
export PATH=/usr/local/mysql/bin:$PATH
[root@localhost mysql]#
检查MySQL是否能开启
[root@localhost mysql]# cd /usr/local/mysql
[root@localhost mysql]# cd support-files/
[root@localhost support-files]# ./mysql.server start
Starting MySQL.. SUCCESS!
若改用了, 则在启动服务时会出现如下错误:
# ./support-files/mysql.server start
./support-files/mysql.server: line 276: cd: /usr/local/mysql: No such file or directory
Starting MySQL ERROR! Couldn't find MySQL server (/usr/local/mysql/bin/mysqld_safe)
这时候我们需要修改/support-files/mysql.server文件的basedir和datadir目录路径为我们正确的mysql的basedir和datadir路径, 如下:
# vim support-files/mysql.server
--------------------------
...
basedir=/usr/local/mysql
datadir=/data/mysql/data
...
--------------------------
# ./support-files/mysql.server start
Starting MySQL.. SUCCESS!
创建配置文件
将默认生成的my.cnf备份
# mv /etc/my.cnf /etc/my.cnf.bak
[root@localhost support-files]# cp my-default.cnf /etc/my.cnf
初始化mysql用户root的密码
先将mysql服务停止
# service mysqld stop
进入mysql安装目录, 执行:
# cd /usr/local/mysql
# ./bin/mysqld_safe --skip-grant-tables --skip-networking&
[1] 6225
[root@localhost mysql]# 151110 02:46:08 mysqld_safe Logging to '/data/mysql/data/localhost.localdomain.err'.
151110 02:46:08 mysqld_safe Starting mysqld daemon with databases from /data/mysql/data
另外打开一个终端(p.s. 如果是ssh连接登录的, 另外创建一个ssh连接即可), 执行操作如下:
# mysql -u root mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.13 MySQL Community Server (GPL)
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use mysql;
Database changed
mysql> UPDATE user SET password=PASSWORD('123456') WHERE user='root';
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
mysql> update user set authentication_string = PASSWORD('123456') where user = 'root';
Query OK, 1 row affected, 1 warning (0.02 sec)
Rows matched: 1 Changed: 1 Warnings: 1
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> \s
mysql Ver 14.14 Distrib 5.7.13, for linux-glibc2.5 (x86_64) using EditLine wrapper
Connection id: 62
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.7.13-log MySQL Community Server (GPL)
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /data/AEData/mysql/data/mysql.sock
Uptime: 46 min 54 sec
Threads: 6 Questions: 6846 Slow queries: 0 Opens: 257 Flush tables: 1 Open tables: 201 Queries per second avg: 2.432
--------------
mysql>
到此, 设置完mysql用户root的密码且确保mysql编码集是utf8, 注意上面, 新版本的mysql.user表里的密码字段是authentication_string
MySQL远程授权
格式如下:
mysql> grant all [privileges] on db_name.table_name to 'username'@'host' identified by 'password';
示例如下:
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.04 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql>
或用
mysql> grant all on *.* to 'root'@'%' identified by '123456';
到此, 完成了mysql的安装 及配置!!!
附上配置文件:
[client]
loose_default-character-set = utf8
[mysqld]
basedir = /usr/local/mysql
datadir = /data/mysql/data
port = 3306
server_id = 1
socket = /data/mysql/data/mysql.sock
expire_logs_days = 7
innodb_file_per_table
innodb_buffer_pool_size = 2G
innodb_thread_concurrency = 24
innodb_flush_log_at_trx_commit = 1
innodb_log_buffer_size = 32M
innodb_log_file_size = 256M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
wait_timeout = 60
interactive_timeout = 7200
skip-name-resolve
character-set-server = utf8
back_log = 50
max_connections = 3000
max_connect_errors = 32
max_allowed_packet = 32M
binlog_cache_size = 8M
max_heap_table_size = 512M
tmp_table_size = 64M
key_buffer_size = 16M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
bulk_insert_buffer_size = 64M
sort_buffer_size = 4M
join_buffer_size = 2M
thread_cache_size = 64
thread_stack = 192K
query_cache_type = 1
query_cache_size = 256M
query_cache_limit = 2M
ft_min_word_len = 2
default_storage_engine = INNODB
#default_table_type = INNODB
transaction_isolation = REPEATABLE-READ
lower_case_table_names = 1
#log_slow_queries
slow_query_log
long_query_time = 2
log-short-format
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
[mysqldump]
quick
max_allowed_packet = 32M
routines
single-transaction
hex-blob
skip-comments
complete-insert
skip-disable-keys
skip-add-locks
skip-lock-tables
[isamchk]
key_buffer = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M
[myisamchk]
key_buffer = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M
[mysqlhotcopy]
interactive-timeout
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
上面的内容转载自:https://www.linuxidc.com/Linux/2016-07/133688.htm?hmsr=toutiao.io
安装或使用过程出现的问题
1.bin/mysqld: error while loading shared libraries: libnuma.so.1
解决方法:如果安装mysql出现了以上的报错信息.这是却少numactl
这个时候如果是Centos就yum -y install numactl
就可以解决这个问题了.
ubuntu的就sudo apt-get install numactl
就可以解决这个问题了
The server quit without updating PID file 原因安装时的设置的datadir basedir 在mysql运行时找不到对应目录
解决方法:
1).ps aux|grep mysql 或 ps aux|grep mysqld
2).kill -9 上述的mysql服务
3).vim xxx/mysql/support-files/mysql.server 修改basedir=xxx/mysql datadir=自己设置的data位置(如我设置在/data/mysql/data)
4).移动mysql.serve文件 cp mysql.server /etc/init.d/mysqld (注意/etc/init.d/中 原有的mysqld 需要移除)
5).vim /etc/my.cnf 修改basedir datadir 与 3)一样的路径 (我这里忘了修改导致出错)
6).修改datadir的权限 如mkdir /data/mysql ,mkdir data/mysql/data ,chown -R mysql:mysql /data/mysql (若没有mysql用户,通过groupadd mysql; useradd -r -g mysql mysql 添加)
7).systemctl restart mysqld
重启MySQL的时候出现Warning: Unit file of mysql.service changed on disk, ‘systemctl daemon-reload‘ recommended.
错误,根据提示,
解决方法:
systemctl daemon-reload
正常重启MariaDB
systemctl restart mysql
即可。其他服务出现类似的情况,也可以使用systemctl daemon-reload
来解决。
bash:mysql:command not found
解决方法
有以下几种错误原因:
1、如果你是使用的 rpm 的安装方式安装的,那么可能的情况就是你没有安装 client 包。
2、如果你已经安装了还是报这个错的话,那么你可以再重装一遍。(本人将client包重新安装后登录成功)
3、系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。
3.1、首先得知道mysql命令或mysqladmin命令的完整路径
比如mysql的路径是:
/usr/local/mysql/bin/mysql,我们则可以这样执行命令:
ln -s /usr/local/mysql/bin/mysql /usr/bin
3.2、取得命令执行的绝对路径:whereis
centos7.3 安装 mysql-5.7.13的更多相关文章
- CentOS7下安装MySQL并配置远程连接
一.CentOS7下安装MySQL数据库 CentOS7默认的安装包里面已经没有 MySQL-Server安装包了,远程镜像中也没有了. 默认的是MariaDB (MySQL的一个分支,开发这个分支的 ...
- CentOS7.4安装MySQL踩坑记录
CentOS7.4安装MySQL踩坑记录 time: 2018.3.19 CentOS7.4安装MySQL时网上的文档虽然多但是不靠谱的也多, 可能因为版本与时间的问题, 所以记录下自己踩坑的过程, ...
- CentOS7 中安装 MySQL
0. 说明 参考 centos7.2安装MySQL CentOS 7 下 Yum 安装 MySQL 5.7 两种方式安装 MySQL 安装 MySQL(yum) & 安装 MySQL(yum) ...
- centos7 yum 安装mysql
介绍在CentOS7上yum安装数据库服务器MySQL Community Server 5.7的方法. 准备 CentOS7默认安装了和MySQL有兼容性的MariaDB数据库,在我们安装MySQL ...
- CentOS7.5 安装MySql教程
CentOS7位安装MySql教程 1.先检查系统是否装有mysql rpm -qa | grep mysql 2.下载mysql的repo源 wget http://repo.mysql.com/m ...
- centos7中安装mysql
centos7中安装mysql网上已经很多资源了,我就不在赘述了.我这里只是记录下我安装的时候出现的一些问题. 原文:https://www.cnblogs.com/bigbrotherer/p/72 ...
- 阿里云CentOS-7.2安装mysql
我下载的阿里云的服务器系统centos7.2是纯内核版本,并没有其他的工具,所以这个系统是非常干净的.所以我就需要给系统安装一一些工具,来方便系统的管理与操作,我们上面讲到了关于服务器的yum的配置在 ...
- Centos7 上安装mysql遇上的问题:mysql无法正常启动
第一次在Centos上安装mysql遇到的一些问题. 第一步就遇到问题,安装mysql-server报错没有可用包. [解决方法] 先要安装mysql # wget http://repo.mysq ...
- CentOS7中安装MySQL(简便)及 网站的搭建
一.首先,我们需要配置CentOS7中网络环境的搭建,物理机IP为192.168.100.39,虚拟机IP为192.168.100.139,网络模式设置为桥接模式 ,再进入系统挂载光盘.输入命令 ...
- CentOS7 下安装mysql历程
一.成功他妈的经历 背景(废话不用看):自己对Linux不是很熟悉,说难听点就是门都没有么到!基于这近年大数据之类的热闹话题,自己就想学习一下!开始下的是Minimal ISO这个版本,Vbox5虚拟 ...
随机推荐
- Winform 快速开发框架,上位机开发,工控机程序开发,CS程序开发
1.当客户让你做个CS程序时,当你手上一穷二白,所有都要重复造轮,你是不是很烦. 2.但如果有一个通用的,快速开发框架,就可以把你从这些基础的工作解救出来,你专注做业务就好了. 3.本人其中一个项目的 ...
- scrapy爬取相似页面及回调爬取问题(以慕课网为例)
以爬取慕课网数据为例 慕课网的数据很简单,就是通过get方式获取的 连接地址为https://www.imooc.com/course/list?page=2 根据page参数来分页
- ADO.NET 五(DataAdapter 与 DataSet)
在执行对表中数据的查询时还能将数据保存到 DataSet 中,但需要借助 DataAdapter 类来实现. 在实际应用中,DataAdapter 与 DataSet 是在查询操作中使用最多的类. 此 ...
- lnmp环境快速搭建及原理解析
刚开始学习php的时候是在wamp环境下开发的,后来才接触到 lnmp 环境当时安装lnmp是按照一大长篇文档一步步的编译安装,当时是真不知道是在做什么啊!脑袋一片空白~~,只知道按照那么长的一篇文档 ...
- rabbitMq 学习笔记(二) 备份交换器,过期时间,死信队列,死信队列
备份交换器 备份交换器,英文名称为 Altemate Exchange,简称庙,或者更直白地称之为"备胎交换器". 生产者在发送消息的时候如果不设置 mandatory 参数, 那 ...
- JavaScript 继承 封装 多态实现及原理详解
面向对象的三大特性 封装 所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏.封装是面向对象的特征之一,是对象和类概念的主要特性. ...
- SIM7600CE http post
SIM7600CE是一款SMT封装的模块,支持 LTE-TDD/LTE-FDD/HSPA+/TD-SCDMA/EVDO和GSM/GPRS/EDGE等频段,支持LTE CAT4(下行速度为150Mbps ...
- app后端设计(php)
来源:http://blog.csdn.net/column/details/mobilebackend.html?page=1 做了3年app相关的系统架构,api设计,先后在3个创业公司中工作,经 ...
- postgressql启动与关闭
POSTGRESSQL启动和停止数据库可以通过service方式 .POSTGRESSQL的命令行工具进行启动与停止. 1.使有SERVICE方式 启动数据库服务的命令如下·: #service po ...
- Spring Boot文档
本文来自于springboot官方文档 地址:https://docs.spring.io/spring-boot/docs/current/reference/html/ Spring Boot参考 ...