admin

Centos7 MySQL5.6/5.7安装配置方式-全

admin 数据库 2018-10-28 1843浏览 0

推荐工具使用

#工具安装

# xshell xftp          SSH远程工具

# Navicat for MySQL   MySQL可视化工具


一.RPM方式安装MySQL

#Centos7 MySQL-5.6.27 安装(mysql5.7同理)
#删除系统mariadb
rpm -qa|grep mariadb|xargs rpm -e --nodeps
 #删除冲突mysql-lib库
rpm -qa|grep mysql-libs |xargs rpm -e --nodeps
#安装perl支持(可选)        
yum -y install perl-Data-Dumper perl-Data-Dumperyum   
#安装MySQL
tar -xvf MySQL-5.6.27-1.linux_glibc2.5.x86_64.rpm-bundle.tar
rpm -ivh MySQL-client-5.6.27-1.linux_glibc2.5.x86_64.rpm   
rpm -ivh MySQL-devel-5.6.27-1.linux_glibc2.5.x86_64.rpm
rpm -ivh MySQL-embedded-5.6.27-1.linux_glibc2.5.x86_64.rpm
rpm -ivh MySQL-shared-5.6.27-1.linux_glibc2.5.x86_64.rpm
rpm -ivh MySQL-shared-compat-5.6.27-1.linux_glibc2.5.x86_64.rpm
rpm -ivh MySQL-test-5.6.27-1.linux_glibc2.5.x86_64.rpm
rpm -ivh MySQL-server-5.6.27-1.linux_glibc2.5.x86_64.rpm
cp /usr/share/mysql/my-default.cnf /etc/mysql.cnf
chown -R mysql:mysql /var/lib/mysql
/usr/bin/mysql_install_db
service mysql start
chkconfig mysql on

二.YUM方式安装MySQL

下载地址:http://dev.mysql.com/downloads/repo/yum/ 
 
#删除系统mariadb
rpm -qa|grep mariadb|xargs rpm -e --nodeps
 #删除冲突mysql-lib库
rpm -qa|grep mysql-libs |xargs rpm -e --nodeps
 
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
 
rpm -ivh mysql-community-release-el7-5.noarch.rpm
 
会获得两个mysql的yum repo源:
/etc/yum.repos.d/mysql-community.repo
/etc/yum.repos.d/mysql-community-source.repo
 
#此处默认安装MySQL最新版本5.7,若想安装5.6或5.5,直接修改mysql-community.repo
文件即可,把对应版本下的安装开启:enabled=1,其他设置为enabled=0
 
#安装
yum install -y mysql-community-server
#启动
systemctl start mysqld.service     
systemctl enable mysqld.service
 
密码修改和授权设置如下

 

1、使用 mysqladmin 方式:

    打开命令提示符界面, 执行命令: mysqladmin -u root -p password 新密码

    执行后提示输入旧密码完成密码修改, 当旧密码为空时直接按回车键确认即可。


2、UPDATE user 语句(我自己用的就是这个方法)

     这种方式必须是先用root帐户登入mysql,然后执行:

  mysql> UPDATE user SET Password = PASSWORD('新密码') WHERE user = 'root';

  mysql> FLUSH PRIVILEGES;


三.MySQL二进制包安装

 

#groupadd mysql
useradd -r -g mysql -s /bin/false mysql
#tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
#mv mysql-5.7.18-linux-glibc2.5-x86_64  /usr/local/mysql#mkdir -p /usr/local/mysql/data
#chown -R mysql:mysql /usr/local/mysql

etc下新建配置文件my.cnf

[mysqld]
#设置3306端口
port = 3306 
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
#设置使用的UTF8字符集character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB 
lower_case_table_names=1
max_allowed_packet=20M

 

安装和初始化

# ./bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# cp ./support-files/mysql.server /etc/init.d/mysqld
# chmod +x /etc/init.d/mysqld
# chkconfig --add mysqld
# /etc/init.d/mysqld start
文件etc/profile/下添加export PATH=$PATH:/usr/local/mysql/bin
# source /etc/profile
登录时获得初始密码
# cat /root/.mysql_secret


 

 

四.MySQL 源码编译安装

依赖关系说明

1> cmake

MySQL使用cmake跨平台工具预编译源码,用于设置mysql的编译参数。如:安装目录、数据存放目录、字符编码、排序规则等。安装最新版本即可。

2> make3.75

mysql源代码是由C和C++语言编写,在Linux下使用make对源码进行编译和构建,要求必须安装make 3.75或以上版本

3> gcc4.4.6

GCC是Linux下的C语言编译工具,mysql源码编译完全由C和C++编写,要求必须安装GCC4.4.6或以上版本

4> Boost1.59.0

mysql源码中用到了C++的Boost库,要求必须安装boost1.59.0或以上版本

5> bison2.1

Linux下C/C++语法分析器

6> ncurses

字符终端处理库

 

#groupadd mysql

useradd -r -g mysql -s /bin/false mysql

 

安装依赖库

 yum install -y cmake,make,gcc,gcc-c++,bison, ncurses,ncurses-devel

 

进入解压完的mysql目录,编译源码并生成makefile。

(1) 如果你的系统安装了Boost-1.59库,并且设置了环境变量,那么执行:

cmake .

(2) 如果你的系统安装了boost-1.59库,那么执行:

cmake . -DWITH_BOOST=path of boost

(3) 如果你的系统没有安装boost-1.59,那么执行:

cmake . DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost

这条语句将会自动下载boost-1.59版本并安装。

(4) 如果系统提示Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH),说明cmake的这两个参数的值不对,那么你在上面的基础上加上两个参数:

-DCURSES_LIBRARY=/usr/lib/libncurses.so -DCURSES_INCLUDE_PATH=/usr/include

5. 编译:

make

6. 安装:

make install

安装完成

 

如上cmake都是默认指定,如需自定义设置,如下

#cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/boost_1_59_0 \
-DSYSCONFDIR=/etc \
-DEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all


#注释

-DCMAKE_INSTALL_PREFIX:安装路径

-DMYSQL_DATADIR:数据存放目录

-DWITH_BOOST:boost源码路径

-DSYSCONFDIR:my.cnf配置文件目录

-DEFAULT_CHARSET:数据库默认字符编码

-DDEFAULT_COLLATION:默认排序规则

-DENABLED_LOCAL_INFILE:允许从本文件导入数据

-DEXTRA_CHARSETS:安装所有字符集

 

chown -R mysql:mysql /usr/local/mysql

注意:MySQL 5.7之前的版本执行这个脚本初始化系统数据库

#./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# 5.7之后版本初始系统数据库脚本
#./bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
#chown -R root .
#chown -R mysql data
#cp support-files/my-default.cnf /etc/my.cnf  
# cp support-files/mysql.server /etc/init.d/mysqld
#chkconfig --add mysqld     
#chkconfig mysqld on

  

 

配置mysql环境变量

# vim /etc/profile

# export PATH=/usr/local/mysql/bin:$PATH

# source /etc/profile

四、其它注意事项

如果中途编译失败了,需要删除cmake生成的预编译配置参数的缓存文件和make编译后生成的文件,再重新编译。

#cd ../mysql-server

# rm -f CMakeCache.txt

# make clean


五.MySQL常见操作

#Setting MySQL password

mysqladmin -u root password yangyifan         #密码为空时

mysqladmin -u root -p password newpassword    #已有密码,回车输入旧密码

 

 

#To grant authorization

mysql> grant all on *.* to 'root'@'%' identified by 'password';

#Example db.*   *.*  '192.168.1.%'  

#create db

mysql> create database dbname DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

 

查看实例中所有数据库的字符集


select schema_name,default_character_set_name from information_schema.schemata;



#操作示例

#dump db

mysqldump -uroot -p"dbpwd" -R --default-character-set=utf8 db > db.sql

 

#import db

mysql -u root -p db < db.sql

 

 

#常用设置

[mysqld]

lower_case_table_names=1            #忽略大小写

max_connections=2000                #最大连接数

default-character-set=utf8           #utf8编码

default-time-zone='+8:00'            #设置时区

default-storage-engine=INNODB        #创建新表时将使用的默认存储引擎

max_allowed_packet=20M               #Server接受的数据包大小

 

其他设置可根据内存情况酌情修改(pool buffer等信息)

 



版权声明

本站《作品展示》类文章均为原创,转载必须注明出处,技术分享类文章部分来源于网络,版权归原作者所有,若侵权请留言。